【AI大模型应用开发】【LangChain系列】0. LangChain框架介绍,实现LangChain的Hello World

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
简介: 【AI大模型应用开发】【LangChain系列】0. LangChain框架介绍,实现LangChain的Hello World

AI时代,相信大家或多或少都听过 LangChain 的大名。通俗的说,LangChain是一个面向大模型的开发框架(SDK)。

目前 LangChain 仍在快速迭代中,所以在使用中要时刻关注你所使用的版本和接口变更。

0. 认识LangChain框架

从上图可以看到,LangChain 目前有四层框架:

  • 最下层深色部分:LangChain的Python和JavaScript库。包含无数组件的接口和集成,以及将这些组件组合到一起的链(chain)和代理(agent)封装,还有链和代理的具体实现。
  • Templates:一组易于部署的参考体系结构,用于各种各样的任务。
  • LangServe:用于将LangChain链部署为REST API的库。
  • LangSmith:一个开发人员平台,允许您调试、测试、评估和监控基于任何LLM框架构建的链,并与LangChain无缝集成。

在最下层深色部分- LangChain的Python和JavaScript库中,可以看到它封装了一系列模块。

  • 模型 I/O 封装,包括:
  • LLMs:大语言模型
  • ChatModels:一般基于 LLMs,但按对话结构重新封装
  • Prompt:提示词模板
  • OutputParser:解析输出
  • Retrieval 数据连接与向量检索封装,包括:
  • Retriever: 向量的检索
  • Document Loader:各种格式文件的加载器
  • Embedding Model:文本向量化表示,用于检索等操作
  • Verctor Store: 向量的存储
  • Text Splitting:对文档的常用操作
  • Agents 根据用户输入,自动规划执行步骤,自动选择每步需要的工具,最终完成用户指定的功能,包括:
  • Tools:调用外部功能的函数,例如:调 google 搜索、文件 I/O、Linux Shell 等等
  • Toolkits:操作某软件的一组工具集,例如:操作 DB、操作 Gmail 等等
  • Chain 实现一个功能或者一系列顺序功能组合
  • Memory 记忆封装,也就是上下文的管理能力封装
  • Callbacks 一些过程回调函数

1. 动手实现你的第一个LangChain程序

1.1 LangChain 环境

(1)安装 LangChain

  • pip 安装
pip install langchain
  • conda 安装
conda install langchain -c conda-forge

(2)安装 LangChain X OpenAI

LangChain封装了对于大模型的调用接口,也就是说,我们可以选择使用的模型,无论是在线模型还是本地部署的模型。本文我们还是使用OpenAI的API来调用大模型。

pip install -U langchain-openai

1.2 通过LangChain的接口来调用OpenAI对话

import os
# 加载 .env 到环境变量
from dotenv import load_dotenv, find_dotenv
_ = load_dotenv(find_dotenv())
from langchain_openai import ChatOpenAI ## langchain封装的openai对话接口
 
llm = ChatOpenAI() # 默认是gpt-3.5-turbo
response = llm.invoke("你是谁") ## 通过 invoke 传入对话
print(response.content)
## 运行结果输出:我是一个AI助手,没有具体的身份。我是由OpenAI开发的,可以帮助回答问题和提供信息。

1.3 多轮对话的封装

import os
# 加载 .env 到环境变量
from dotenv import load_dotenv, find_dotenv
_ = load_dotenv(find_dotenv())
from langchain_openai import ChatOpenAI
 
llm = ChatOpenAI() # 默认是gpt-3.5-turbo
from langchain.schema import (
    AIMessage, #等价于OpenAI接口中的assistant role
    HumanMessage, #等价于OpenAI接口中的user role
    SystemMessage #等价于OpenAI接口中的system role
)
messages = [
    SystemMessage(content="你是[同学小张]的个人助理。你叫[小明]"), 
    HumanMessage(content="我叫[同学小张]"), 
    AIMessage(content="好的老板,你有什么吩咐?"),
    HumanMessage(content="我是谁") 
]
response = llm.invoke(messages)
print(response.content)
## 运行输出:您是同学小张。

通过以上代码可以看到:

  • LangChain内封装了AIMessage、HumanMessage、SystemMessage等消息类型,区分消息来源。
  • invoke对话接口接收一系列消息,可以实现多轮对话(上述代码中的多轮对话在哪:第一轮是“我叫[同学小张]”,第二轮我问它"我是谁"时,第一轮我的名字的信息带进去了,所以它才能回复:“您是同学小张”)。

这样模型封装的意义在哪?

  • 可以实现不同模型间的无缝切换,llm = ChatOpenAI()是GPT模型,它可以换成 llm = ErnieBotChat(),其它代码都不用改,就可以切换到文心大模型。

好了,本文先写到这,算是对 LangChain 系列开了个头。后面咱们深入各个模块去学习和实战。

如果觉得本文对你有帮助,麻烦点个赞和关注呗 ~~~


  • 大家好,我是同学小张
  • 欢迎 点赞 + 关注 👏,促使我持续学习持续干货输出
  • +v: jasper_8017 一起交流💬,一起进步💪。
  • 微信公众号也可搜【同学小张】 🙏
  • 踩坑不易,感谢关注和围观

本站文章一览:

相关实践学习
阿里云百炼xAnalyticDB PostgreSQL构建AIGC应用
通过该实验体验在阿里云百炼中构建企业专属知识库构建及应用全流程。同时体验使用ADB-PG向量检索引擎提供专属安全存储,保障企业数据隐私安全。
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
相关文章
|
8天前
|
人工智能 Linux iOS开发
exo:22.1K Star!一个能让任何人利用日常设备构建AI集群的强大工具,组成一个虚拟GPU在多台设备上并行运行模型
exo 是一款由 exo labs 维护的开源项目,能够让你利用家中的日常设备(如 iPhone、iPad、Android、Mac 和 Linux)构建强大的 AI 集群,支持多种大模型和分布式推理。
239 100
|
2天前
|
人工智能 编解码 算法
ENEL:3D建模革命!上海AI Lab黑科技砍掉编码器,7B模型性能吊打13B巨头
ENEL是由上海AI Lab推出的无编码器3D大型多模态模型,能够在多个3D任务中实现高效语义编码和几何结构理解,如3D对象分类、字幕生成和视觉问答。
36 9
ENEL:3D建模革命!上海AI Lab黑科技砍掉编码器,7B模型性能吊打13B巨头
|
2天前
|
机器学习/深度学习 人工智能 机器人
TIGER:清华突破性模型让AI「听觉」进化:参数量暴降94%,菜市场都能分离清晰人声
TIGER 是清华大学推出的轻量级语音分离模型,通过时频交叉建模和多尺度注意力机制,显著提升语音分离效果,同时降低参数量和计算量。
55 6
TIGER:清华突破性模型让AI「听觉」进化:参数量暴降94%,菜市场都能分离清晰人声
|
6天前
|
人工智能 Linux 开发工具
Kiln AI:零代码实现微调模型!自动生成合成数据与微调模型的开源平台
Kiln AI 是一款开源的 AI 开发工具,支持零代码微调多种语言模型,生成合成数据,团队协作开发,自动部署。帮助用户快速构建高质量的 AI 模型。
396 7
Kiln AI:零代码实现微调模型!自动生成合成数据与微调模型的开源平台
|
7天前
|
人工智能 数据可视化 搜索推荐
免费+数据安全!手把手教你在PC跑DeepSeek-R1大模型,小白也能秒变AI大神!
本地部署AI模型(如DeepSeek R1)保障数据隐私、节省成本且易于控制,通过Ollama平台便捷安装与运行,结合可视化工具(如Chatbox)及Python代码调用,实现高效、个性化的AI应用开发与使用。
100 3
免费+数据安全!手把手教你在PC跑DeepSeek-R1大模型,小白也能秒变AI大神!
|
3天前
|
人工智能 算法 调度
DeepSeek杀疯了!国产AI大模型如何重构未来技术版图?
【爆款导读】当ChatGPT还在为每月10亿访问量沾沾自喜时,中国AI军团已悄然完成弯道超车。2025年开年,DeepSeek以雷霆之势横扫中美应用商店双榜,上线72小时突破千万DAU,开发者生态激增300%。通过优化算法降低成本、多模态能力提升效率,DeepSeek不仅在用户数量上取得突破,更在实际应用场景中展现强大实力。其开源策略推动技术民主化,助力更多开发者参与AI开发,成为AI军备竞赛中的佼佼者。
137 20
|
3天前
|
人工智能 自然语言处理 架构师
Praison AI:LangChain危险了!这个低代码框架让AI智能体「自主协作」,1行代码搞定任务编排
Praison AI 是一个开源的多智能体框架,支持低代码创建和管理AI代理,提供多种流程类型和集成选项,适用于企业流程自动化、智能客服等场景。
76 18
|
4天前
|
机器学习/深度学习 人工智能 自然语言处理
以史为鉴,未雨绸缪:身处“大模型掀起的AI浪潮中”的感悟和思考
本文旨在帮助读者更深入地理解大模型和AI技术,重点介绍关键技术革新的背景与影响,特别是本次大模型时代和新一轮AI浪潮的推动因素与发展历程。
|
8天前
|
人工智能 Java 语音技术
【最佳实践系列】零基础上手百炼语音AI模型
阿里云百炼语音AI服务提供了丰富的功能,包括语音识别、语音合成、实时翻译等。通过`alibabacloud-bailian-speech-demo`项目,可以一键调用这些服务,体验语音及大模型的魅力,降低接入门槛。该项目支持Python和Java,涵盖从简单的一句话合成到复杂的同声传译等多个示例,助力开发者快速上手并进行二次开发。
|
8天前
|
人工智能 关系型数据库 分布式数据库
PolarDB 开源基础教程系列 7.4 应用实践之 AI大模型外脑
PolarDB向量数据库插件通过实现通义大模型AI的外脑,解决了通用大模型无法触达私有知识库和产生幻觉的问题。该插件允许用户将新发现的知识和未训练的私有知识分段并转换为向量,存储在向量数据库中,并创建索引以加速相似搜索。当用户提问时,系统将问题向量化并与数据库中的向量进行匹配,找到最相似的内容发送给大模型,从而提高回答的准确性和相关性。此外,PolarDB支持多种编程语言接口,如Python,使数据库具备内置AI能力,极大提升了数据处理和分析的效率。
35 4

热门文章

最新文章