GPTyped
GPTyped 1.0.5
欢迎来到 GPTyped! ?一个小而强大的 NPM 包,可让您以类型安全的方式与 OpenAI 的 GPT 语言模型进行交互。借助 GPTyped,您可以发送对象作为提示,并轻松接收来自 LLM AI 的结构化响应,无论您是在 Web 上还是在服务器上运行它。
发送 TypeScript 对象作为提示并接收 TypeScript 对象作为响应。
?使用拦截器完全可定制,可以随时更改请求或响应。
?预装 OpenAI 客户端,可轻松与 GPT 集成。
使用 Zod 验证返回的对象架构。
支持常见的提示模式,例如内存和元提示。
您可以使用 NPM 或 Yarn 安装 GPTyped:
npm 安装 gptyped zod
或者
纱线添加 gptyped zod
准备好开始了吗? 在此处查看完整文档?
使用 GPTyped 很简单。以下是如何发送对象作为提示并接收类型安全对象响应的示例:
import { OpenAiClientBuilder, PrompterForObjectBuilder } from "gptyped"import { z } from "zod"// 描述 AI 响应类型的 Zod 架构export const TweetSchema = z.object({ 推文:z.string().min(1), 标签: z.array(z.string()).min(3),})type Tweet = z.inferconst gpTypedOpenAiClient = new OpenAiClientBuilder("YOUR_OPEN_AI_SECRET_KEY").build()const prompterForObject = new PrompterForObjectBuilder( gpTypedOpenAiClient,TweetSchema,{ tweet: "关于该主题的推文。最多 140 个字符。", Tags: "3 hashtags about the tweet.",}).build()// 使用输入对象向 OpenAI API 发出请求。响应的类型为 safe.const result =等待提示符ForObject.send ({ topic: "为什么春天是最好的季节?",})// 访问 Tweet 类型安全 responseconsole.log(result.tweet) // "春天是最好的季节,因为鲜花和自然。"console.log(result .tags) // ["#spring", "#flowers", "#nature"]
LLM 的回答不是确定性的。这意味着完全相同的提示可能会导致人工智能产生不同的响应。考虑到这一点,不可能保证响应是否是有效的数据结构。 GPTyped 将根据您使用 Zod 提供的架构验证响应,并在有效时返回响应。如果响应无效,GPTyped 将抛出错误。
建议每当遇到类型错误时至少重试请求几次,因为通常后续请求将返回有效的响应。借助OpenAI的GPT,您还可以尝试降低AI的温度参数,使其更具可预测性。
欢迎贡献!请随意提出问题或拉取错误修复、功能请求或改进的请求。请查看一些您可以参与的计划改进:
自动重试失败的请求
其他流行的 LLM API 的客户端
支持 Markdown 请求/响应
支持 CSV 请求/响应
支持其他流行的数据格式
GPTyped 是根据 MIT 许可证发布的开源软件。请按照许可条款随意使用、修改和分发它。