[python]-LangChain

简介

云上大模型架构

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

  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岗位及职责

科学的学习路线设计

相关推荐
BK贝壳3 小时前
亿级用户签到位图选型复盘:用 bool-hybrid-array 扛冷启动打卡,也把它和 Roaring/Redis 的边界测清楚了
数据结构·python·性能优化·numpy
2601_966949654 小时前
如何根据研究的起止时间截取分钟级行情?Python 实战与 QuantDash 数据处理指南
开发语言·python·pandas·量化交易·1024程序员节·股票数据·quantdash
张彦峰ZYF6 小时前
越过边界之前:Reward Seeker 实验如何改写智能体安全的时间逻辑
人工智能·ai agent·anthropic·智能体安全·reward seeker·“控制评价过程”泛化跨领域策略·envbom
拓恒技术6 小时前
无人机巡检AI算法的工程化落地:从需求到交付的5个核心环节
人工智能·算法·无人机
罗西的思考8 小时前
AI 时代的 “房谋杜断”:如何培养能力、品味与判断力
人工智能·算法·机器学习
在世修行8 小时前
智学文枢:页面切换与跨页数据预填
python·桌面应用·signal·1024程序员节·pyside·跨页跳转·状态预填
字节跳动视频云技术团队9 小时前
720P 直升 8K,解密 2026 抖音美好奇妙夜巨幕超分黑科技
人工智能·音视频开发
2601_962885729 小时前
如何用 Python 把 K 线重采样成任意周期?
开发语言·python
打工仔折腾 AI9 小时前
在 Ubuntu ARM64 部署 Q1 V3.0 MuJoCo 模型:加载、单步推理与执行器响应解析
linux·运维·人工智能·python·深度学习·ubuntu·性能优化
逐米时代9 小时前
从试点验证到协同深化:制造业AI转型三年路线图设计方法
人工智能