Langchain 1.2.0 中 Models 模型有哪些特点?

摘要:LangChain Models 学习笔记 如果你正在开发 AI 应用,那么 LangChain 的 Models 模块是你必须掌握的核心组件。它就像是你与各种大语言模型(LLM)沟通的"翻译官&q
LangChain Models 学习笔记 如果你正在开发 AI 应用,那么 LangChain 的 Models 模块是你必须掌握的核心组件。它就像是你与各种大语言模型(LLM)沟通的"翻译官"和"调度中心"。本文将带你全面了解 LangChain 1.2.0 中 Models 的用法,并通过大量示例帮助你快速上手。 1. 初识 LangChain Models 想象一下这样的场景:你开了一家餐厅雇用了来自不同国家的厨师(有会做川菜的、有会做西餐的、有会做日本料理的)。但是你发现一个问题——每个厨师的烹饪风格和流程都不一样,你需要分别用不同的方式和他们沟通。 LangChain Models 就是解决这个问题的"万能经理"。它提供了一套统一的接口,让你能够轻松地与各种大语言模型(OpenAI、Anthropic、百度、阿里等)进行交互,而不需要关心底层 API 的差异。 为什么要掌握 Models API? 统一接口:一套代码切换不同模型 灵活配置:精确控制输出行为 完整功能:支持同步/流式/批量调用、工具调用、结构化输出、多模态等高级特性 2. 快速上手:模型初始化 在 LangChain 中,初始化模型有两种主要方式。让我带你一步步了解。 2.1 使用 init_chat_model(推荐) 这是 LangChain 1.2.0 推荐的统一初始化方式,类似于"一站式服务"——你只需要告诉它想用什么模型,其他的事情它帮你搞定。 from langchain.chat_models import init_chat_model import os # 从环境变量读取配置 baidu_api_key = os.getenv("BAIDU_API_KEY") baidu_base_url = os.getenv("BAIDU_BASEURL") # 方式一:只指定模型名,提供商自动识别 model = init_chat_model( model="kimi-k2.5", model_provider="openai", # 明确指定提供商 base_url=baidu_base_url, api_key=baidu_api_key, ) # 方式二:使用 "provider:model" 格式 model = init_chat_model( model="openai:kimi-k2.5", # 提供商:模型名 base_url=baidu_base_url, api_key=baidu_api_key, ) 💡 小贴士:如果你省略 model_provider,LangChain 会尝试自动识别。但显式指定可以避免歧义,也更易于理解和维护。 2.2 使用具体的模型类 有时候你需要更精细的控制,这时候可以直接使用具体的模型类,比如 ChatOpenAI。 from langchain_openai import ChatOpenAI # 完整的配置选项 model = ChatOpenAI( base_url="https://api.baidu.com/v1", # API 端点 api_key="your-api-key", # API 密钥 model="minimax-m2.5", # 模型名称 temperature=0.7, # 温度参数 max_tokens=1000, # 最大输出 token 数 timeout=30, # 超时时间(秒) max_retries=6, # 最大重试次数 ) # 快速测试 response = model.invoke("你好,请介绍一下自己") print(response.content) 3. 核心参数详解:像调味料一样配置你的模型 如果说大语言模型是一道菜,那么参数就是烹饪时的调味料。不同的调味料组合,会做出完全不同口味菜肴。让我为你详细讲解每个参数的作用和推荐用法。 3.1 temperature——控制"创意"还是"保守" 想象一下:你聘请了一位厨师。temperature=0 时,这位厨师严格按照菜谱操作,每次做出的菜几乎一模一样;temperature=1.5 时,这位厨师极具创意,每次都可能给你带来惊喜(或者惊吓)。
阅读全文