终于到了。。。LangChain的TypeScript支持。
这是什么意思?这意味着所有您喜欢的提示、链和代理都可以在TypeScript中本地重新创建。Python版本和TypeScript版本都使用相同的可序列化格式,这意味着工件可以在语言之间无缝共享。作为使用它的一个例子,我们还使用TypeScript重新创建了ChatLangChain。
非常感谢社区的帮助。
重要链接:
- GitHub Repo: https://github.com/hwchase17/langchainjs
- Documentation: https://hwchase17.github.io/langchainjs/docs/overview/
- ChatLangChain-js: https://github.com/sullivan-sean/chat-langchainjs
为什么选择TypeScript?
最初,玩语言模型的人群更多是研究性的、面向ML的人,他们中的大多数人更喜欢Python。然而,自从ChatGPT推出并迅速获得成功以来,使用LLM的想法已经成为主流。因此,我们看到整个堆栈中的人们对LangChain的兴趣大幅增加,他们中的许多人更喜欢使用javascript。因此,我们认为开发LangChain的javascript原生版本是合适的。
这个包裹有什么?
Python包中所有相同的抽象都在Typescript包中。
由于Typescript版本要更新得多,所以其中的这些实现更少。此外,许多更以ML为中心的功能(标记化器、LLM等)对TypeScript的支持更差。尽管如此,我们仍打算随着时间的推移带来并发展这一功能。
有了这些抽象,我们发现很容易重新创建我们以前用Python制作的“ChatLangChain”web应用程序,以便在我们的文档中使用聊天机器人。这利用了许多抽象概念,因此是一个完美的展示。点击此处查看TypeScript版本。
与Python包的关系
我们希望TypeScript包尽可能地镜像Python包。为此,当务之急是确保我们在Python中为提示、链和代理引入的序列化格式适用于TypeScript版本。
我们认为这是一个优先事项,因为随着时间的推移,LangChainHub的增长,我们希望这些工件能够在语言之间共享。这将允许更多、更广泛的社区采用和共享最佳提示、链和代理。这也将使用一种语言制作原型,然后切换到另一种语言成为可能。目前,由于TypeScript包的功能确实略低于Python包,因此并非所有链都可以在语言之间移植。然而,我们打算努力使它们平等。
随着时间的推移,这些套餐确实会有所不同,与各自的受众一致,这并非不可能。例如,Python包可能开始包含更多以研究或数据为中心的概念,而TypeScript包可能包含更多旨在促进web开发的功能。实际上,我们很高兴能与社区一起探索不同的优先级和用例。但在整个过程中,我们打算继续使提示、链、代理的核心集合(以及很快的更多)在语言之间可串行化和可用。
- 登录 发表评论