首页 > 其他分享 >AI 大模型企业应用实战(06)-初识LangChain

AI 大模型企业应用实战(06)-初识LangChain

时间:2024-06-23 20:20:57浏览次数:28  
标签:06 AI 提供 模型 LangChain LLMs 企业应用 langchain

LLM大模型与AI应用的粘合剂。

1 langchain是什么以及发展过程

LangChain是一个开源框架,旨在简化使用大型语言模型构建端到端应用程序的过程,也是ReAct(reason+act)论文的落地实现。

2022年10月25日开源
54K+ star
种子轮一周1000万美金,A轮2500万美金

11个月里累计发布200多次,提交4000多次代码

2 langchain能做什么和能力一览

模型 A
构造提示词 -> LLMs -> 模型生产结果 -> 结果处理 -> 最终结果

模型 B
构造提示词 -> LLMs -> 模型生产结果 -> 结果处理 -> 最终结果

模型 N...
构造提示词 -> LLMs -> 模型生产结果 -> 结果处理 -> 最终结果

Langchain I/O系统

+------------+                +------------------------+                +------------+
|            |       输入      |    +--------------+    |      输入       |            |
|  用户输入  | -------------> |    |    prompt    |    | -------------> |    LLMs      |
|            |                |    +--------------+    |                |            |
|            |                |                        |                |            |
|            |       输出      |    +--------------+    |      输出       |            |
|            | <------------- |    |    Output    |    | <------------- |            |
+------------+                |    |    Parsers   |    |                +------------+
                              |    +--------------+    |
                              +------------------------+
                                   Langchain I/O系统
  1. 解决大模型各种问题的提示词工程方案之一
  2. 提供了与LLMs交互的各种组件,极大提升开发效率
  3. 可以以文件方式加载提示词、链等,方便共享提示词和做提示词版本管理
  4. 提供丰富的链式工具箱

LLMs & Prompt

提供了目前市面上几乎所有 LLM 的通用接口,同时还提供了 提示词 的管理和优化能力,同时也提供了非常多的相关适用工具,以方便开发人员利用 LangChain 与 LLMs 进行交互。

Chains

LangChain 把 提示词、大语言模型、结果解析封装成 Chain,并提供标准的接口,以便允许不同的Chain形成交互序列,为 AI 原生应用提供了端到端的 Chain

Retrieval-Augemented Generation

检索增强生成式,一种解决预训练语料数据无法及时更新而带来的回答内容陈旧的方式。LangChain提供支持 检索增强生成式的Chain。使用时,这些 Chain 会首先与外部数据源进行交互以获得对应数据,然后再利用获得的数据与 LLMs 进行交互。典型应用场暴如:基于特定数据源的问答机器人。

Agent

对于一个任务,代理主要涉及让 LLMs 来对任务进行拆分、执行该行动、并观察执行结果,代理 会重复执行这个过程,直到该任务完成为止。LangChain 为 代理 提供了标准接口,可供选择的代理,以及一些端到端的代理的示例

Memory

chain 或 agent 调用之间的状态持久化。LangChain 为 内存 提供了准接口三并提供了↖系烈COn的 内存 实现

Evaluation

LangChain 还提供了非常多的评估能力以允许我们可以更方便的对 LLMs 进行评估

3 langchain的优劣

3.1 优点

  • 平台大语言模型调用能力,支持多平台多模型调用,为用户提供灵活选择
  • 轻量级SDK(python、javas生一起将LLMs与传统编程语言集成持
  • 多模态支持,提供多模态数据支持,如图像、音频等

3.2 缺点

  • 学习曲线相对较高
  • 文档相对不完善,官方文档不是很完善
  • 缺乏大型工业化应用实践

4 langchain开发环境搭建

4.1 为啥用Python?

  • 高级的接近人类语言的编程语言,易于学习
  • 动态语言
  • 直译式语言,可以跳过编译逐行执行代码广泛应用于web应用、软件、数据科学和机器学习
  • AI方向的主流语言
  • 活跃的python社区
  • 数据巨大且丰富的库

4.2 环境要求

Python

= 3.8.1,推荐 3.10.12
https://www.python.org/downloads/

安装 jupyter

参阅:安装使用教程

安装 LangChain

官网:https://python.langchain.com

命令安装

$ pip install langchain
$ conda install langchain -c conda-forge

也可以使用VS code/PyCharm的jupyter插件启动。

关注我,紧跟本系列专栏文章,咱们下篇再续!

作者简介:魔都架构师,多家大厂后端一线研发经验,在分布式系统设计、数据平台架构和AI应用开发等领域都有丰富实践经验。

各大技术社区头部专家博主。具有丰富的引领团队经验,深厚业务架构和解决方案的积累。

负责:

  • 中央/分销预订系统性能优化
  • 活动&券等营销中台建设
  • 交易平台及数据中台等架构和开发设计
  • 车联网核心平台-物联网连接平台、大数据平台架构设计及优化
  • LLM应用开发

目前主攻降低软件复杂性设计、构建高可用系统方向。

参考:

本文由博客一文多发平台 OpenWrite 发布!

标签:06,AI,提供,模型,LangChain,LLMs,企业应用,langchain
From: https://www.cnblogs.com/JavaEdge/p/18263863

相关文章

  • 算法训练营第六十七天 | 卡码网110 字符串接龙、卡码网105 有向图的完全可达性、卡码
    卡码网110字符串接龙这题一开始用的邻接表+dfs,不幸超时#include<iostream>#include<list>#include<string>#include<vector>usingnamespacestd;intminLen=501;boolcount(stringa,stringb){intnum=0;for(inti=0;i<a.lengt......
  • 06-6.1.1 图的基本概念
    ......
  • AI在创造还是毁掉音乐?
            目前,国内外音乐大模型的发展呈现出蓬勃的态势,它们在音乐创作领域的影响力愈发显著。以下是一些关于国内外音乐大模型的基本情况、市场份额和商业模式的概述:国内音乐大模型基本情况        国内音乐大模型市场仍处于快速发展阶段,市场份额尚未形成明......
  • 2024.06.07校招 实习 内推 面经
    绿*泡*泡VX:neituijunsir  交流*裙,内推/实习/校招汇总表格1、提前批|上汽通用五菱2024提前批暨暑期实习菱云少年夏令营启动!提前批|上汽通用五菱2024提前批暨暑期实习菱云少年夏令营启动!2、实习|索尼在华2024实习生招募开启,邀你投递简历!实习|索尼在华2024实......
  • Containerd-基础
    本文致力于学习并梳理Containerd,信息来源均参考至官方Github,原文链接如下补充。开始使用link:https://github.com/containerd/containerd/blob/main/docs/getting-started.md仅梳理Linux二进制安装,其他信息并未梳理。依赖与限制独立使用containerd依赖于runc与CNIplugi......
  • Containerd-cri常用功能
    本文致力于学习并梳理Containerd,信息来源均参考至官方Github,原文链接如下补充。cri工作架构link:https://github.com/containerd/containerd/blob/main/docs/cri/architecture.mdKubelet通过CRI运行时服务API调用cri插件来创建pod;cri创建pod的网络命名空间......
  • 【06】数据模型和工作量证明-工作量证明
    1.工作量证明的背景比特币是通过工作量证明来竞争记账权,并获得比特币奖励。简单来讲就是谁能够根据区块数据更快的计算得到满足条件的哈希值,谁就可以胜出,这个块才会被添加到区块链中。我们把这个过程称为挖矿。比特币每10分钟产生1个区块。2.工作量证明算法1.获取区块头......
  • 能理解你的意图的自动化采集工具——AI和爬虫相结合
    ⭐️我叫忆_恒心,一名喜欢书写博客的研究生......
  • AI工具箱 国产 AI 大模型 智谱-智谱清言 字节跳动-豆包 讯飞-星火大模型 百度-文心一
    文章目录......
  • 【QML】用 Image(QQuickPaintedItem) 显示图片
    大体功能:频繁地往界面推送图片,帧率达到视频效果。捕获画布上的鼠标事件和键盘事件。代码如下://DrawImageInQQuickPaintedItem.pro代码如下:QT+=quick#YoucanmakeyourcodefailtocompileifitusesdeprecatedAPIs.#Inordertodoso,uncommentthefo......