LangChain 专题1 调用大语言模型
聊天模型
大型语言模型(LLM)是一种先进的机器学习模型,在文本生成、翻译、总结、问答等广泛的与语言相关任务中表现出色,无需在每个场景中都进行任务特定的微调。
现代大型语言模型通常通过聊天模型界面进行访问,该界面接受消息列表作为输入,并返回一条消息作为输出。
最新的聊天模型提供了额外的功能:
- 工具调用:许多流行的聊天模型提供本地工具调用 API。这种 API 允许开发人员构建功能丰富的应用程序,使大型语言模型能够与外部服务、API 和数据库交互。从未结构化数据中提取结构化和执行其他任务也可使用工具调用。
- 结构化输出:一种使聊天模型以结构化格式(如匹配给定模式的 JSON)响应的技术。
- 多模态:与其他文本数据一起进行工作的能力;例如,图像、音频和视频。
LangChain 功能
LangChain 为使用不同提供商的聊天模型的用户提供了一个一致的接口,并提供了额外的功能,用于监控、调试和使用大型语言模型(LLM)应用程序的性能。
- 与多家聊天模型提供商集成(例如 Anthropic、OpenAI、Ollama、Microsoft Azure、Google Vertex、Amazon Bedrock、Hugging Face、Cohere、Groq)。
- 使用 LangChain 的消息格式或 OpenAI 格式。
- 使用标准工具调用 API:将工具与模型绑定、访问模型发出的调用请求,并将工具结果返回给模型的标准接口。
- 使用 with_structured_output 方法结构化输出标准的 API。
- 提供异步编程、高效批量处理、丰富的流式 API 支持。
- 使用 LangSmith 监控和调试基于大语言模型的商业级应用程序。
- 标准令牌使用、限速、缓存等额外功能。
集成
LangChain 拥有多种聊天模型集成,允许您使用来自不同提供商的各种模型。 这些集成是两种类型中的一种:
- 官方模型:这些模型是由LangChain或模型提供商官方支持的模型。您可以在
langchain-<provider>
包中找到这些模型。 - 社区模型:这些模型大多由社区贡献和支持。您可以在
langchain-community
包中找到这些模型。
用法示例
示例1:调用 OpenAI 模型
安装依赖
|
|
调用模型
|
|
使用 model.invoke
方法,返回值是一个 langchain_core.messages.ai.AIMessage
类型的对象。
示例2:调用 Google Gemini 模型
调用 google 的模型,可以使用 langchain-google-genai
或 langchain-google-vertexai
。
安装依赖
|
|
调用模型
|
|