LangChain 0.1 和 0.2 模块中的 LLM、Chat 和 Embedding 类有一些重要的变化。让我们对比一下这两个版本中这三个类的主要区别:
- LLM 类
LangChain 0.1:
- 主要方法是
__call__
和generate
- 直接继承自
BaseLanguageModel
- 没有明确的类型提示
LangChain 0.2:
- 主要方法是
invoke
和generate
- 继承自
BaseLanguageModel
和新的BaseLLM
类 - 引入了更严格的类型提示
- 新增了
stream
方法支持流式输出
- Chat 类
LangChain 0.1:
- 称为
ChatModel
- 主要方法是
__call__
和generate
- 直接继承自
BaseLanguageModel
- 使用
ChatMessage
对象作为输入和输出
LangChain 0.2:
- 更名为
ChatModel
- 主要方法是
invoke
和generate
- 继承自
BaseLanguageModel
和新的BaseChatModel
类 - 使用新的
ChatMessage
和BaseMessage
类型 - 新增了
stream
方法支持流式对话
- Embedding 类
LangChain 0.1:
- 称为
Embeddings
- 主要方法是
embed_documents
和embed_query
- 没有标准化的基类
LangChain 0.2:
- 更名为
Embeddings
- 主要方法保持不变:
embed_documents
和embed_query
- 引入了新的
BaseEmbeddings
基类 - 增加了更严格的类型提示
主要变化总结:
- 接口统一:0.2 版本统一了
invoke
方法作为主要调用接口,替代了之前的__call__
。 - 类型系统改进:0.2 版本引入了更严格和一致的类型提示,提高了代码的可靠性和可读性。
- 基类重构:0.2 版本为每种模型类型引入了专门的基类(如
BaseLLM
、BaseChatModel
、BaseEmbeddings
),提供了更清晰的继承结构。 - 流式支持:0.2 版本在 LLM 和 Chat 模型中添加了原生的流式输出支持。
- 命名一致性:某些类名称进行了调整,以提高一致性和清晰度。
- 功能扩展:0.2 版本在保留核心功能的同时,增加了一些新的方法和特性。
这些变化反映了 LangChain 框架的不断演进,旨在提供更一致、更易用、功能更强大的 API。对于开发者来说,这意味着更好的开发体验和更强大的工具支持,但也可能需要在升级到新版本时进行一些代码调整。
当然,我可以用表格形式来对比 LangChain 0.1 和 0.2 版本中 Model 模块的 LLM、Chat 和 Embedding 类的主要变化。以下是对比表格:
特性 | LangChain 0.1 | LangChain 0.2 |
---|---|---|
LLM 类 | ||
主要方法 | __call__ , generate | invoke , generate |
继承关系 | 直接继承 BaseLanguageModel | 继承 BaseLanguageModel 和新的 BaseLLM |
类型提示 | 较少 | 更严格、更详细 |
流式输出 | 不支持 | 支持(新增 stream 方法) |
Chat 类 | ||
类名 | ChatModel | ChatModel |
主要方法 | __call__ , generate | invoke , generate |
继承关系 | 直接继承 BaseLanguageModel | 继承 BaseLanguageModel 和新的 BaseChatModel |
消息类型 | ChatMessage | 新的 ChatMessage 和 BaseMessage |
流式输出 | 不支持 | 支持(新增 stream 方法) |
Embedding 类 | ||
类名 | Embeddings | Embeddings |
主要方法 | embed_documents , embed_query | embed_documents , embed_query (保持不变) |
基类 | 无标准化基类 | 新增 BaseEmbeddings 基类 |
类型提示 | 较少 | 更严格、更详细 |
总体变化:
- 接口统一:使用
invoke
替代__call__
- 更严格的类型系统
- 引入专门的基类
- 增加流式输出支持
- 提高命名一致性
- 功能扩展
这个表格清晰地展示了两个版本之间的主要差异,突出了 LangChain 在改进 API 设计、增强功能和提高开发体验方面所做的努力。
如何学习AI大模型?
作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
一、全套AGI大模型学习路线
AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!
二、640套AI大模型报告合集
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
三、AI大模型经典PDF籍
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。
四、AI大模型商业化落地方案
作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。