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

相关推荐
萧鼎40 分钟前
Python并发编程库:Asyncio的异步编程实战
开发语言·数据库·python·异步
学地理的小胖砸41 分钟前
【一些关于Python的信息和帮助】
开发语言·python
疯一样的码农41 分钟前
Python 继承、多态、封装、抽象
开发语言·python
Python大数据分析@1 小时前
python操作CSV和excel,如何来做?
开发语言·python·excel
黑叶白树1 小时前
简单的签到程序 python笔记
笔记·python
Shy9604181 小时前
Bert完形填空
python·深度学习·bert
上海_彭彭2 小时前
【提效工具开发】Python功能模块执行和 SQL 执行 需求整理
开发语言·python·sql·测试工具·element
zhongcx012 小时前
使用Python查找大文件的实用脚本
python
yyfhq3 小时前
sdnet
python
测试19983 小时前
2024软件测试面试热点问题
自动化测试·软件测试·python·测试工具·面试·职场和发展·压力测试