跳至内容

汇总多个文档

假设我有一个包含多个.pdf(或其他类型)文件的目录,我想对所有文件运行GenAIScript。 在这个例子中,我正在为每个文档生成一条吸引人的推文,并希望将推文保存在另一个文件中。

开发

  1. 使用命令面板中的> GenAIScript: Create new script...命令来创建新脚本。

  2. 这是一个简单的脚本。假设脚本将文件作为参数,您可以在env.files中引用该参数,并告诉LLM如何处理它:

    gen-tweet.genai.mjs
    script({ title: "gen-tweet" })
    def("FILE", env.files)
    $`Given the paper in FILE, write a 140 character summary of the paper
    that makes the paper sound exciting and encourages readers to look at it.`
  3. 在VS Code资源管理器中右键点击文档(可以是.pdf.docx.md文件,因为def知道如何读取和解析所有这些文件类型)。选择运行GenAIScript,然后选择你刚写的gen-tweet脚本。

  4. 假设我们给GenAIScript提供一篇描述GenAIScript的论文,输出将显示在新的文档标签页中。

    探索GenAIScript:一种革命性的脚本语言,集成AI来自动化复杂任务,让编程对所有人触手可及!#AI #编程未来

    因为我们没有告诉大语言模型将输出写入文件,默认情况下它会输出到标准输出。

自动化

  1. 我们可以从命令行运行脚本:

    终端窗口
    npx genaiscript run gen-tweet example1.pdf
  2. 输出将显示在终端中。

  3. 既然我们已经让脚本能够处理单个文件,现在就可以使用命令行将其应用到文件列表。假设您从ex1.pdf文件开始,希望将输出保存到新文件ex1.tweet.md中。具体操作方式取决于您偏好的shell脚本。

    for file in *.pdf; do
    newfile="${file%.pdf}.tweet.md"; # foo.pdf -> foo.tweet.md
    if [ ! -f "$newfile" ]; then # skip if already exists
    npx genaiscript run gen-tweet $file > $newfile
    fi
    done