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

相关推荐
程序员拂雨28 分钟前
Python知识框架
开发语言·python
灏瀚星空32 分钟前
地磁-惯性-视觉融合制导系统设计:现代空战导航的抗干扰解决方案
图像处理·人工智能·python·深度学习·算法·机器学习·信息与通信
Code_流苏37 分钟前
《Python星球日记》 第72天:问答系统与信息检索
python·微调·问答系统·bert·应用场景·基于检索·基于生成
敲键盘的小夜猫41 分钟前
深入理解Python逻辑判断、循环与推导式(附实战案例)
开发语言·python
Looooking1 小时前
Python 之 selenium 打开浏览器指定端口进行接续操作
python·selenium
Dreams°1231 小时前
【Python爬虫 !!!!!!政府招投标数据爬虫项目--医疗实例项目文档(提供源码!!!)!!!学会Python爬虫轻松赚外快】
分布式·爬虫·python·mysql·scikit-learn
郜太素1 小时前
PyTorch 中神经网络相关要点(损失函数,学习率)及优化方法总结
人工智能·pytorch·python·深度学习·神经网络·学习
L_cl1 小时前
【Python 算法零基础 2.模拟 ④ 基于矩阵】
python·算法·矩阵
玉笥寻珍1 小时前
web安全渗透测试基础知识之登录绕过篇
python·安全·web安全·网络安全·威胁分析
Eric.Lee20212 小时前
conda 输出指定python环境的库 输出为 yaml文件
linux·python·conda