概述
GenAIScript 是命名为 *.genai.mjs
的 JavaScript 文件,或命名为 *.genai.mts
的 TypeScript 文件,它们内置了一个通过LLM提示设计的提示生成引擎。
script({ title: "Shorten", // displayed in UI and Copilot Chat // also displayed but grayed out: description: "A prompt that shrinks the size of text without losing meaning",})
// but the variable is appropriately delimitedconst file = def("FILE", env.files)
// this appends text to the prompt$`Shorten ${file}. Limit changes to minimum.`
脚本文件
- GenAIScript将检测工作区中任何匹配
*.genai.mjs
、*.genai.js
、*.genai.mts
的文件。 - GenAIScript文件可以放在工作区的任何位置;
但默认情况下,扩展程序会将它们放置在
genaisrc
文件夹中。 .genai.mjs
使用模块化JavaScript语法并支持imports。.genai.js
文件会被执行但不支持导入。.genai.mts
是 TypeScript 模块文件,支持 imports,包括对其他 TypeScript 文件的动态导入。
Directory/genaisrc
- jsconfig.json // TypeScript编译器配置
- genaiscript.d.ts // TypeScript类型定义
- myscript.genai.mjs // 你的脚本!
- …
system.*.genai.mjs
被视为系统提示模板,默认情况下不显示在列表中。
主题
ast-grep 在脚本的抽象语法树中搜索模式
Cancel 了解如何在自动化脚本中使用cancel函数立即停止脚本执行。
元数据 了解如何配置脚本元数据以增强GenAIScript的功能和用户体验。
提示词 ($) 了解如何在GenAI脚本中使用标记模板字面量进行动态提示生成。
上下文(环境+定义) 关于GenAIScript脚本执行上下文和环境变量的详细文档。
变量 了解如何利用和自定义脚本变量,通过env.vars实现动态脚本功能。
文件输出 了解如何使用defFileOutput函数声明和管理脚本生成的文件输出。
工具 了解如何在GenAIScript中定义和使用工具,通过自定义逻辑和CLI工具增强答案组装能力。
模型上下文协议服务器 将脚本转换为模型上下文协议工具
数据模式 了解如何定义和使用数据模式,通过LLM实现JSON/YAML的结构化输出,包括验证和修复技术。
Agents Agent是一种通过查询LLM并配备其他工具来完成任务的工具。
DOCX 了解如何解析和从DOCX文件中提取文本,用于文本分析和处理。
PDF 了解如何使用GenAIScript的PDF解析功能从PDF文件中提取文本以生成提示。
XML 了解GenAIScript如何自动解析XML文件并将其转换为JSON对象,以便更轻松地处理和操作。
Markdown 通过MD类辅助工具增强您的markdown能力,高效解析和管理frontmatter。
Images 了解如何为支持视觉输入的AI模型添加图像提示,包括图像格式和使用方法。
内联提示 了解如何在脚本中使用runPrompt函数进行内部LLM调用的内联提示。
检索 学习如何使用GenAIScript的检索工具进行内容搜索,并通过RAG技术增强提示。
系统提示 了解如何利用系统提示来增强GenAIScript中的脚本执行。
向量搜索 了解如何使用retrieval.vectorSearch函数为文件建立嵌入索引,以便在向量数据库中进行高效的相似性搜索。
视频作为输入 如何在脚本中使用视频
注释 了解如何添加错误、警告或说明等注释到LLM输出中,以便与VSCode或CI环境集成。
文件合并 使用defFileMerge函数自定义脚本中的文件合并,以处理不同的文件格式和合并策略。
测试/评估 了解如何使用promptfoo执行和评估LLM输出质量,这是一个专为测试语言模型输出而设计的工具。
自定义输出 了解如何在脚本生成中使用defOutputProcessor函数进行自定义文件处理。
解析器 关于各种数据格式解析器的综合指南,包括JSON5、YAML、TOML、CSV、PDF、DOCX以及LLM的token估算。
结构化输出 利用GenAIScript中的结构化输出功能,通过模式验证生成JSON数据,实现精确可靠的数据结构化。
文件 了解如何在脚本中使用workspace对象执行文件系统操作。
Fetch 了解如何在脚本中使用fetch和fetchText进行HTTP请求并处理文本响应。
缓存 了解LLM请求如何在脚本中被缓存以优化性能,以及如何管理缓存设置。
输出构建器 学习如何为您的脚本执行构建markdown输出
TypeScript 了解如何在您的GenAIScript项目中使用TypeScript以获得更好的工具支持和可扩展性。
Web Search 在脚本中使用retrieval.webSearch通过Bing API执行网页搜索。
Secrets 了解如何通过env.secrets对象在脚本中安全访问和管理环境密钥。
YAML 学习如何使用YAML进行数据序列化、配置和LLM解析,包括defData、YAML类和JSON模式验证。
CSV 了解如何在脚本中使用CSV类来解析和序列化CSV数据。
INI 学习如何使用GenAIScript中的INI类来解析和序列化INI文件,包括方法和使用示例。
XLSX 了解如何使用我们的工具轻松解析和序列化Excel XLSX文件。
HTML 学习如何在GenAIScript中使用HTML解析功能,以实现高效的内容操作和数据提取。
选项 为脚本指定首选令牌选项列表。
容器 了解如何在软件开发中使用Docker容器安全隔离地执行不受信任的代码。
图表 使用GenAIScript和mermaid扩展在markdown中创建图表,用于数据和流程的可视化呈现。
Imports 了解如何通过将GenAI脚本转换为.mjs格式并使用静态或动态导入来启用模块导入功能。
日志 脚本的日志记录机制。
浏览器自动化 了解GenAIScript如何与Playwright集成,用于网页抓取和浏览器自动化任务。
音频转录 描述如何转录音频/视频文件
图像生成 使用类似OpenAI DALL-E Stable Diffusion的图像生成技术,从文本生成图像。
聊天参与者 创建多轮对话或模拟与多个聊天参与者的对话
并发 如何同时运行多个提示
GitHub 支持查询GitHub
导入模板 了解如何使用`importTemplate`将提示模板导入GenAIScript,支持mustache变量插值和文件通配符。
LogProbs 了解如何使用logprobs来诊断脚本的性能
参数模式 参数模式用于定义脚本和工具的方法签名。
Git 用于仓库操作的Git实用工具
Prompty 了解.prompty文件格式,用于参数化提示及其与GenAIScript在AI脚本编写中的集成。
模型别名 为模型设置友好名称
Pyodide 使用Pyodide在JavaScript环境中运行Python代码。
Tokenizers 分词器用于将文本分割成标记。
Cast 使用cast辅助工具将文本转换为结构化数据
分类 使用分类助手来完成您的分类任务
Runtime GenAIScript运行时文件
Microsoft Teams 了解如何在您的脚本中使用Microsoft Teams集成功能。
用户输入 如何在脚本中获取用户输入
Fence Formats 探索GenAIScript支持的各种围栏格式,以实现最优的LLM输入文本格式化。
Notebook 探索Markdown Notebook的功能,用于编写包含脚本片段和内联结果的文档。
推理模型 关于OpenAI推理模型的具体信息。
响应引导 学习如何在脚本中使用writeText函数,通过特定语法或格式来引导LLM的响应。