08|LangChain:核心抽象
郑晔

你好,我是郑晔!
上一讲,我们知道了 LangChain 是一个 AI 应用开发的生态,包括了开发框架、社区生态和扩展生态。其中,最重要的,也是构成整个生态基础的就是开发框架。
开发框架为我们提供了构建大模型应用的基础抽象和 LangChain 表达式语言,其中,LangChain 表达式语言是为了提高代码的表达性,要想理解 LangChain,关键点就是理解其中的基础抽象。这一讲,我们就来讨论一下 LangChain 的基础抽象。
ChatModel
既然 LangChain 是为了构建大模型应用而生的,其最核心的基础抽象一定就是聊天模型(ChatModel)。如果你去查看 LangChain 的文档,估计第一个让人困惑的问题一定就是为什么 LangChain 中既有 LLM,也有 ChatModel?
它俩的关系其实类似于之前我们说的补全接口和聊天补全接口的关系,LLM 对应的是文本到文本的生成,而 ChatModel 则是对应着由 ChatGPT 带来的聊天模式。大部分情况下,推荐使用 ChatModel,即便对于非聊天应用也是如此,如同聊天补全接口几乎可以替代补全接口,ChatModel 几乎可以完全替代 LLM。所以,我们后面的讨论也集中在 ChatModel 上。
公开
同步至部落
取消
完成
0/2000
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结

1. LangChain的核心抽象包括ChatModel、PromptTemplate和OutputParser,它们分别处理输入、输出和模型调用。 2. ChatModel的调用方法包括同步调用和流式处理,以及其他调用方式如批处理和异步调用,简化了代码编写。 3. PromptTemplate的概念用于预置提示词,可以不断调整以达到更好的效果,同时可以共享给其他开发者使用。 4. PromptTemplate的使用方法包括创建模板、组装模型链、调用链,通过替换占位符将输入参数处理成发给模型的消息。 5. LangChain的社区生态提供了具体的实现,如OpenAI提供了ChatModel和Embedding模型,统一放到langchain-openai这个包里。 6. OutputParser负责处理输出结果的解析过程,LangChain提供了一些常用的解析器,如StrOutputParser、JsonOutputParser等。 7. LangChain还提供了许多不同的输出格式解析器,如JSON、CSV、分隔符、枚举等,以及相应的格式指令。 8. LangChain提供的抽象包括ChatModel、PromptTemplate和OutputParser,它们是构建大模型应用的核心部分。 9. ChatModel是整个框架的核心,根据输入的内容生成输出;PromptTemplate处理输入,有效拆分了开发者提示词和用户提示词;OutputParser处理输出,包含了格式指令。 10. 阅读者可以尝试编写代码来熟悉ChatModel、PromptTemplate和OutputParser的使用。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《程序员的 AI 开发第一课》,新⼈⾸单¥59
《程序员的 AI 开发第一课》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(2)
- 最新
- 精选
- ququwowo新手两个问题: 1. langchain文档里面的例子, streaming时候, `print(chunk.content, end="", flush=True)` -- 这个flush干啥的? 2. PromptTemplate和ChatPromptTemplate啥区别?`from langchain_core.prompts import PromptTemplate, ChatPromptTemplate` --- perplexity pro每月送5刀API额度,可以拿来做这些练习。本节代码在此:https://github.com/groklab/misc/blob/main/geektime-llm-zhengye-column/lec08.ipynb2024-11-18归属地:美国
- rOMEo罗密欧请问一下老师有练习环境提供吗?2024-11-18归属地:广东
收起评论