news 2026/7/15 4:04:10

[python]-LangChain

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[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岗位及职责

科学的学习路线设计

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/7 21:44:30

这款产品解锁《秘奥:秘宇奥忆》沉浸式星际探秘

当腐朽奢华的太空废土遇上高速流畅的类银河恶魔城玩法,法国独立工作室 Douze Diximes 打造的《秘奥:秘宇奥忆》,将漫画线条、水彩质感与油画诗意熔于一炉,在锈蚀机械与葱郁植被的碰撞中,构筑出孤独又浪漫的星际方舟世界…

作者头像 李华
网站建设 2026/7/7 21:46:20

代码是如何变成可执行文件的?

代码是如何变成可执行文件的?—— 深入理解编译全过程 起因 前几天在公司,我的 mentor 突然问我:“代码在编译过程中,预处理阶段到底在做什么?” 我愣了一下,发现自己对这块知识的理解确实有些模糊。虽然每…

作者头像 李华
网站建设 2026/7/7 21:44:19

字节这款新AI让导演都慌了!Seedance2.0凭什么能自动剪大片?

📌 目录🎬 字节杀疯了!Seedance2.0自动剪大片,导演都慌了:这是要抢饭碗?一、核心黑科技:双分支大脑,终结AI音画错位的噩梦二、实测封神:多模态神操作,细节碾压…

作者头像 李华
网站建设 2026/7/9 0:06:09

折叠面板(Accordion)

折叠面板(Accordion) 引言 折叠面板(Accordion)是一种常见的界面元素,广泛应用于各种Web应用和桌面应用程序中。它通过将内容折叠成多个部分,使得用户可以快速地查看和隐藏信息,从而提高页面布局的整洁性和用户体验。本文将详细介绍折叠面板的设计原理、实现方式以及在…

作者头像 李华
网站建设 2026/7/7 22:55:40

Spring Boot 3 步完成日志脱敏,简单实用~

在我们写代码的时候,会书写许多日志代码,但是有些敏感数据是需要进行安全脱敏处理的。对于日志脱敏的方式有很多,常见的有:①使用conversionRule标签,继承MessageConverter ②书写一个脱敏工具类,在打印日志…

作者头像 李华
网站建设 2026/7/7 22:53:57

12.2 太牛了!批量传输技术竟然还能这样用?

太牛了!批量传输技术竟然还能这样用? 在WebSocket网关中,批量传输技术是提升系统吞吐量和降低网络开销的重要手段。通过将多个小消息合并为一个大消息进行传输,可以显著减少网络交互次数,提高传输效率。本章将深入探讨批量传输技术的实现原理和应用场景。 1. 批量传输概…

作者头像 李华