langchain入门一:python+langchain+通义千问,白嫖qwen大模型实现自己的聊天机器人

什么是langchain

是一个用于开发由语言模型驱动的应用程序的框架,致力于简化AI模型应用的开发.简单来说,langchain就是一个帮助开发者轻松完成AI模型应用开发的框架,现在支持python和js两个版本,它集成多种大语言模型及第三方api.

这篇文章将在python环境下使用langchain白嫖通义千问大模型,实现一个最简单的简单AI聊天机器人废话少说,直接进入正题:

1.安装langchain

打开cmd,输入命令安装环境

python 复制代码
 pip install langchain #安装langchain环境
 pip install langchain-community #安装第三方集成,就是各种大语言模型
 pip install dotenv #加载工具

2.准备工作

写代码之前先做一个准备工作-拿到阿里云灵积模型服务的apikey

传送门:阿里云开发者社区-云计算社区-阿里云 (aliyun.com)

1.登录或者注册

点击右上角进行注册账号,有账号的可以直接登录

2.搜索灵积模型服务,开通服务

点击立即开通,开启零元乐享.

  1. 进入产品控制台,创建api-key

进入API-KEY管理,同时记住这个qwen-max

创建一个api-key,这个api-key要好好保存,不慎遗失了,可以在查看里面找到这个key

3.写代码

在VScode或者PyCharm中编辑都行,创建好文件后就要开始编写代码了.

1.导入相关包

python 复制代码
#导入相关包
import os
from dotenv import find_dotenv, load_dotenv
load_dotenv(find_dotenv())
SERPAPI_API_KEY=os.environ["DASHSCOPE_API_KEY"]
from langchain_community.llms import Tongyi
from langchain.chains import LLMChain
from langchain.prompts import PromptTemplate

os,dotenv都是用来加载环境变量DASHSCOPE_API_KEY的

Tongyi就是这里使用的通义千问大语言模型

PromptTemplate是提示词模板,用来给大模型做回答限制的,他会按照提示词模板的内容进行回答,跟模型的智慧程度有关,数据集越大的模型根据提示词做的回答越好,后期做Agent的效果越好.

LLMChain就是用来把LLM和prompt进行联系的

2.实例化一个llm,定义它的角色

python 复制代码
llm=Tongyi(temperature=1)
template='''
        你的名字是小黑子,当人问问题的时候,你都会在开头加上'唱,跳,rap,篮球!',然后再回答{question}
    '''
prompt=PromptTemplate(
        template=template,
        input_variables=["question"]#这个question就是用户输入的内容,这行代码不可缺少
)
chain = LLMChain(#将llm与prompt联系起来
        llm=llm,
        prompt=prompt
        )
question='你是谁'

res=chain.invoke(question)#运行
    
print(res['text'])#打印结果

temperature=1是调节文本多样性的,让回答更加丰富,为0时就会更加准确,大于0回答的就会带有llm的思维回答(可能会胡编乱造) res['text']就是回答内容了,回答的一个字典包含了question和text

3.创建一个.env文件

python 复制代码
DASHSCOPE_API_KEY="你的apikey"

4.关键点,修改langchain的底层代码

按住ctrl点击鼠标左键进入llms,

ctrl+F搜索tongyi,再点进去

再搜索qwen,找到这个qwen-plus将他修改成qwen-max

白嫖成功,看看输出结果

更多有趣的langchain程序,持续更新~

参考资料 LangChain

相关推荐
威哥爱编程7 小时前
模拟面试智能体开发实战 06:答得好怎么追问、答得错怎么点破,追问引擎让面试官会深挖会纠错
python·agent·harmonyos
codists8 小时前
《crafting interpreters》阅读笔记:4.6.2
python
2601_967979128 小时前
机器学习必修课:经典算法与Python实战
python·算法·机器学习·实战·课程
cpolar技术支持8 小时前
listen(5) 只排得住 5 个连接:第 6 个客户端卡在 connect 超时,进程活着端口却显示假活不放行
python·socket·tcp·cpolar·故障排查
梯度下降者9 小时前
我校学子斩获 2025 全国高新技术竞赛 Python 赛道全国一等奖
python·教育·竞赛·信息技术·人才培养
小小张说故事9 小时前
Python 的 memoryview 为什么能零拷贝:拆开 buffer protocol、cast 和那道 BufferError
python
Hvitur10 小时前
Java - Lambda
java·开发语言·python
2601_9679801110 小时前
win10如何把python加入环境变量
python·win10·安装教程·命令行·环境变量
锋行天下18 小时前
langgraph 后端发自定义数据,前端接收方法概括
人工智能·python
benchmark_cc20 小时前
用 QuantDash 读取单只股票五档盘口:抽样、缺失值检查与复现记录
python·数据分析·pandas·量化交易·股票数据·quantdash