简介

云上大模型架构

使用阿里云平台提供的云上模型构建聊天机器人,在技术架构上,主要的改动有:

  1. 使用LangChain框架代替Ollama,完成对模型的管理和使用,用基于LangChain提供Python调用支持
  2. 使用阿里云百炼平台的通义千问系列模型,提供云上的模型算力支持
  3. 前端不变,继续使用Streamlit原有代码即可

LangChain框架介绍

LangChain由Harrison Chase创建于2022年10月,它是围绕LLMs(大语言模型)建立的一个框架.

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

LangChain相关包安装

相关包简介:

langchain: 主要用于构建和管理基于语言模型的应用程序,提供从模型管理到应用开发的一站式解决方案。

langchain_community: 是langchain的社区版,包含社区贡献的额外功能和插件,提供更多扩展性的工具。

dashscope: 主要用于构建和管理数据科学和机器学习应用,提供丰富的数据可视化和模型部署工具。

cmd命令行执行如下命令:

  1. pip install langchain -i https://pypi.tuna.tsinghua.edu.cn/simple
  2. pip install langchain-community -i https://pypi.tuna.tsinghua.edu.cn/simple
  3. pip install dashscope -i https://pypi.tuna.tsinghua.edu.cn/simple

LangChain主要组件

LangChain框架应用场景

  1. 文本生成: 自动生成文章、故事、诗歌、代码等。
  2. 机器翻译: 将一种语言的文本翻译成另一种语言。
  3. 问答系统: 回答用户提出的问题,提供准确的信息。
  4. 文本分类和情感分析: 对文本进行分类,判断其情感倾向(正面、负面、中性等)。
  5. 摘要生成: 从长篇文章中提取关键信息,生成简洁的摘要。
  6. 对话系统: 构建聊天机器人、虚拟助手,进行自然的对话交互。

入门案例

阿里云百炼平台介绍

  1. 官网地址: https://bailian.console.aliyun.com

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

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

  1. 获取API KEEY

LangChain环境

LangChain本质上上一个Python框架,要部署LangChain环境可以通过pip命令安装对应的包即可。

命令如下:

  1. pip install langchain -i https://pypi.tuna.tsinghua.edu.cn/simple
  2. pip install langchain-community -i https://pypi.tuna.tsinghua.edu.cn/simple
  3. 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结合

  1. 将此代码保存为:langchain_util.py

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

  1. 完整代码

AI学习路线

AI岗位及职责

科学的学习路线设计

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐