首页 > 其他分享 >langchain 简介

langchain 简介

时间:2024-07-19 21:25:14浏览次数:17  
标签:语言 简介 模型 LangChain langchain 模块 应用程序 开发者

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站

LangChain 是一个用于语言模型和应用程序开发的框架,它提供了一系列工具和组件,
帮助开发者更轻松地构建基于大型语言模型(LLMs,如 OpenAI 的 GPT 系列)的应用程序。
LangChain 的目标是降低构建复杂语言应用程序的难度,通过提供一个模块化的框架,使得开发者能够快速集成和定制语言模型。

LangChain 可以很方便地连接大语言模型和各种应用。

主要特性

以下是 LangChain 的主要特性:

  • 模块化设计:LangChain 提供了一系列模块,包括模型、消息、角色、API 等,开发者可以根据自己的需求选择合适的模块进行组合。
  • 多种语言模型支持:LangChain 支持多种语言模型,包括 OpenAI 的 GPT 系列、清言的 GLM 系列等。
  • 链式调用:开发者可以创建 “链”(chains),这些链是一系列可以顺序执行的语言模型调用和其他操作,用于构建复杂的交互式应用程序。
  • 数据集成:LangChain 提供了与多种数据源集成的能力,如文件、数据库、搜索引擎等,使得语言模型能够访问和利用这些数据。
  • 可定制性:开发者可以根据特定任务对语言模型的行为进行微调,包括设置提示(prompts)、添加额外的上下文信息等。

为什么需要 LangChain?

大模型的智能效果令人振奋,可是当开发人员试图将大模型这颗“聪明脑”放入应用程序时,却发现了前所未有的挑战。

  • prompt 的结构如何标准化?(PromptTemplate
  • 如果我想中途随时切换大模型,怎样简单方便地操作?
  • LLM 的输出是非结构化的,它如何与结构化的程序接口相互交互?
  • 预训练模型的知识落后,如何让它知道最新的信息?
  • 如何让这颗大脑拥有记忆?(Memory
  • 如何给这颗 “聪明脑” 装上 “五官”,让它能够感知环境输入?
  • 怎样给这颗 “聪明脑” 装上 “手” 和 “脚”,让它帮我执行具体的任务?(Agent

LangChain 尝试解决的,就是这些问题。 LangChain 框架背后的核心思想是将自然语言处理序列分解为各个部分,允许开发人员根据自己的需要高效地定制工作流程

LangChain 的核心模块

Langchain 有6大核心模块:

  • Models:模型,是各种类型的模型和模型集成。
  • Prompts:提示,包括提示管理、提示优化和提示序列化。
  • Memory:记忆,用来保存和模型交互时的上下文状态。
  • Indexes:索引,用来结构化文档,以便和模型交互。包括文档加载程序、向量存储器、文本分割器和检索器等。
  • Agents:代理,决定模型采取哪些行动,执行并且观察流程,直到完成为止。
  • Chains:链,一系列对各种组件的调用。

在这里插入图片描述

LangChain 通常被用作「粘合剂」,将构建 LLM 应用所需的各个模块连接在一起。
使用 Langchain 中不同组件的特性和能力,可以构建不同场景下的应用,如聊天机器人、基于文档的问答、知识管理、个人助理、Agent 智能体等等。

如果需在本地或离线环境下使用大模型,需要首先将所需的模型下载至本地,通常开源 LLM 与 Embedding 模型可以从 HuggingFace 下载。

再比如,使用 Index 部分涉及的 RAG 技术,可以将特定领域的资料存在向量数据库里,在调用大模型时找出相关的部分作为“参考资料”传给大模型,以得到更为符合业务要求的回答。

在这里插入图片描述

标签:语言,简介,模型,LangChain,langchain,模块,应用程序,开发者
From: https://blog.csdn.net/rubys007/article/details/140551289

相关文章

  • 云容灾关键技术点简介
    本文分享自天翼云开发者社区《云容灾关键技术点简介》,作者:武****昱容灾与备份区别备份是为防止系统出现操作失误或系统故障导致数据丢失,而将全系统或部分数据集合从应用主机的硬盘或阵列复制到其他存储介质的过程。备份是数据高可用的最后一道防线。容灾是当灾难发生时,在保证......
  • HTML 简介
    HTML简介HTML(HyperTextMarkupLanguage,超文本标记语言)是构建和设计网页的标准标记语言。它不是一种编程语言,而是一种标记语言,用于创建网页和网页应用程序的内容结构。HTML文档由一系列的标签(elements)组成,这些标签告诉浏览器如何显示内容,比如文本、图片、链接、列表、表格等。......
  • 【笔记】【THM】Introduction to Cryptography(密码学简介)
    【THM】IntroductiontoCryptography(密码学简介)-学习本文相关的TryHackMe实验房间链接:https://tryhackme.com/r/room/cryptographyintro本文相关内容:了解AES、Diffie-Hellman密钥交换、哈希、PKI和TLS等加密算法。(大部分为机翻,若有错误请指出)介绍这个房间的目的是向......
  • 纺织行业生产环节业务简介
    ......
  • 结合LangChain实现网页数据爬取
    LangChain非常强大的一点就是封装了非常多强大的工具可以直接使用。降低了使用者的学习成本。比如数据网页爬取。在其官方文档-网页爬取中,也有非常好的示例。应用场景信息爬取。RAG信息检索。实践应用需求说明从ceshiren网站中获取每个帖子的名称以及其对应的url信......
  • LangChain补充二:LCEL和Runnable更加方便的创建调用链
    https://www.alang.ai/langchain/101/lc05一:LCEL入门LangChain的设计围绕着让AI应用开发者能够方便地将多个流程连缀成一个AI应用的业务逻辑,包括Chain与Agent。每个流程都被封装成一个runnable(langchain_core.runnables),包括提示语模板、模型调用、输出解析器、工具......
  • Flash简介及其中的Bootloader如何实现对APP程序的下载更新或重装
    目录1.eMMC、NandFlash都属于Flash,Flash的具体类别如下2.Bootloader在APP程序下载更新或重装中存在的意义3.Bootloader下载更新或重装APP程序的思路框架4.Bootloader下载更新或重装APP程序代码实现1.eMMC、NandFlash都属于Flash,Flash的具体类别如下       ......
  • 3.5mm耳机孔简介
    一、简单介绍主流的大小,2.5mm、3.5mm、6.35mm。其中,3.5和6.35之间用转接线就能转换。6.35前身的应用场景就是电话交换机。2.5mm插头因为比3.5mm插头还要细一些,结构十分脆弱,非常容易扭断,目前基本被淘汰。 ​二、兼容问题主要是因为3.5mmTRRS接口规范定义不一样造成的。......
  • LangChain补充一:一些小且有用的点
    一:LangChain表达式语言LCEL(LangChainExpressionLanguage)chain:我们可以将包括大模型调用在内的一组操作组成“链条”,即所谓“调用链”(一)概念LangChain提供的LangChainExpressionLanguage(LCEL)让开发可以很方便地将多个组件连接成AI工作流(或者说是调用链)。如下是一......
  • LangChain补充五:Agent之LangGraph的使用
    一:LangGraph入门https://www.51cto.com/article/781996.htmlhttps://blog.csdn.net/weixin_41496173/article/details/139023846https://blog.csdn.net/wjjc1017/article/details/138518087https://langchain-ai.github.io/langgraph/https://langchain-ai.github.io/langg......