当前位置: 首页 > news >正文

AI 大模型企业应用实战(06)-初识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 发布!

http://www.lryc.cn/news/380449.html

相关文章:

  • JavaScript的学习之旅之初始JS
  • DataStructure.时间和空间复杂度
  • [Spring Boot]Netty-UDP客户端
  • 基础C语言知识串串香11☞宏定义与预处理、函数和函数库
  • Python 3 函数
  • 【Linux详解】冯诺依曼架构 | 操作系统设计 | 斯坦福经典项目Pintos
  • html做一个画热图的软件
  • 软考初级网络管理员__软件单选题
  • 数据库新技术【分布式数据库】
  • 关于运用人工智能帮助自己实现英语能力的有效提升?
  • IPv6知识点整理
  • 数据赋能(127)——体系:数据标准化——概述、关注焦点
  • 【 ARMv8/ARMv9 硬件加速系列 3.5.1 -- SVE 谓词寄存器有多少位?】
  • Python - 调用函数时检查参数的类型是否合规
  • Python基础面试题解答
  • MATLAB直方图中bin中心与bin边界之间的转换
  • Chromium 开发指南2024 Mac篇-开始编译Chromium(五)
  • 2024.06.11校招 实习 内推 面经
  • linux 免密备份文件到另外一台服务器
  • 【html】用html写一个博物馆首页
  • 【雷丰阳-谷粒商城 】【分布式高级篇-微服务架构篇】【13】压力压测JMeter-性能监控jvisualvm
  • 【python】python海底捞门店营业数据分析与可视化(数据集+源码+论文)【独一无二】
  • 利用机器学习弄懂机器学习!
  • Ubuntu22.04系统安装及配置
  • 抖音多功能全自动引流工具,支持评论关注私信留痕点赞等,让你的抖音粉丝暴涨!
  • day3-xss漏洞(米斯特web渗透测试)
  • HTML中的<iframe>标签及其属性
  • Elastisearch集群(单节点)
  • Vue78-缓存路由组件
  • windows设置开机启动项