[python]-LangChain
云上大模型架构使用LangChain框架代替Ollama,完成对模型的管理和使用,用基于LangChain提供Python调用支持使用阿里云百炼平台的通义千问系列模型,提供云上的模型算力支持前端不变,继续使用Streamlit原有代码即可LangChain框架介绍LangChain由Harrison Chase创建于2022年10月,它是围绕LLMs(大语言模型)建立的一个框架.
·
简介
云上大模型架构


使用阿里云平台提供的云上模型构建聊天机器人,在技术架构上,主要的改动有:
- 使用LangChain框架代替Ollama,完成对模型的管理和使用,用基于LangChain提供Python调用支持
- 使用阿里云百炼平台的通义千问系列模型,提供云上的模型算力支持
- 前端不变,继续使用Streamlit原有代码即可
LangChain框架介绍
LangChain由Harrison Chase创建于2022年10月,它是围绕LLMs(大语言模型)建立的一个框架.


- LangChain自身并不开发LLMs,它的核心理念是为各种LLMs实现通用的接口,把LLMs相关的组件"链接"在一起,简化LLMs应用的开发难度,方便开发者快速地开发复杂的LLMs应用.
- LangChain是一个用于构建和管理基于语言模型(Language Models,LM)的应用程序的框架。它提供了一系列工具和组件,帮助开发者更高效地构建、训练、部署和管理语言模型应用。LangChain的设计目标是简化语言模型的使用过程,使其更加容易被集成到各种应用场景中。
- LangChain之所以大火,是因为它提供了一系列方便的工具、组件和接口,大大降低了AI应用开发的门槛,也极大简化了大模型应用程序的开发过程。
- 网址: https://python.langchain.com/docs
- LangChain框架特点
- 模块化设计: LangChain采用模块化设计,将不同的功能拆分成独立的组件,如Prompts、Models、Chains、Memory、Retriever和Agent。这些组件可以灵活组合,以满足不同应用的需求。
- 强大的模型支持: 支持多种预训练语言模型,如GPT-3、BERT、T5等。这些模型经过大规模数据训练,具备强大的语言理解和生成能力。
- 易用的APl: 提供简单易用的PythonAPI,开发者可以通过几行代码快速实现复杂的语言处理任务。
- 丰富的工具和组件: 包括数据处理工具、模型训练和微调工具、服务接口、应用开发工具等,覆盖了从数据准备到模型部署的全流程。
- 社区支持: 拥有一个活跃的社区,提供了大量的示例和教程,帮助开发者快速上手和解决常见问题。
LangChain相关包安装
相关包简介:
langchain: 主要用于构建和管理基于语言模型的应用程序,提供从模型管理到应用开发的一站式解决方案。
langchain_community: 是langchain的社区版,包含社区贡献的额外功能和插件,提供更多扩展性的工具。
dashscope: 主要用于构建和管理数据科学和机器学习应用,提供丰富的数据可视化和模型部署工具。
cmd命令行执行如下命令:
- pip install langchain -i https://pypi.tuna.tsinghua.edu.cn/simple
- pip install langchain-community -i https://pypi.tuna.tsinghua.edu.cn/simple
- pip install dashscope -i https://pypi.tuna.tsinghua.edu.cn/simple
LangChain主要组件

LangChain框架应用场景
- 文本生成: 自动生成文章、故事、诗歌、代码等。
- 机器翻译: 将一种语言的文本翻译成另一种语言。
- 问答系统: 回答用户提出的问题,提供准确的信息。
- 文本分类和情感分析: 对文本进行分类,判断其情感倾向(正面、负面、中性等)。
- 摘要生成: 从长篇文章中提取关键信息,生成简洁的摘要。
- 对话系统: 构建聊天机器人、虚拟助手,进行自然的对话交互。
入门案例
阿里云百炼平台介绍


- 创建阿里百炼应用和选择模型

- 如图点击新增应用,选择智能体应用。

- 获取API KEEY

LangChain环境
LangChain本质上上一个Python框架,要部署LangChain环境可以通过pip命令安装对应的包即可。
命令如下:
- pip install langchain -i https://pypi.tuna.tsinghua.edu.cn/simple
- pip install langchain-community -i https://pypi.tuna.tsinghua.edu.cn/simple
- pip install dashscope -i https://pypi.tuna.tsinghua.edu.cn/simple
- langchain: 大模型应用开发核心框架,提供链、记忆、检索等功能
- langchain_community:LangChain社区贡献组件,含第三方工具、模型集成
- dashscope:阿里云官方的大模型开发Python库,用于调用通义千问(Qwen)等阿里系大模型的API,实现对话、生成、推理等功能。
LangChain示例代码
from langchain.chains import ConversationChain
from langchain.memory import ConversationBufferMemory
from langchain_community.llms import Tongyi
# 创建一个内存记忆对象
memory = ConversationBufferMemory(return_message=True)
def get_response(prompt, api_key):
model = Tongyi(model="qwen-max", api_key=api_key)
chain = ConversationChain(llm=model, memory=memory)
# 发送请求
response = chain.invoke({"input": prompt})
return response["response"]
if __name__ == '__main__':
print(get_response("请python 1-100的输出", "sk-fa5b080ac78b4323b13f733b50f1d5c0"))
聊天机器人
Streamlit和LangChain结合
- 将此代码保存为:langchain_util.py

- 将原有代码的调用Ollama函数,改为调用刚刚准备的LangChain函数即可

- 完整代码

AI学习路线
AI岗位及职责

科学的学习路线设计

更多推荐


所有评论(0)