使用Python和通义千问打造免费的Qwen大模型聊天机器人【LangChain入门】
LangChain 是一个用于开发由大型语言模型(Large Language Models,简称LLMs)驱动的应用程序的框架。它提供了一个灵活的框架,使得开发者可以构建具有上下文感知能力和推理能力的应用程序,这些应用程序可以利用公司的数据和APIs。这个框架由几个部分组成。LangChain 库:Python 和 JavaScript 库。包含了各种组件的接口和集成,一个基本的运行时,用于将这
前言
LangChain 是一个用于开发由大型语言模型(Large Language Models,简称LLMs)驱动的应用程序的框架。
它提供了一个灵活的框架,使得开发者可以构建具有上下文感知能力和推理能力的应用程序,这些应用程序可以利用公司的数据和APIs。
这个框架由几个部分组成。
- LangChain 库:Python 和 JavaScript 库。包含了各种组件的接口和集成,一个基本的运行时,用于将这些组件组合成链和代理,以及现成的链和代理的实现。
- LangChain 模板:一系列易于部署的参考架构,用于各种任务。
- LangServe:一个用于将 LangChain 链部署为 REST API 的库。
- LangSmith:一个开发者平台,让你可以调试、测试、评估和监控基于任何 LLM 框架构建的链,并且与 LangChain 无缝集成。
LangChain本身并不开发LLMs,它的核心理念是为各种LLMs提供通用的接口,降低开发者的学习成本,方便开发者快速地开发复杂的LLMs应用。
这篇文章将在 Python 环境下使用 LangChain 框架,免费接入通用的大型语言模型,构建一个基础的 AI 聊天机器人。
废话不多说,直接进入正题。
LangChain 库
LangChain 框架的核心理念是将语言模型(如大型语言模型)与应用程序的其他部分无缝集成,以创建具有数据感知和自主性的智能应用程序。以下是 LangChain 的一些关键特点和组件:
-
数据感知:LangChain 允许开发者将语言模型连接到各种数据源,使其能够理解和处理来自这些源的信息。
-
自主性:通过 LangChain,语言模型可以与其环境交互,执行任务,如回答问题、执行命令或与用户进行交互。
-
组件化:LangChain 提供了一个抽象层,使得开发者可以轻松地使用语言模型,无论他们是否使用 LangChain 框架的其他部分。这些组件是模块化的,易于使用和集成。
-
现成的链:LangChain 提供了一系列结构化的组件集合,这些集合被称为“现成的链”,用于完成特定的高级任务。这使得开发者可以快速开始开发,而无需从头构建所有内容。
-
易于定制和扩展:由于组件化的特性,LangChain 使得定制现有链或构建新链变得容易,以适应更复杂的应用程序和特定的用例。
-
多种组件:LangChain 提供了多种组件,以支持不同的用例,包括但不限于:
- 个人助理:创建能够执行任务和提供信息的虚拟助手。
- 文档问答:开发能够理解和回答有关文档内容的问题的系统。
- 聊天机器人:构建能够与用户进行自然对话的聊天机器人。
- 查询表格数据:使应用程序能够查询和理解表格数据。
- 与 API 交互:允许应用程序与外部 API 进行交互,以获取或发送数据。
- 提取、评估和汇总:提供工具来提取信息、评估数据和汇总结果。
要使用 LangChain,开发人员需要导入必要的组件和工具,如语言模型(LLMs)、聊天模型(chat models)、代理(agents)、链(chains)和内存功能。这些组件可以组合起来创建一个能够理解、处理和响应用户输入的智能应用程序。
通过这种方式,LangChain 为开发人员提供了一个强大的平台,以构建和部署具有高级语言处理能力的应用程序。
安装langchain
pip install langchain==0.2.1 # 安装langchain
pip install langchain-community==0.2.1 # 安装第三方集成
pip install python-dotenv==1.0.1 # 使用 .env 文件来管理应用程序的配置和环境变量
pip install dashscope==1.19.2 # 安装灵积模型库
白嫖阿里云灵积模型服务
上周很多公司的大模型调用费用纷纷下调,而且一些活动给予的免费额度也是非常不错,以阿里为例:
这高低不得白嫖一番,不过海鸽之前已经开通,享受不到这波免费额度。
哭晕在厕所…
开通流程
:搜索灵积模型服务,开通服务,生成阿里云灵积模型服务的apikey
。
- 访问DashScope管理控制台:前往控制台。
- 在控制台“总览”页下,点击“去开通”。
- 阅读服务协议,确认无误后点击“立即开通”。
- 进入产品控制台,创建api-key
创建聊天机器人
导入相关包
import os
from dotenv import find_dotenv, load_dotenv
from langchain_community.llms import Tongyi
from langchain_core.runnables import RunnableSequence
from langchain.prompts import PromptTemplate
load_dotenv(find_dotenv())
DASHSCOPE_API_KEY = os.environ["DASHSCOPE_API_KEY"]
创建一个 .env 文件
文件内容为阿里控制台生成的 apikey
DASHSCOPE_API_KEY="sk-x9xxxxxxddxxxxxxxxxxx254e1xxxxx"
实例化 llm, 并赋予它一个角色
默认使用的模型(model_name)是
qwen-plus
,这里我改成qwen-turbo
,当然你可以选择适合你自己的。
class QwenTurboTongyi(Tongyi):
model_name = "qwen-turbo"
class QwenMaxTongyi(Tongyi):
model_name = "qwen-max"
def xiao_hei_zi():
llm = QwenTurboTongyi(temperature=1)
template = '''
你的名字是小黑子,当有人问问题的时候,你都会在回答的开头加上'唱,跳,rap,篮球!\n\n',然后再回答{question}, 内容尽量详细
'''
prompt = PromptTemplate(
template=template,
input_variables=["question"]
)
chain = RunnableSequence(prompt | llm)
question = '蔡徐坤是谁?'
res = chain.invoke({"question": question})
print(res)
运行
小结
这样,最简单的使用 LangChain 接入阿里通义千问大模型实现的聊天机器人算是初步完成,赶紧去白嫖吧。
如何学习AI大模型?
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓
更多推荐
所有评论(0)