《简单了解并构建LangChain》

《简单了解并构建LangChain》LangChain 是一个用于快速开发大语言模型 LLM 应用的开源编程框架 核心作用是把大模型 如 GPT Llama 文心一言等 与外部数据 工具 服务连接起来 让模型能处理复杂 有上下文 能落地的实际任务 LangChain 不训练模型 不替代模型 而是增强模型 连接模型 编排模型 让大模型用上外部数据 文档 数据库 API 网页 让大模型记住上下文 多轮对话 长流程

大家好,我是讯享网,很高兴认识大家。这里提供最前沿的Ai技术和互联网信息。



LangChain 是一个用于快速开发大语言模型(LLM)应用的开源编程框架,核心作用是把大模型(如 GPT、Llama、文心一言等)与外部数据、工具、服务连接起来,让模型能处理复杂、有上下文、能落地的实际任务。

LangChain 不训练模型、不替代模型,而是增强模型、连接模型、编排模型:

  • 让大模型用上外部数据(文档、数据库、API、网页)
  • 让大模型记住上下文(多轮对话、长流程)
  • 让大模型调用工具(搜索、计算、代码、爬虫、业务接口)
  • 让大模型做规划、分步骤、做决策(Agent 智能体)
  • 私有知识库问答(企业文档、产品手册、法律 / 医疗资料)
  • 智能聊天机器人(带记忆、能查资料)
  • 代码助手 / 自动编程
  • 数据分析与自然语言查询(用中文问数据库)
  • 内容生成、摘要、翻译、信息抽取
  • 自动化工作流、AI 助手、智能客服
  • 自主决策 Agent(能上网、查数据、做任务)

个人理解:

只调用大模型ai只会简单输入数据,而运用langchain可以实现特定环境用法,或者我可以让ai搜集数据进行比对输出最优解,langchain就是为了提高ai的使用上限的
比如:

  • 不用 LangChain:
    AI 只能回答 “苹果是什么”

  • 用 LangChain:
    AI 可以去查今年所有苹果价格 → 对比产地、销量、口碑 → 算出性价比最高的一款 → 给你购买建议

更官方一点:

原生 大模型(LLM) 可能会存在一些问题,例如将其当作搜索引擎去使用,LLM 生成的答案可能要比其他搜索引擎查到的答案更符合你的预期,但要是在复杂的场景下使用,如将 LLM 嵌⼊应用程序时却遭遇了全新难题:

  • 简单提示词(Prompt)得到的答案经常出现幻觉?
  • 提示词结构是否可以统⼀规范?
  • 如何实现开发过程中大模型的轻松、灵活切换?
  • 大模型输出是非结构化的,怎样与要求结构化数据的程序接口交互?
  • 如何克服预训练模型知识陈旧的问题,引入实时更新?
  • 如何连接模型与外部工具或系统,执行具体任务?

LangChain 框架的核心目标就是应对这些挑战。它通过将自然语言处理流程拆解为标准化组件,让开发者能够自由组合并高效定制工作流。

  1. 创建属于自己的api


  2. 通过兼容 OpenAI 格式的 Chat API 调用千问模型
importosfromopenaiimportOpenAI client=OpenAI(# 若没有配置环境变量,请用百炼API Key将下行替换为:api_key=“sk-xxx”api_key=os.getenv(“DASHSCOPE_API_KEY”),base_url=https://dashscope.aliyuncs.com/compatible-mode/v1";,)completion=client.chat.completions.create(# 模型列表:https://help.aliyun.com/zh/model-studio/getting-started/modelsmodel=”qwen-plus“,messages=[{”role“:”system“,”content“:”You are a helpful assistant.“},{”role“:”user“,”content“:”你是谁?“},])print(completion.model_dump_json())

  • 主 langchain 包
pipinstalllangchain
  • langchain-core 包
pipinstalllangchain-core
  • Integrations 集成包
pipinstalllangchain-openai
  • langchain-community 包
pipinstalllangchain-community
  1. 安装 OpenAI 包
pipinstall-Ulangchain-openai
  1. 完整代码
fromlangchain_core.messagesimportSystemMessage,HumanMessagefromlangchain_openaiimportChatOpenAI model=ChatOpenAI(model=”qwen-plus“,api_key=‘sk-7209f28da070436f8bc85366d75de3fb’,base_url=https://dashscope.aliyuncs.com/compatible-mode/v1";,)messages=[SystemMessage(content=“You are a helpful assistant.”),HumanMessage(content=‘你是谁’)]result=model.invoke(messages)print(result)#result 不是纯字符串,而是一个对象

messages是一个对话列表(chat history)

  • SystemMessage:表示系统角色消息(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’: {}}

小讯
上一篇 2026-04-22 08:07
下一篇 2026-04-22 08:05

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/272762.html