mcpField
L
langchain

langchain

github.com/alphaonedev开发41 次安装
代码仓库

关于 langchain

LangChain 是用于将大模型集成到应用与工作流中的 Python 框架,适合构建问答、数据处理和 Agent 应用。它提供链式编排、工具集成、提示词管理及异步执行能力。

主要功能

  1. 01编排大模型链
  2. 02集成工具与向量存储
  3. 03管理动态提示词
  4. 04构建使用工具的 Agent
  5. 05支持异步链

适用场景

  1. 01结合文档检索构建问答应用
  2. 02创建可调用搜索工具的 Agent
  3. 03并发处理多个查询

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/alphaonedev/openclaw-graph --skill langchain

安装后在 Claude Code 中输入/langchain确认已加载。

详细介绍

langchain

用途

LangChain 是一个 Python 框架,用于开发将大语言模型(LLM)集成到工作流中的应用,可创建组合多个 LLM 或工具的链,用于问答或数据处理等任务。

适用场景

构建需要串联 LLM 的 AI 应用时可使用 LangChain,例如,为复杂查询集成多个模型,或需要借助 LLM 处理外部数据源时。它也适用于快速构建 AI Agent 原型,例如可获取实时数据的聊天机器人,或在需要可扩展 LLM 工作流的 aimlops 集群中执行 ML 运维。

主要功能

  • 构建链:使用 LLMChain 等类创建 LLM 序列;例如,将提示模板与 LLM 调用组合起来。
  • 工具集成:支持通过 OpenAI 类集成 OpenAI 等 API;使用 FAISS 处理向量存储,以实现语义搜索。
  • 提示词管理:使用 PromptTemplate 动态定义和渲染提示词,例如,通过变量传入用户输入。
  • Agent 框架:使用工具构建 Agent,并通过 AgentType.ZERO_SHOT_REACT 根据 LLM 输出动态选择工具。
  • 异步支持:利用异步链构建可扩展的应用,例如,并发处理多个查询。

使用模式

要使用 LangChain,请通过 pip install langchain 安装,然后导入并配置组件。对于基础链,创建一个 LLM 实例,并将其连接到提示词或工具。模式:使用 API 密钥初始化 LLM,构建链,并在循环中运行它以执行迭代任务。对于 Agent,定义工具,并让 Agent 根据输入决定要采取的操作。

常用命令/API

  • 安装和设置:运行 pip install langchain[all] 以包含扩展包;设置 export OPENAI_API_KEY=your_key 等环境变量进行身份验证。
  • 基础链示例:
    from langchain.llms import OpenAI
    from langchain.chains import LLMChain
    llm = OpenAI(model_name="gpt-3.5-turbo")
    chain = LLMChain(llm=llm, prompt="What is {topic}?")
    result = chain.run(topic="LangChain")
    
  • API 端点:将 LangChain 与外部服务配合使用时,可通过 LangChain 包装器调用 https://api.openai.com/v1/chat/completions 等端点;传入包含身份验证令牌的标头。
  • 配置格式:使用 YAML 配置链,例如,在文件中:
    chains:
      - name: simple_chain
        llm: OpenAI
        prompt: "Summarize {text}"
    
    使用 from langchain.utilities import load_config 加载。
  • CLI 命令:对于 LangChain CLI(如果已扩展),使用 langchain serve 将链作为服务运行,或使用 langchain debug --chain my_chain 跟踪执行过程以进行调试。

集成说明

将其他工具封装为可调用函数,即可与 LangChain 集成。例如,要添加数据库查询工具,可使用 Tool.from_function 并将其传递给 Agent。为密钥设置环境变量,例如,为 OpenAI 模型设置 $OPENAI_API_KEY,或为搜索集成设置 $SERPAPI_API_KEY。与 aimlops 集群工具组合使用时,请使用 LangChain 的回调系统记录日志,以确保兼容;导入 from langchain.callbacks import get_openai_callback 以跟踪令牌用量。对于向量数据库,可通过初始化 from langchain.vectorstores import Pinecone 并通过环境变量提供 API 密钥来集成 Pinecone。

错误处理

使用 try-except 块包装链的运行过程来处理错误,例如:

try:
    result = chain.run(input_data)
except ValueError as e:
    print(f"Invalid input: {e}")
except Exception as e:
    print(f"General error: {e} - Check API key or network")

常见问题包括 API 速率限制(通过 if e.status_code == 429: retry() 检查并重试)、无效的 API 密钥(验证是否已设置 $OPENAI_API_KEY),或链配置错误(如果可用,使用 chain.validate())。在生产环境中使用 LangChain 的处理器记录错误,以便调试。

具体使用示例

  1. 简单问答链:构建一个链,使用 LLM 和向量存储回答问题。首先,设置 export OPENAI_API_KEY=your_key。然后:

    from langchain.chains import RetrievalQA
    from langchain.llms import OpenAI
    qa_chain = RetrievalQA.from_chain_type(llm=OpenAI(), chain_type="stuff")
    answer = qa_chain.run({"query": "What is LangChain?"})
    

    这会获取相关文档并生成回答。

  2. 用于网页搜索的 Agent:创建一个使用工具执行网页搜索的 Agent。设置 export SERPAPI_API_KEY=your_key。代码:

    from langchain.agents import AgentType, load_tools, initialize_agent
    from langchain.llms import OpenAI
    tools = load_tools(["serpapi"])
    agent = initialize_agent(tools, OpenAI(), agent=AgentType.ZERO_SHOT_REACT)
    response = agent.run("Search for latest AI news")
    

    Agent 会动态搜索网页并返回结果。

图关系

  • 与集群 aimlops 相关(例如,共享机器学习运维工具)。
  • 通过标签连接:langchain(自身)、llm(链接到其他大模型工具)、ai-framework(连接到 Hugging Face 等框架)。
  • 依赖项:需要 OpenAI 或类似的 API,并可与 FAISS 或 Pinecone 等向量存储集成。

评论

支持 Markdown