2023-12-01
AI
00
请注意,本文编写于 40 天前,最后修改于 37 天前,其中某些信息可能已经过时。

前一篇文章《ChatGPT前端开发篇》中 学习助手的开发和打通钉钉、飞书、微信公众号机器人都是比较初级的套壳开发。针对AI的开发,能做的事情还很多,比如对prompt优化,把AI做成输入输出API的转换,Langchain可以解决LLM(大语言模型)的效率问题和结构化的问题(结构化是指支持多种数据格式的输入和输出,而非仅仅是纯文本了)。本篇文章带你感受AI无所不能的能力,通用人工智能的时代已到来。

image.png

Langchain是什么?

2022年10月发起, 目前是搭建高效可靠的LLMs端到端应用开发框架,早起只有Python版本,23年初社区开始构建TS版本

为什么要使用Langchain?

  1. 良好的框架抽象
    • 结构化的输入输出
    • 链式执行
    • 丰富的Module节点封装
  2. 繁荣的社区氛围
    • 支持TSPython
    • 大语言模型支持:丰富的大语言模型接口集成,除了OpenAI,还有GoogleVertexAI21Google PaLMHuggingFaceInference等等
  3. 开箱即用的逻辑链
    • 大语言模型的API调用
    • 给予文档的概要、和问答
    • 基于索引的问答
    • 给予SQL的问答
    • 集成OpenAIFunction

Langchain的基本组成

image.png

  • Model/IO
    • Model主要与大语言模型API和SDK的交互
    • IO即输入输出,输入即之前的Prompts,限定输出的格式,比如是合法的json,不再仅仅是存文本了,json格式的转换
  • Data Connections 数据的连接
    • 之前的逻辑是Indexes,把内容转换成向量话的配置,
    • Data Connections的概念更宽泛,包括数据源部分(文件、Sql、远端数据)、数据转换(大文件分片)inverding、存储、查询、溯源等数据的全流程操作
  • Chains 通过逻辑链进行模块的处理
  • ·Memory 前面做AI助理时,导入之前的请求信息,使AI具有记忆能力,但是这种方案的缺点时当token超出会丢弃前的数据,Langchain的Memory提供了更多的方案,比如把前面的内容生成摘要,更轻量的达成目标,有点是更稳定
  • Agents 顾名思义是代理,比如你想买房,要找房产中介,提出你的诉求,中介通过他的人脉关系和各种渠道获取不同的信息,再汇总回来,把这一系列的房子展示给你看,然后你再挑哪几套想看的,它又开始联系对方的房东,要联系方式、约时间,这就是代理的过程
  • Callbacks 提供给开发者的生命周期钩子,开发者在不同的环节插入回调,从而监控到每一个环节

存储 存储在es fireBase 内存

Model I/O

  • Prompt
  • LLMs Langchain内部封装了多种大语言模型
  • Output parsers 输出可能被下一个环节消费,它对输出进行定义约束,返回结构化的数据格式,对程序来说非常重要

image.png

使用PromptTemplate高效生成Prompt

  • 基础能力

    • PromptTemplate 封装模版字符串
    • PipelinePromptTemplate  将多条PromptTemplate灵活的组合
  • 封装场景

  • ChatPromptTemplate

  • SystemMessagePromptTemplate

  • HumanMessagePromptTemplate

最近有些事,这篇文章晚点写

本文作者:郭郭同学

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!