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.infer<typeof TweetSchema>const gpTypedOpenAiClient = new OpenAiClientBuilder("YOUR_OPEN_AI_SECRET_KEY")。 gpTypedOpenAiClient,TweetSchema,{ tweet: "關於該主題的推文。最多 140 個字元。", Tags: "3 hashtags about the tweet.",}).build()// 使用輸入物件向 OpenAI API 發出請求。回應的類型為 safe.const result =等待提示符號ForObject.send<Tweet>({ 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 許可證發布的開源軟體。請按照許可條款隨意使用、修改和分發它。