首页
/ LangChainJS 0.3.21版本发布:工具定义与OpenAI优化

LangChainJS 0.3.21版本发布:工具定义与OpenAI优化

2025-06-02 20:40:49作者:邓越浪Henry

LangChainJS是一个用于构建基于语言模型应用的JavaScript库,它提供了与各种语言模型交互的标准化接口,并支持链式调用、记忆管理等功能。该项目让开发者能够更轻松地构建复杂的AI应用,如聊天机器人、问答系统等。

核心功能更新

工具定义方式的扩展

本次版本最显著的改进是新增了对JSONSchema定义LangChain风格工具的支持。这意味着开发者现在可以通过两种方式定义工具:

  1. 传统的函数式定义
  2. 使用JSONSchema规范

JSONSchema是一种广泛使用的JSON数据格式描述标准,采用这种方式定义工具可以带来以下优势:

  • 更好的类型安全性
  • 更清晰的接口文档
  • 与其他系统的更好兼容性

例如,现在可以这样定义一个天气查询工具:

const weatherTool = {
  name: "get_weather",
  description: "获取指定城市的天气信息",
  parameters: {
    type: "object",
    properties: {
      location: {
        type: "string",
        description: "城市名称"
      },
      unit: {
        type: "string",
        enum: ["celsius", "fahrenheit"],
        default: "celsius"
      }
    },
    required: ["location"]
  }
};

这种定义方式特别适合在需要严格类型检查或与外部系统集成的场景中使用。

OpenAI相关优化

本次版本对OpenAI集成进行了多项重要改进:

  1. 流式处理修复:确保只有在实际需要流式响应时才发送stream: true参数,避免了不必要的资源消耗。

  2. 消息类型处理增强:完善了对系统消息和开发者消息的处理逻辑,使得与OpenAI API的交互更加稳定可靠。

  3. 版本更新:OpenAI相关包已更新至0.5.5版本,包含了上述改进和其他稳定性提升。

文档与示例改进

开发团队对文档进行了多处优化:

  1. 修正了SQL问答提示的文档,使其与实际实现保持一致
  2. 扩展了LLM部分的描述,提供了更详细的使用说明
  3. 修复了多处拼写错误和表述不清晰的地方

这些改进使得新手开发者能够更快速地上手LangChainJS,减少了学习曲线。

其他更新

  1. 依赖包更新:多个核心依赖包如@langchain/core、@langchain/anthropic等都有相应版本更新,建议开发者一并更新以获得最佳兼容性。

  2. CI/CD改进:移除了不再使用的调试action,优化了构建流程。

升级建议

对于正在使用LangChainJS的开发者,建议尽快升级到0.3.21版本,特别是:

  • 需要严格类型定义工具的场景
  • 使用OpenAI集成的项目
  • 依赖SQL问答功能的应用程序

升级方式简单,只需更新package.json中的版本号并重新安装依赖即可。新版本保持了良好的向后兼容性,大多数现有代码无需修改即可正常工作。

LangChainJS持续演进,为JavaScript开发者提供了构建AI应用的强大工具集。这次更新进一步丰富了其功能集,特别是在工具定义和OpenAI集成方面的改进,将显著提升开发体验和应用稳定性。

登录后查看全文
热门项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
22
6
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
166
2.05 K
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
8
0
openHiTLS-examplesopenHiTLS-examples
本仓将为广大高校开发者提供开源实践和创新开发平台,收集和展示openHiTLS示例代码及创新应用,欢迎大家投稿,让全世界看到您的精巧密码实现设计,也让更多人通过您的优秀成果,理解、喜爱上密码技术。
C
85
563
leetcodeleetcode
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
60
17
apintoapinto
基于golang开发的网关。具有各种插件,可以自行扩展,即插即用。此外,它可以快速帮助企业管理API服务,提高API服务的稳定性和安全性。
Go
22
0
cjoycjoy
一个高性能、可扩展、轻量、省心的仓颉应用开发框架。IoC,Rest,宏路由,Json,中间件,参数绑定与校验,文件上传下载,OAuth2,MCP......
Cangjie
94
15
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
199
279
giteagitea
喝着茶写代码!最易用的自托管一站式代码托管平台,包含Git托管,代码审查,团队协作,软件包和CI/CD。
Go
17
0
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
954
564