LangChain让LLM连接更多能力

这篇具有很好参考价值的文章主要介绍了LangChain让LLM连接更多能力。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

LangChain让LLM连接更多能力

 

 随着LLM(Large language models )的发展,不仅仅出现了很多新的应用,一些开发框架也发展很快,典型的就是本文介绍的项目——LangChain,目前LangChain几乎一天一个版本,几个月时间Star数目已经49k+。

LangChain是一个开源框架,能够把LLM的能力做为一个模块与其他能力组合,创造新的功能更强大的应用。

本文先阐述了LangChain解决的问题与背景,然后介绍LangChain中的基本概念,第三部分使用LangChain的python框架,用100行代码实现了一个简单的答疑机器人,通过此示例,能对LangChain的应用场景有个快速的认知。

1. 什么是LangChain

官方的表述:“Building applications with LLMs through composability”,LangChain的目的是为了开发应用,通过模块组合的方式使用LLM,并与其他模块组合的方式来创造应用。

使用LangChain的目的是Building applications ,下面从两个方面分析下在开发应用过程中LangChain能解决的问题,一是从一个框架的角度,也就是“连接”的角度,二是从对于目前LLM模型能力补充的角度,LangChain中不少设计也是针对于此。

1.1 LangChain让LLM这个大脑有了身体,并且能使用工具

 LLM取得了快速发展,能够基于LLM实现新的功能更强大的应用,但如果只使用LLM的能力,能做的事情是非常有限的,典型的是看到的对话交互。LangChain能够连接LLM的能力与目前已有的其他能力,创造能力更强大的应用。有些类似于ChatGPT支持插件,但LangChain作为一个框架,把LLM抽象为一个模块,也就是说这个LLM的模式是可以替换的,比如集成公司自研的模型。

1.2 目前的LLM模型使用有不少限制,LangChain能力可以看作对LLM的补充

  • 获取实时信息
  • 获取私域信息
  • 具备执行动作

LangChain让LLM连接更多能力

 训练的数据只到2021年,一些新的信息无法纳入。OpenAI不同模型的数据可以参考:OpenAI Models。解决这个问题,LangChain能够集成搜索引擎模块,在处理问题时,如果是最新的事件,通过搜索引擎来获取数据并分析。

context的token数量有限制

token指的是 OpenAI 处理文本的基本单位。例如,“hamburger” 被分成 “ham”、“bur” 和 “ger” 三个 Token,而 “pear” 是一个 Token。1个 Token 大约相当于 4 个字符或者 0.75 个英文单词。而且中文相对英文,使用的token更多(“你好,世界” 11个token,"Hello World"只有两个token),可以使用OpenAi提供的token分析器来分析,地址:https://platform.openai.com/tokenizer。

GPT3.5不同模型token为4k到8k,GPT4模型有8k和32k的tokens模型。不同模型的token可以参考:OpenAI Models,OpenAi的官方说明:What are tokens and how to count them?。

LangChain在一些场景下能部分解决这个问题,比如检索分析本地资源场景,通过本地构建embedding的库,搜索结果后,让LLM组织语言来回答。embedding简单可以理解为文本的向量化,向量化后能够让机器来计算文本的相似程度。在对话场景下,如果需要记录聊天记录,LangChain有专门的Memory模块来实现此能力。

2. LangChain的基本概念

本章节主要目的不是系统介绍LangChain中的概念,主要目的是能让未接触过LangChain的同学能有个快速认知,主要关注于Chain与Agent组件。学习一门技术最好的方式是阅读官方文档,学习LangChain也是,需要要系统学习,可以参考文档,LangChain的文档地址:🦜️🔗 LangChain | 🦜️🔗 LangChain。文档很好读,LangChain也不复杂,看Twitter上分享,很多同学都按耐不住,学学python,自己动手造AI应用。

LangChain中主要的Components目前主要有:Schema、Models、Prompts、Indexes、Memory、Chain、Agent,参考:Components | 🦜️🔗 LangChain,其中核心的概念是Chain与Agent,本章节主要围绕着两个概念展开。

一种利用 ChatGLM-6B + langchain 实现的基于本地知识的 ChatGLM 应用。增加 clue-ai/ChatYuan 项目的模型 ClueAI/ChatYuan-large-v2 的支持。其整体流程如下图。

LangChain让LLM连接更多能力

基于FlowWise快速完成langChain+LLM搭建 

 

git clone https://github.com/FlowiseAI/Flowise.git

GitHub - FlowiseAI/Flowise: Drag & drop UI to build your customized LLM flow using LangchainJS

LangChain让LLM连接更多能力

安装教程 

Flowise|无代码 ChatBot 构建平台|LangChain - 知乎 

本人是搭建是基于阿里云主机docker自己本地构建的镜像

下载源码

git clone https://github.com/FlowiseAI/Flowise.git

进入Flowise目录,构建镜像 

docker build --no-cache -t flowise .

 运行容器

docker run -d --name flowise -p 3000:3000 flowise

查看是否运行成功

docker ps

LangChain让LLM连接更多能力

成功访问Flowise 

LangChain让LLM连接更多能力文章来源地址https://www.toymoban.com/news/detail-497328.html

到了这里,关于LangChain让LLM连接更多能力的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • LLM大语言模型(九):LangChain封装自定义的LLM

    想基于ChatGLM3-6B用LangChain做LLM应用,需要先了解下LangChain中对LLM的封装。本文以一个hello world的封装来示例。 继承关系:BaseLanguageModel——》BaseLLM——》LLM 简化和LLM的交互 _call抽象方法定义 BaseLLM类其实有两个abstract方法:_generate方法和_llm_type方法 注意:LLM类仅实现了_genera

    2024年04月10日
    浏览(34)
  • LangChain入门(一)访问LLM模型

    GitHub - liaokongVFX/LangChain-Chinese-Getting-Started-Guide: LangChain 的中文入门教程 LangChain 的中文入门教程. Contribute to liaokongVFX/LangChain-Chinese-Getting-Started-Guide development by creating an account on GitHub. https://github.com/liaokongVFX/LangChain-Chinese-Getting-Started-Guide   目录 一、安装langchain 二、langchain依赖

    2024年02月11日
    浏览(39)
  • 【LLM】Langchain使用[二](模型链)

    场景:一个输入和一个输出 场景:多个输入和输出的时候 结果如下,可以看到根据评论文本,子链1将文本翻译为英语,子链2将英文文本进行总结,子链3得到初始文本的语言,子链4对英文文本进行回复,并且是用初始语言。每个后面的子链可以利用前面链的 outpu_key 变量。

    2024年02月16日
    浏览(31)
  • LangChain:打造自己的LLM应用

    LangChain是一个框架,用于开发由LLM驱动的应用程序。可以简单认为是LLM领域的Spring,以及开源版的ChatGPT插件系统。核心的2个功能为: 1)可以将 LLM 模型与外部数据源进行连接。 2)允许与 LLM 模型与环境进行交互,通过Agent使用工具。 LangChain提供了各种不同的组件帮助使用

    2024年02月14日
    浏览(29)
  • 谷歌 Bard上线正面挑战ChatGPT,基于精简版的LaMDA需要更少的计算能力来接触更多的用户并获得更多的反馈

    虽然有关 Bing 上集成ChatGPT的泄密和谣言在网上层出不穷,但谷歌在 Big G 举办的活动前两天让所有人大吃一惊,这里宣布了Bard的到来。就在几天前,谷歌还承诺,其产品使用的 AI 只是尝鲜,很快就会看到一些消息。2 月 6 日晚抵达,Alphabet通过首席执行官桑达尔·皮采 (Sundar

    2024年02月13日
    浏览(32)
  • LLM预备知识、工具篇——LLM+LangChain+web UI的架构解析

    1、token token是LLM中处理的最小文本单元,token的分割有多种策略: (1)基于空格分词:即以空格为分隔,将文本分割成词组。对于英文可以使用这种方式。 (2)基于词典分词:根据预设的词典,在词典中可以匹配到的词组作为一个token; (3)基于字节对齐分词:按照字节个数

    2024年02月04日
    浏览(42)
  • LLM系列 | 18 : 如何用LangChain进行网页问答

    一夕轻雷落万丝,霁光浮瓦碧参差。 紧接之前 LangChain专题 文章: 15:如何用LangChain做长文档问答? 16:如何基于LangChain打造联网版ChatGPT? 17:ChatGPT应用框架LangChain速成大法 今天这篇小作文是LangChain实践专题的第4篇,主要介绍如何用LangChain进行网页问答。前文介绍用LangChain做文

    2024年02月15日
    浏览(44)
  • 基于LangChain的LLM应用开发3——记忆

    此情可待成追忆,只是当时已惘然。我们人类会有很多或美好或痛苦的回忆,有的回忆会渐渐模糊,有的回忆午夜梦醒,会浮上心头。 然而现在的大语言模型都是没有记忆的,都是无状态的,大语言模型自身不会记住和你对话之间的历史消息。根本用不着“时时勤拂拭”,天

    2024年02月08日
    浏览(31)
  • 给LLM装上知识:从LangChain+LLM的本地知识库问答到LLM与知识图谱的结合

    过去半年,随着ChatGPT的火爆,直接带火了整个LLM这个方向,然LLM毕竟更多是基于过去的经验数据预训练而来,没法获取最新的知识,以及各企业私有的知识 为了获取最新的知识,ChatGPT plus版集成了bing搜索的功能,有的模型则会调用一个定位于 “链接各种AI模型、工具”的

    2024年02月12日
    浏览(42)
  • LangChain:打造自己的LLM应用 | 京东云技术团队

    LangChain是一个框架,用于开发由LLM驱动的应用程序。可以简单认为是LLM领域的Spring,以及开源版的ChatGPT插件系统。核心的2个功能为: 1)可以将 LLM 模型与外部数据源进行连接。 2)允许与 LLM 模型与环境进行交互,通过Agent使用工具。 [外链图片转存失败,源站可能有防盗链机

    2024年02月14日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包