Skip to content

LangChain 快速入门

本文章只写了快速入门的内容,如果想要参数配置/自定义模型,那么迁移到这篇文章

环境准备

  1. OPENAI_API_KEY 配置,以 阿里云百炼平台 为例

    1. 获取 API_KEY
      LangChain 调用-环境准备-OPEN_API_KEY 配置-获取API_KEY
      LangChain 调用-环境准备-OPEN_API_KEY 配置-获取API_KEY
    2. 配置环境变量(Window电脑)进入环境变量配置
      1. 键是 OPENAI_API_KEY,值是 获取到的 API_KEY
      2. 重启IDE,(如果是通过 FlowLauncher 启动的,FlowLauncher 也要重新启动后再启动IDE)
    3. 获取 url 地址
      1. LangChain 调用-环境准备-OPEN_API_KEY 配置-获取 url 地址
        LangChain 调用-环境准备-OPEN_API_KEY 配置-获取 url 地址
        点击模型广场-选择全部模型-选择DeepSeek-选择API参考
      2. 往下滑动,找到示例代码 即可获取到 url 地址
  2. 环境依赖下载 pip install -U langchain-openai

LangChain 调用 LLM

  1. 配置模型
  2. 配置发送信息
    Python
    # SystemMessage 是系统消息,一般存储 环境/目的 等内容
    # HumanMessage 是用户消息,存储用户需要发送的内容
    messages = [
        SystemMessage("请把下列的英文翻译为中文"),
        HumanMessage("Hello world!")
    ]
  3. 信息发送 & 接收结果
    Python
    # invoke 表示调用模型,messages 里面存储发送给模型的消息
    result = model.invoke(messages)
    print(result) # 输出包括但不限于 执行结果/执行消耗token 等
  4. 处理结果的字符串
    Python
    # 设置输出解析器(链式组件2)
    parser = StrOutputParser()
    print(parser.invoke(result)) # 输出 content 内容:我喜欢你!

LangChain 链式调用

步骤大体一致,只是中途过程中是没有执行 invoke,只有最后才执行

LangChain 底层逻辑

  1. 为什么各个组件之间调用都是 invoke() 来调用?

    它们依赖与 Runnable 这个接口 的,Runnable 里面有 invoke() 这个函数,所以各个组件都有 invoke() 这个函数

  2. 组件之间如何调用呢?

    它们是把上一个组件执行的结果作为下一个组件的参数传入,类型与 Linux 中的管道符 |