LangChain实战教程(一):手把手跑通你的第一个大模型调用

58 阅读3分钟

你好,我是方可乐。
一个正在深耕AI编程的30+的AI应用开发工程师。
实战过多个AI应用开发框架,自主开发过多个AI应用产品

今天开启AI应用开发技术分享的第一篇内容——开始你的第一次langchain调用大模型。

语言这块我们选择python,用来学习的api,选择deepseek。(自行去DeepSeek官网购买api额度和获取密钥)

然后我们准备下三个代码文件。

第一个文件,我们命名为**.env **,它是一个专门存环境变量的文件,我们主要存DeepSeek的API key,不要写在业务代码中,防止泄露

deepseek_api_key=xxxxxxxxxxxxxxxxxxx

第二个文件,我们命名为 01_call_deepseek.py,这是deepseek提供的原生调用案例,我们稍微改动了下,使用读取环境变量的方式,获得deepseek_api_key。

调用大模型,主要是使用openai库,已经封装好了,我们按照格式填入参数就行。
从代码中我们可以看到,我们调用大模型,需要传入两个关键内容:

    1. 系统角色提示词
    1. 用户提问提示词

格式是固定的,我们自己DIY用户的content就行。

from openai import OpenAIimport osfrom dotenv import load_dotenvload_dotenv()client = OpenAI(api_key=os.getenv("deepseek_api_key"), base_url="https://api.deepseek.com")response = client.chat.completions.create(    model="deepseek-chat",    messages=[        {"role""system""content""你是一个AI助手,你会回答用户的问题"},        {"role""user""content""你好"},    ],    stream=False)print(response.choices[0].message.content)

第二个文件,我们命名为01_call_deepseek_langchain.py,这里调用大模型,不是用openai的库,而是经过langchain封装的langchain_openai库。

写法分三块:

    1. 大模型调用参数组装(llm = ChatOpenAI(...))
    1. 调用提示词组装(SystemMessage、HumanMessage)
    1. 调用大模型的函数(llm.invoke)
from langchain_openai import ChatOpenAIfrom langchain.schema import HumanMessage, SystemMessageimport osfrom dotenv import load_dotenvload_dotenv()# 使用LangChain的ChatOpenAI类调用DeepSeekllm = ChatOpenAI(    api_key=os.getenv("deepseek_api_key"),    base_url="https://api.deepseek.com/v1",    model="deepseek-chat",    temperature=0.7)# 创建消息messages = [    SystemMessage(content="你是一个AI助手,你会回答用户的问题"),    HumanMessage(content="你好")]# 调用模型response = llm.invoke(messages)print(response.content)

下面是两种方式的调用结果,可以看到,内容返回几乎是一样的,两种方式都成功调通了。

图片

这里我用的工具是Trae,感兴趣又不知道怎么开始上手的同学,可以借助这类AI编程工具,让AI辅助生成代码,并且帮助我们运行起来。

先把代码跑起来,再反过来思考为什么,举一反三,这样学习是最快的。

 

对AI应用开发感兴趣的同学,欢迎加微信申请入群交流学习。

想要学习AI应用开发的同学,可以参照我的代码跑起来,举一反三,一天一个脚印的进步,我相信,会足够坚实。

如果你也想了解AI应用开发到底是什么,如果你也在考虑转型但还在犹豫,
那就跟着我的记录,一起探索。

继续折腾中,有问题随时交流 🤝
微信号:ThinkFun666

图片