大模型开发之langchain0.3(一):入门篇.md

Published on 2025-03-28 13:50 in 分类: 博客 with 狂盗一枝梅
分类: 博客

这是一篇langchain0.3框架helloworld级别的入门教程,包含了python版本的选型、包下载以及helloworld代码案例。

一、langchain简介

langchain是一个用于开发由大语言模型(LLM,Large Language Model)驱动的应用程序开发框架,被业界称为大语言模型开发的“瑞士军刀”:langchain有大量的组件(components)以及第三方集成框架,可以快速实现业务功能开发。

需要注意的是,实际上langchain家族有三种框架:langchain、langsmith、langgraph

  • langchain:langchain的核心就是"chain",也就是链式调用,还包含了agent、RAG技术等相关的核心API
  • langsmith:可以用langsmith监控和评估应用程序,观察应用程序运行的细节。
  • langgraph:它是一种编排框架,其核心就是“Agent”,相对于langchain将各种组件编排为一种“流线型”架构,langgraph将各种组件编排为一种图(graph)状架构,能够解决完成更复杂的任务。
image-20250328103355280

二、版本选择

1、langchain版本选择

langchain是一个很新的框架,这两年随着大语言模型的兴起而兴起,版本迭代到现在(2025年3月28日),也才迭代到0.3.21版本,所以既然要学习就学习最新的,可以到 https://pypi.org/ 网站查看该包的发布情况

image-20250328104444490

2、python版本选择

python版本应当适配选择的langchain版本,点击上图中的0.3.21版本详情页,在左下角可以看到对python版本的要求

image-20250328104707949

python版本应当大于等于3.9,我这里选择了3.11.11,为什么选择这个版本呢?因为另外一个组件langgraph,在其文档中说明了使用3.11版本最适合

https://academy.langchain.com/courses/take/intro-to-langgraph/texts/58238105-getting-set-up

image-20250328105245793

最后,要使用conda新建python运行环境,防止学习的过程中把环境搞乱了,conda的安装和使用可以参考:python版本管理神器:conda

三、Hello,World!

为了能够通过代码调用OpenAI服务,需要申请OpenAI的秘钥key。当然像是国内开源的大模型基本上也都兼容OpenAI的接口形式,所以也可以申请国内大模型的ApiKey替代,代码中可以显示指定使用的Key,但是每次指定都不方便,还容易泄露key,所以一般是使用环境变量的方式指定key。

1、环境变量设置

设置环境变量:

变量名 变量值
OPENAI_API_BASE 默认的OpenAI的值是https://api.openai.com,国内的比如硅基流动则是https://api.siliconflow.cn,其它的服务提供商有可能带有/v1后缀,如果代码运行报错,可以尝试加上/v1后缀试试。
OPENAI_API_KEY 申请的秘钥。

设置完成环境变量后,可以在命令行中查看是否设置生效:

echo %OPENAI_API_BASE%

或者可以通过set命令查看所有的环境变量列表。

需要注意的是,如果修改了环境变量的值,webstorm的命令行有可能有缓存导致报错,这时候需要重启webstorm就可以解决缓存问题,如果不行,就反复重启几次。

2、安装依赖

假设读者已经使用conda创建了新的python开发环境langchain0.3.21,并且应用到了webstorm,则在webstorm的终端环境输出python --version,则有如下显示

image-20250328134026126

接下来在终端中运行命令:

pip install langchain[openai]==0.3.21

安装相关依赖(可能由于网络问题会比较慢,读者自行解决)

3、Hello,World!

新建一个Python文件,运行如下代码

import getpass
import os

if not os.environ.get("OPENAI_API_KEY"):
    os.environ["OPENAI_API_KEY"] = getpass.getpass("Enter API key for OpenAI: ")

from langchain.chat_models import init_chat_model

model = init_chat_model("gpt-4o", model_provider="openai")

resp = model.invoke("Hello, world!")
print(type(resp))
print(resp.content)

if __name__ == '__main__':
    pass

输出如下所示:

<class 'langchain_core.messages.ai.AIMessage'>
Hello! How can I assist you today?

这样,一个HelloWorld级别的代码示例就运行成功了。


END.


#langchain #python #llm
复制 复制成功