4、大模型应用开发框架

LangChain

LangChain技术生态与社区

  • LangSmith:生产级LLM应用开发平台

  • LangChain:LLMs应用开发框架

  • LangChain-Community:第三方集成

  • LangChain-Core:LCEL等协议

  • LangChain Templates:开箱即用APP示例

  • LangServe:Chains生产部署(REST API)

LangChain

LangChain 整个平台技术体系,不包含 LangGraph,LangChain 框架本身包含三大模块。

LangChain-Core:基础抽象和 LangChain 表达式语言。

LangChain-Community:第三方集成。

LangChain:构成应用程序认知架构的链、代理和检索策略。

模型 I/O(Model I/O)

模型 I/O 模块主要由三部分组成:格式化(Format)、预测(Predict)、解析(Parse)。顾名思议,模型 I/O 主要是和大模型打交道,前面我们提到过,大模型其实可以理解为只接受文本输入和文本输出的模型。

此处注意⚠️:目前 LangChain 里的大模型是纯文本补全模型,不包含多模态模型。

在把数据输入到 AI 大模型之前,不论它来源于搜索引擎、向量数据库还是第三方系统接口,都必须先对数据进行格式化,转化成大模型能理解的格式。这就是格式化部分做的事情。

预测是指 LangChain 原生支持的丰富的 API,可以实现对各个大模型的调用。

解析主要是指对大模型返回的文本内容的解析,随着多模态模型的日益成熟,相信很快就会实现对多模态模型输出结果的解析。

Retrieval

Retrieval 可以翻译成检索、抽取,就是从各种数据源中将数据抓取过来,进行词向量化 Embedding(Word Embedding)、向量数据存储、向量数据检索的过程。你可以结合图片来理解整个过程。

Agents

Agents允许LLM自主完成任务。Agent会采取哪些行动,然后执行该行动,并观察结果,并重复此过程直到任务完成。LangChain为代理提供了标准接口、可选择的代理列表以及端到端代理示例。

Chains

链条就是各种各样的顺序调用,类似于 Linux 命令里的管道。可以是文件处理链条、SQL 查询链条、搜索链条等等。LangChain 技术体系里链条主要通过 LCEL(LangChain 表达式)实现。既然是主要使用 LCEL 实现,那说明还有一部分不是使用 LCEL 实现的链条,也就是 LegacyChain,一些底层的链条,没有通过 LCEL 实现。

Memory

内存是指模型的一些输入和输出,包含历史对话信息,可以放入缓存,提升性能,使用流程和我们软件开发里缓存的使用一样,在执行核心逻辑之前先查询缓存,如果查询到就可以直接使用,在执行完核心逻辑,返回给用户前,将内容写入缓存,方便后面使用。

Callbacks

LangChain 针对各个组件提供回调机制,包括链、模型、代理、工具等。回调的原理和普通开发语言里的回调差不多,就是在某些事件执行后唤起提前设定好的调用。LangChain 回调有两种:构造函数回调和请求回调。构造函数回调只适用于对象本身,而请求回调适用于对象本身及其所有子对象。

LCEL

LangChain 表达式,通过特殊字符 | 来连接不同组件,构成复杂链条,以实现特定的功能。

chain = prompt | model | output_parser
chain.invoke()

LangSmith

统一的 DevOps 平台,用于开发、协作、测试、部署和监控大模型应用程序,同时,LangSmith 是一套 Agent DevOps 规范,不仅可以用于 LangChain 应用程序,还可以用在其他框架下的应用程序中。

LangSmith是一个用于构建生产级LLM应用程序的平台。通过提供可视化监控和评估LLM应用原型的平台,LangSmith提升了开发者效率,且支持独立运行。

LangSmith核心功能:

  • Tracing:记录追踪LLM生成内容和调用情况;

  • Monitoring:通过LangSmith平台可视化Tracing记录各项指标;

  • Datasets:为LLM应用原型提供各类数据集及其管理功能;

  • Evaluation:LLM应用性能、多样性、准确性等各项评估,需要Datasets支持。

LangSmith注意事项:

  • LangSmith平台:https://smith.langchain.com/,需要注册账户和创建API_KEY。

  • LangSmith Client SDK:用于交互LangSmith平台的客户端,目前支持Python和TypeScript。

  • LangSmith与LangChain类似,还处于高速发展状态,很多功能和API在不断完善。

Llamalndex

LlamaIndex是一个基于分布式存储和计算的文本检索工具,适用于处理大规模数据集。它支持多种文本相似度计算方法,可以根据不同场景的需求进行灵活配置。此外,LlamaIndex还具备高效的索引创建和查询能力,可以快速处理大量的文本数据。

LlamaIndex设置代理的关键字与其它框架设置代理的关键字不同。其它框架设置代理的关键字一般是:

OPENAI_BASE_URL,而LlamaIndex设置代理的关键字是:OPENAI_API_BASE

LlamaIndex 评估工具

  • Answer Relevcancy:评估 Answer 和 Question 的相关性,评估生成的答案是否和问题相关

  • Context Relevancy:评估 Context 和 Question 的相关性,评估检索到的文档上下文和问题的相关性

  • Relevancy:评估 Answer、Context 与 Question 是否相关,评估问题是否真正得到了回答

  • Faithfulness:评估 Answer 和 Context 是否匹配,评估生成的答案是否符合上下文,检查答案是否有

    幻觉

  • Correctness:评估 Answer 和 Ground Truth 的相关性和正确性,评估生成的答案是否正确

dify

Dify AI是一款强大的LLMOps(Language Model Operations)平台,专为用户提供便捷的人工智能应用程序开发体验。 该平台支持GPT系列模型和其他模型,适用于各种团队,无论是用于内部还是外部的AI应用程序开发。

它结合了后端即服务和LLMOps的概念,使开发人员能够快速构建生产级生成AI应用程序。即使是非技术人员也可以参与人工智能应用的定义和数据操作。

通过集成构建LLM应用程序所需的关键技术栈,包括对数百个模型的支持、直观的Prompt编排接口、高质量的RAG引擎和灵活的Agent框架,同时提供一组易于使用的接口和api, Dify为开发人员节省了大量重新发明轮子的时间,使他们能够专注于创新和业务需求。

AutoGPT

AutoGPT 可以自主实现用户设定的任何目标。它会把一项目标进行拆分分解,然后 自主 地提出一个实施计划。

from langchain_experimental.autonomous_agents import AutoGPT

AutoGPT 原理简单,但对于我们来说其实是一个递归黑盒,暂时没有方法可以限制每一层的调用或者说定制化调用。

层层递归调用以获取结果,成本相对高且不易控制。

fastgpt

FastGPT 是一个基于 LLM 大语言模型的知识库问答系统,提供开箱即用的数据处理、模型调用等能力。同时可以通过 Flow 可视化进行工作流编排,从而实现复杂的问答场景!

SemanticKernel

Semantic Kernel是一个开源SDK,可以轻松地将OpenAI和Hugging Face等人工智能服务与C#和Python等编程语言相结合。通过这样做,可以创建将两个世界的优点结合在一起的人工智能应用程序。

为了帮助开发人员在AI插件之上构建自己的Copilot体验,微软发布了Semantic Kernel,允许编排AI插件。使用Semantic Kernel,可以在应用程序中利用与Microsoft 365 Copilot和Bing相同的人工智能编排模式。

Semantic Kernel提供了一组连接器便于添加存储和模型,能够在你的应用程序中添加一个模拟的“大脑”。

vllm

vLLM是一个开源的大型语言模型(LLM)推理和服务库,它通过一个名为PagedAttention的新型注意力算法来解决传统LLM在生产环境中部署时所遇到的高内存消耗和计算成本的挑战。PagedAttention算法能有效管理注意力机制中的键和值,将它们分割成更小、更易于管理的块,从而减少了vLLM的内存占用,并使其吞吐量超过传统LLM服务方法。

Xinference

Xinference是一个开源平台,用于简化各种 AI 模型的运行和集成。借助 Xinference,您可以使用任何开源 LLM、嵌入模型和多模态模型在云端或本地环境中运行推理,并创建强大的 AI 应用。

  • 30
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值