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 发布!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/736280.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【学习笔记】Mybatis-Plus(三):MP中Wrapper的使用

Wrapper简介 注意&#xff1a; 查询用QueryWrapper和LambdaQueryWrapper来封装 updateWrapper和LambdaUPdateWrapper不但能封装查询还能更改要更新的对象。 QueryWrapper的使用 QueryWrapper中的很多条件限定都是见名知其意的。下表列出来几个常用的&#xff1a; 1.多条件进行…

拖拽劫持与数据窃取

2010 年&#xff0c;ClickJacking 技术有了新的发展。一位名叫 Paul Stone 的安全研究者在 BlackHat 2010 大会上发表了题为“Next Generation Clickjacking”的演讲。在该演讲中&#xff0c;提出了“浏览器 拖拽事件”导致的一些安全问题。 目前很多浏览器都开始支持 Drag &a…

智能风控(原理、算法与工程实践)项目一

本文介绍该书第一章的项目&#xff1a;运用CART树进行规则挖掘&#xff0c;具体代码如下 #!/usr/bin/env python # coding: utf-8 # In[1]: import pandas as pd import numpy as np import os # In[2]: data pd.read_excel( ./data_for_tree.xlsx) # In[3]: data.h…

(南京观海微电子)——TFT LCD压合技术

TFT-LCD TFT-LCD open cell后段制程主要指的是将驱动IC和PCB压合至液晶板上&#xff0c;这个制程主要由三个步骤组成&#xff1a; 1.ACF (Anisotropic Conductive Film)的涂布。 在液晶板需要压合驱动IC的地方涂布ACF&#xff0c;ACF又称异方性导电胶膜&#xff0c;特点是上下…

编程精粹—— Microsoft 编写优质无错 C 程序秘诀 07:编码中的假象

这是一本老书&#xff0c;作者 Steve Maguire 在微软工作期间写了这本书&#xff0c;英文版于 1993 年发布。2013 年推出了 20 周年纪念第二版。我们看到的标题是中译版名字&#xff0c;英文版的名字是《Writing Clean Code ─── Microsoft’s Techniques for Developing》&a…

Spring Boot + WebSocket 实现 IM 即时通讯

文章目录 1. 项目环境准备2. 配置WebSocket3. 创建消息处理器4. 创建消息类5. 创建前端页面6. 启动应用并测试7. 分析与扩展结论 &#x1f389;欢迎来到SpringBoot框架学习专栏~ ☆* o(≧▽≦)o *☆嗨~我是IT陈寒&#x1f379;✨博客主页&#xff1a;IT陈寒的博客&#x1f388;…

项目训练营第四天

项目训练营第四天 前端部分修改 前端用的是WebStorm和Ant Design Pro框架 Ant Design Pro是比较流行的一个前端登陆、注册、管理框架&#xff0c;能帮我们快速实现前端界面的开发 效果大致如图 使用起来也极为方便&#xff0c;首先在WebStorm 控制台中输入如下命令 # 使用…

Repair LED lights

Repair LED lights 修理LED灯&#xff0c;现在基本用灯带&#xff0c;就是小型LED灯串联一起的 1&#xff09;拆旧灯条&#xff0c;这个旧的是用螺丝拧的产品 电闸关掉。 2&#xff09;五金店买一个&#xff0c;这种是磁铁吸附的产品 现在好多都是铝线啊。。。 小部件&#x…

塞贝壳效应

塞贝克效应&#xff08;Seebeck effect&#xff09;&#xff0c;通常被称为第一热电效应&#xff0c;是由托马斯约翰塞贝克&#xff08;Thomas Johann Seebeck&#xff09;在1821年发现的一种热电现象。这个效应描述了当两种不同的导体或半导体在它们的接点处有温度差时&#x…

6月21日训练 (东北林业大学)(个人题解)

前言&#xff1a; 这次训练是大一大二一起参加的训练&#xff0c;总体来说难度是有的&#xff0c;我和队友在比赛时间内就写出了四道题&#xff0c;之后陆陆续续又补了了三道题&#xff0c;还有一道题看了学长题解后感觉有点超出我的能力范围了&#xff0c;就留给以后的自己吧。…

【区块链】区块链架构设计:从原理到实践

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 区块链架构设计&#xff1a;从原理到实践引言一、区块链基础概念1.1 区块链定义…

4.1 四个子空间的正交性

一、四个子空间的正交性 如果两个向量的点积为零&#xff0c;则两个向量正交&#xff1a; v ⋅ w v T w 0 \boldsymbol v\cdot\boldsymbol w\boldsymbol v^T\boldsymbol w0 v⋅wvTw0。本章着眼于正交子空间、正交基和正交矩阵。两个子空间的中的向量&#xff0c;一组基中的向…

网络知识 思维导图

计算机网络基础知识点多且杂&#xff0c;想要系统地学习&#xff0c;思维导图肯定是必不可少的。今天整理了38张思维导图&#xff0c;帮助你轻松理清思路&#xff0c;快速掌握关键内容。建议你收藏起来慢慢看&#xff0c;在看过之后最好能重新动手画一画&#xff0c;让计算机网…

TCP与UDP_三次握手_四次挥手

TCP vs UDP TCP数据 具体可以通过Cisco Packet Tracer工具查看&#xff1a; UDP数据 三次握手、四次挥手 为什么是3/4次&#xff1f;这牵扯到单工、双工通信的问题 TCP建立连接&#xff1a;表白 TCP释放连接&#xff1a;分手 TCP—建立连接—三次握手 解释&#xff1a; 首先&…

RTSP协议分析与安全实践

RTSP协议&#xff0c;全称实时流协议(Real Time Streaming Protocol)&#xff0c;前文已经简单介绍了RTSP相关协议&#xff1b; RTSP和RTP(RTCP) 这里再提一下RTSP和RTP/RTCP、RSVP的关系&#xff1b;如图&#xff1a; RTSP和HTTP 相似性&#xff1a;RTSP和HTTP协议都使用纯…

Linux简单使用——配置仓库

虚拟机和Xshell连接 在虚拟机上打开终端查看IP 在Xshell上建立会话 输入ssh root192.168.231.123 防火墙关闭 、 重启计算机命令 删除文件 然后ls查看 清除之前的垃圾 最后做一下命令缓存

借助AI快速提高英语听力:如何获得适合自己的听力材料?

英语听力是英语学习中的一个重要组成部分&#xff0c;它对于提高语言理解和交流能力至关重要。可理解性学习&#xff08;comprehensible input&#xff09;是语言习得理论中的一个概念&#xff0c;由语言学家Stephen Krashen提出&#xff0c;指的是学习者在理解语言输入的同时&…

全栈人工智能工程师:现代博学者

任何在团队环境中工作过的人都知道&#xff0c;每个成功的团队都有一个得力助手——无论你的问题性质如何&#xff0c;他都能帮助你。在传统的软件开发团队中&#xff0c;这个人是一个专业的程序员&#xff0c;也是另一种技术的专家&#xff0c;可以是像Snowflake这样的数据库技…

[Spring Boot]Netty-UDP客户端

文章目录 简述Netty-UDP集成pom引入ClientHandler调用 消息发送与接收在线UDP服务系统调用 简述 最近在一些场景中需要使用UDP客户端进行&#xff0c;所以开始集成新的东西。本文集成了一个基于netty的SpringBoot的简单的应用场景。 Netty-UDP集成 pom引入 <!-- netty --…

自2008年金融危机以来首次,欧洲AAA级CMBS投资者面临亏损

在欧洲预期损失之前&#xff0c;美国AAA级CMBS投资者已经遭受了打击。即便是最高信用等级的投资也不再安全&#xff0c;全球金融系统可能存在一些严重的问题。 历史罕见&#xff0c;最安全的AAA级债权人&#xff0c;在没有发生经济危机的情况下&#xff0c;出现了损失&#xff…