首页软件使用教程LangChain框架入门部署教程

LangChain框架入门部署教程

2025-05-13 670

LangChain是什么?LangChain是一个开源框架,主要用于提供一些工具、接口帮你快速创建由大语言模型(Large Language Model,即后文的llm)和聊天模型支持的应用程序。LangChain本身只是帮忙调用大模型构建特定功能的应用,因此大模型还是不可缺少的一步。接下来将由站长百科详细为大家介绍LangChain入门及部署。

一、LangChain准备环境

1、安装LangChain相关Python包

pip install langchain
pip install -qU langchain-openai
pip install "langserve[all]"

2、准备LangSmith的API Key(不是必要步骤,但是是免费的)

什么是LangSmith:就是一个可以调试、测试、评估和监控基于任何LLM框架构建的链和智能代理的框架,他能与LangChain无缝集成。其实就是用它来观察大模型进行了哪些调用,让你清楚你的大模型内部咋工作的。所以其实这在开发LangChain应用中不是必须的。怎么监控的?就是你可以进入这个监控页面,看到你提问了什么,大模型回答了什么。

LangChain框架入门部署教程

登录LangChain官网,点击“sign up”登录,没有账号就注册一个。

LangChain框架入门部署教程

点击“Tracing Projects”。

LangChain框架入门部署教程

点击要监控的项目即可进入前面的监控画面,这儿一个项目应该对应的是一个LangSmith的API。

LangChain框架入门部署教程

如何申请LangSmith的API?

还是这个界面,点击“New Project”。

LangChain框架入门部署教程

点击“Generate API Key”。

LangChain框架入门部署教程

复制保存好你的API Key。

LangChain框架入门部署教程

怎么使用?就是配置为Python程序的环境变量。

3、准备语言模型的API

前文提到开发LangChain应用需要一个大模型,我们通常是调用其他厂商提供的api,如Openai、Gemini、通义千问等。

LangChain官方教程使用的是OpenAI,本文使用OpenAI的中转API进行演示。OpenAI的API是收费的且访问不方便,通义千问等国内厂商的api一般有免费额度。

如何获取OpenAI的API?

  • 方法一(推荐):像我一样,去某宝或某多多买个中转的api,价格便宜,几块钱就可以开始学习,搜索关键字是“中转api”。
  • 方法二:申请官方的API,要钱比较麻烦,我没申请过,可查看其他博客教程。

4、准备环境变量

使用你的IDE创建一个Python项目

在.py文件(就是你书写大模型代码的Python文件,后文无特殊说明使用main.py。同理,如果你使用的是Jupyter NoteBook,就是在.ipynb文件同级目录)的同级目录下创建一个全名为.env的文件,这个文件是用于存放环境变量的,我们把环境变量定义在里面,然后py文件可通过load_dotenv()方法快速加载这些环境变量,例如我的项目文件结构是这样的:

LangChain框架入门部署教程

在.env文件(全名就是“.env”,不能做任何修改)中书写定义环境变量:

LangChain框架入门部署教程

  • OPENAI_API_KEY:就是你的大模型的API Key,一般是sk开头。
  • OPENAI_BASE_URL:指定 OpenAI API 的基础 URL 地址。如果你购买的OpenAI的直连API就不需要设置这个环境变量,如果是某宝某多购买的中转API则一般会提供给你一个中转地址,形为https://api…/v1,这个时候就需要设置OPENAI_BASE_URL为该网站。
  • LANGCHAIN_TRACING_V2:设置为true。
  • LANGCHAIN_API_KEY:前文申请到的LangSmith的API,这就是LangSmith的用法。

二、部署LangChain案例

这里给出一个最简单的案例。注意,这个案例一定是正确的,如果报错则一定是环境缺少包或者环境变量没配置等问题。

py文件内容:

LangChain框架入门部署教程

结合代码中的注释我相信你能看懂这个简单案例的功能(调用大模型,让他把“今天天气怎么样?”这句话翻译为英文并输出)。

执行结果(输出类似,模型成功翻译):

LangChain框架入门部署教程

如果你设置了LangSmith的API进行跟踪,则还可以查看LangSmith的结果:

LangChain框架入门部署教程

点击每一行的Name可以查看该跟踪对话的详情:

LangChain框架入门部署教程

接下来,后文将以此为案例为基础进行扩展,介绍一些更强大的功能。

使用StrOutputParser对模型结果进行解析

注意前文打印大模型返回结果的方法:print(model.invoke(messages).content),其中model.invoke(messages)的结果是一个AIMessage对象,该对象的content值记录了大模型的输出结果。

但其实LangChain提供了一个类StrOutputParser专门解析出这部分内容进行打印

使用方法:

LangChain框架入门部署教程

LangChain框架入门部署教程

但其实AIMessage对象也有专门的方法打印模型的输出:

LangChain框架入门部署教程

使用ChatPromptTemplate构建输入消息列表

在简单案例中,我们是向模型的invoke方法直接传入的构建的消息列表(即,messages=[…]),这是这种列表无法从用户处获得变量对消息列表进行设置,故引入ChatPromptTemplate

ChatPromptTemplate能从用户输入中获取变量构建Prompt传给大模型进行调用,其使用方法如下:

这里(“system”, “把下面的语句翻译为{language}。”)等价于SystemMessage(content=“把下面的语句翻译为英文。”);(“user”, “{text}”)等价于HumanMessage(content=“今天天气怎么样?”)。但是在定义ChatPromptTemplate时只能使用前者,即下面的方法

LangChain框架入门部署教程

打印结果如下,可以看见同样构建了和简单案例一样的消息队列作为Prompt,但是具有了更高的可定制性。

通过LCEL连接各组件

LECL的全称是LangChain Expression Language。其实他的用处就是使用“|”运算符链接LangChain应用的各个组件,如提示词模版ChatPromptTemplate、大语言模型ChatOpenAI、输出解析器StrOutputParser。连接的方法如下:

LangChain框架入门部署教程

此时直接向chain的invoke方法传入参数即可调用大模型得到一样的输出结果。

LangChain框架入门部署教程

LangChain框架入门部署教程

三、使用LangServe把大模型包装成可供调用的服务

LangServe可以把我们的LangChain应用包装为一个服务供别人调用,包装方法如下:

LangChain框架入门部署教程

随后便可以对该服务进行访问,LangChain提供了一个网页界面实现对LangServe服务的快速访问,网页地址为http://localhost:8000/chain/playground/,注意端口,path值与代码一一对应。同样能得到类似的结果。

LangChain框架入门部署教程

四、使用阿里云免费大模型

或者可以使用其他免费大模型平台,例如阿里云的百炼平台:

阿里云官网:点击直达

1、进入通义千问网页,点击API服务。

LangChain框架入门部署教程

2、使用阿里云账号登录(没有就注册一个)后点击管理控制台。

LangChain框架入门部署教程

3、右上角点击API-KEY。

LangChain框架入门部署教程

4、点击创建我的API-KEY,创建好之后点击查看可以复制该API-KEY。

LangChain框架入门部署教程

6、然后在千问代码中作如下修改:

在.env文件定义环境变量:DASHSCOPE_API_KEY=“sk-ff817b7f4…”

main.py创建大模型时使用:llm = Tongyi(),一个简单的演示如下:

LangChain框架入门部署教程

————————————————

本文参考:https://blog.csdn.net/qq_62888264/article/details/143222574

  • 广告合作

  • QQ群号:4114653

温馨提示:
1、本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。邮箱:2942802716#qq.com(#改为@)。 2、本站原创内容未经允许不得转裁,转载请注明出处“站长百科”和原文地址。

相关文章