Instructor-JS 开源项目教程

Instructor-JS 开源项目教程

instructor-jsstructured extraction for llms项目地址:https://gitcode.com/gh_mirrors/in/instructor-js

项目介绍

Instructor-JS 是一个基于 TypeScript 的结构化提取工具,专为大型语言模型(LLMs)设计。它通过 OpenAI 的函数调用 API 和 Zod 进行 TypeScript 优先的 schema 验证,实现了静态类型推断。Instructor-JS 以其简单性、透明度和用户中心设计而著称,无论是经验丰富的开发者还是初学者,都能找到其直观且可控的使用方式。

项目快速启动

安装

你可以使用以下命令安装 Instructor-JS:

bun add @instructor-ai/instructor zod openai
# 或者
npm i @instructor-ai/instructor zod openai
# 或者
pnpm add @instructor-ai/instructor zod openai

基本使用

以下是一个简单的示例,展示如何使用 Instructor-JS 进行数据提取:

import { createInstructor } from '@instructor-ai/instructor';
import { z } from 'zod';

// 定义一个用户 schema
const UserSchema = z.object({
  name: z.string(),
  age: z.number(),
});

// 创建 Instructor 实例
const instructor = createInstructor({
  client: new OpenAI(),
  mode: 'function',
  debug: true,
});

// 使用 Instructor 进行数据提取
async function extractUser(input: string) {
  const response = await instructor.chat.completions.create({
    model: 'claude-3-opus-20240229',
    messages: [{ role: 'user', content: input }],
    response_model: UserSchema,
  });
  console.log(response);
}

// 调用函数
extractUser('用户输入内容');

应用案例和最佳实践

案例一:用户信息提取

假设你需要从一个文本输入中提取用户信息,可以使用 Instructor-JS 进行结构化提取。例如,从一段文本中提取用户的姓名和年龄:

const input = '我的名字是张三,今年25岁。';
extractUser(input);

最佳实践

  1. 定义清晰的 Schema:确保你的 Zod schema 定义清晰且完整,以便准确提取所需信息。
  2. 调试模式:在开发阶段启用调试模式,以便更好地理解数据流和错误信息。
  3. 错误处理:在实际应用中,确保对可能的错误进行处理,以提高系统的健壮性。

典型生态项目

Zod

Zod 是一个 TypeScript 优先的 schema 验证库,广泛用于数据验证。Instructor-JS 利用 Zod 进行 schema 定义和验证,确保提取的数据符合预期格式。

OpenAI SDK

Instructor-JS 遵循 OpenAI 的 API 规范,这意味着你可以使用相同的 API 进行提示和提取,支持多个提供商。这使得 Instructor-JS 能够与 OpenAI 及其他支持 OpenAI API 的提供商无缝集成。

通过这些生态项目的支持,Instructor-JS 提供了强大的结构化提取和验证功能,适用于各种复杂的应用场景。

instructor-jsstructured extraction for llms项目地址:https://gitcode.com/gh_mirrors/in/instructor-js

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胡唯隽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值