一、LangChain是什么LangChain 是一个用于快速开发大语言模型LLM应用的开源编程框架核心作用是把大模型如 GPT、Llama、文心一言等与外部数据、工具、服务连接起来让模型能处理复杂、有上下文、能落地的实际任务。1. 核心定位LangChain 不训练模型、不替代模型而是增强模型、连接模型、编排模型让大模型用上外部数据文档、数据库、API、网页让大模型记住上下文多轮对话、长流程让大模型调用工具搜索、计算、代码、爬虫、业务接口让大模型做规划、分步骤、做决策Agent 智能体2. 典型用途你能用它做什么私有知识库问答企业文档、产品手册、法律 / 医疗资料智能聊天机器人带记忆、能查资料代码助手 / 自动编程数据分析与自然语言查询用中文问数据库内容生成、摘要、翻译、信息抽取自动化工作流、AI 助手、智能客服自主决策 Agent能上网、查数据、做任务3. 为什么需要它个人理解只调用大模型ai只会简单输入数据而运用langchain可以实现特定环境用法或者我可以让ai搜集数据进行比对输出最优解langchain就是为了提高ai的使用上限的比如不用 LangChainAI 只能回答 “苹果是什么”用 LangChainAI 可以去查今年所有苹果价格 → 对比产地、销量、口碑 → 算出性价比最高的一款 → 给你购买建议更官方一点原生 大模型(LLM) 可能会存在一些问题例如将其当作搜索引擎去使用LLM 生成的答案可能要比其他搜索引擎查到的答案更符合你的预期但要是在复杂的场景下使用如将 LLM 嵌⼊应用程序时却遭遇了全新难题简单提示词Prompt得到的答案经常出现幻觉提示词结构是否可以统⼀规范如何实现开发过程中大模型的轻松、灵活切换大模型输出是非结构化的怎样与要求结构化数据的程序接口交互如何克服预训练模型知识陈旧的问题引入实时更新如何连接模型与外部工具或系统执行具体任务…LangChain 框架的核心目标就是应对这些挑战。它通过将自然语言处理流程拆解为标准化组件让开发者能够自由组合并高效定制工作流。二、申请 API key 并配置环境变量1. 这里使用阿里的千问进行演示获取api创建属于自己的api通过兼容 OpenAI 格式的 Chat API 调用千问模型importosfromopenaiimportOpenAI clientOpenAI(# 若没有配置环境变量请用百炼API Key将下行替换为api_keysk-xxxapi_keyos.getenv(DASHSCOPE_API_KEY),base_urlhttps://dashscope.aliyuncs.com/compatible-mode/v1,)completionclient.chat.completions.create(# 模型列表https://help.aliyun.com/zh/model-studio/getting-started/modelsmodelqwen-plus,messages[{role:system,content:You are a helpful assistant.},{role:user,content:你是谁},])print(completion.model_dump_json())2. LangChain 软件包安装主 langchain 包pipinstalllangchainlangchain-core 包pipinstalllangchain-coreIntegrations 集成包pipinstalllangchain-openailangchain-community 包pipinstalllangchain-community3. 定义大模型安装 OpenAI 包pipinstall-Ulangchain-openai完整代码fromlangchain_core.messagesimportSystemMessage,HumanMessagefromlangchain_openaiimportChatOpenAI modelChatOpenAI(modelqwen-plus,api_keysk-7209f28da070436f8bc85366d75de3fb,base_urlhttps://dashscope.aliyuncs.com/compatible-mode/v1,)messages[SystemMessage(contentYou are a helpful assistant.),HumanMessage(content你是谁)]resultmodel.invoke(messages)print(result)#result 不是纯字符串而是一个对象messages是一个对话列表chat historySystemMessage表示系统角色消息system role用于在对话开始时对模型进行全局行为约束和上下文设定。HumanMessage表示用户角色消息user role是从用户发送到模型的输入内容。content‘你好我是通义千问Qwen阿里巴巴集团旗下的超大规模语言模型。我能够回答问题、创作文字比如写故事、写公文、写邮件、写剧本、逻辑推理、编程等等还能表达观点玩游戏等。如果你有任何问题或需要帮助欢迎随时告诉我’ additional_kwargs{‘refusal’: None} response_metadata{‘token_usage’: {‘completion_tokens’: 66, ‘prompt_tokens’: 21, ‘total_tokens’: 87, ‘completion_tokens_details’: None, ‘prompt_tokens_details’: {‘audio_tokens’: None, ‘cached_tokens’: 0}}, ‘model_provider’: ‘openai’, ‘model_name’: ‘qwen-plus’, ‘system_fingerprint’: None, ‘id’: ‘chatcmpl-86798ed2-f290-9281-b399-5e47eb28f8fc’, ‘finish_reason’: ‘stop’, ‘logprobs’: None} id‘lc_run–019d85dd-f053-7030-9ea6-d09335fbbcb6-0’ tool_calls[] invalid_tool_calls[] usage_metadata{‘input_tokens’: 21, ‘output_tokens’: 66, ‘total_tokens’: 87, ‘input_token_details’: {‘cache_read’: 0}, ‘output_token_details’: {}}