@ bial/ langchain - ts
吸引提示的 CLI 工具 兰斯密斯枢纽 并生成 TypeScript 类型和可选 JSON 导出供离线使用.
特征
- 类型生成 -- 从快速输入/输出中生成 TypeScript 接口、 enums 和 Zod 计划
- 快速导出 -- 将全部快速内容序列化到 JSON 文件, 这样您就可以不拨打就将其卸载
pull()运行时间 - 过滤 - 窄结果到特定提示的名称,或覆盖 Hub 标记
- 可编译旗帜 -- 使用
--file财务报告和审定财务报表--export-dir独立或一起运行
安装
安装软件包 :
pnpm i @beparallel/langchain-ts
配置
添加以下环境变量(例如: .env 文件名 :
| 变量 | 需求 | 说明 |
|---|---|---|
LANGCHAIN_API_KEY | 对 | 您的 LangSmith API 密钥 |
LANGCHAIN_TAG | 对 | 要拉起的Hub标签(例如:. latest, (中文(简体) ), staging(中文(简体) ) |
LANGCHAIN_API_KEY=your_api_key
LANGCHAIN_TAG=your_tag
使用量
至少其中一个 --file 或者说 --export-dir 需要时间.
CLI 旗帜
| 旗帜 | 说明 |
|---|---|
--file=PATH | 生成类型脚本文件的输出路径 |
--export-dir=DIR | 按时速写入 JSON 文件的目录 |
--name=NAME | 按名称过滤提示( 部分匹配) |
--tag=TAG | 覆盖 LANGCHAIN_TAG 环境变量 |
实例
# Generate types only
npx langchain-types --file=./prompt.types.ts
# Export prompts as JSON only
npx langchain-types --export-dir=./prompts/
# Both at once
npx langchain-types --file=./prompt.types.ts --export-dir=./prompts/
# Filter to a single prompt
npx langchain-types --file=./prompt.types.ts --name=my-prompt
package.json 脚本
一个典型的设置 dotenv-cli (英语) 以装入 env vars :
{
"scripts": {
"prompt:generate": "dotenv -f .env run -- npx langchain-types --file=./types/prompts.ts",
"prompt:export": "dotenv -f .env run -- npx langchain-types --export-dir=./prompts/",
"prompt:all": "dotenv -f .env run -- npx langchain-types --file=./types/prompts.ts --export-dir=./prompts/"
}
}
如何快速导出
这个 --export-dir 旗叫兰彩 toJSON() 每个 ChatPromptTemplate 然后将结果写到 <dir>/<tag>/<prompt-name>.json,由标签组织。 例如,与 --export-dir=./prompts/ --tag=staging数字 :
prompts/
staging/
my-prompt.json
another-prompt.json
这些文件包含完整的序列化表示(消息模板,输入变量,输出计划)并可以被加载到LangChain's load() 解区域化——不需要向枢纽呼叫网络.
程序化 API
软件包还导出用于您自己的脚本的函数 :
import { extractPrompts, generateTypes, exportPrompts } from '@beparallel/langchain-ts'
const prompts = await extractPrompts({
langchainApiKey: process.env.LANGCHAIN_API_KEY!,
langchainTag: 'latest',
})
generateTypes(prompts, './prompt.types.ts')
exportPrompts(prompts, './prompts/', 'latest')
捐款
设置
pnpm i
环境
export LANGCHAIN_API_KEY=your_api_key
export LANGCHAIN_TAG=your_tag
本地运行
pnpm prompt:generate
测试
pnpm test
释放
通过GitHub Actions自动发布. 当a v* tag被推出,工作流程运行测试,构建,发布到npm,并创建一个带有自动生成的注释的GitHub发布.
# Bump version (patch, minor, or major) -- this updates package.json and creates a git tag
npm version patch # 1.1.0 -> 1.1.1
npm version minor # 1.1.0 -> 1.2.0
npm version major # 1.1.0 -> 2.0.0
# Push the commit and tag to trigger the publish workflow
git push --follow-tags
先决条件:回购需要 NPM_TOKEN 配置于 GitHub 密件( 设置 > 密件和变量 > 动作) .
更改日志
1.1.0 国家
- 添加
--export-dir将提示序列化为 JSON 文件的 CLI 旗帜, 供下线使用 - 制作
--file可选( 至少其中之一)--file或者说--export-dir(现在需要) - 添加
exportPrompts()向方案 API - 在 CLI 输入点清除已死代码
1.0.0 (单位:千美元)
- 升级到 LangChain v1 ()
@langchain/core^1.x, (英语),langchain^1.x) (中文(简体) )
0.3.0 (中文(简体) )
- 将依赖升级到最新版本
- 重构解析器模块以使用命名导入
pull从langchain/hub
6.2.8 国家
- 添加
--name按名称过滤提示的旗帜( 部分匹配) - 添加
--tag上方的旗帜LANGCHAIN_TAG从命令行
0.2.0 (中文(简体) )
- 添加 ESLint、 Jest 和 Pretier 配置
- 引入大小写转换的功能
- 添加剖析器和类型生成模块的单元测试
0.1.0 (中文(简体) )
- 初步释放
- 用于提取 LangSmith 枢纽提示并生成 TypeScript 类型的 CLI
- Enum, 接口, 和 Zod 的 schema 生成来自 leader JSON schemas
许可证
这个项目根据麻省理工学院的许可证获得许可。 见 自由主义 详细文件.