怎么在大模型之上构建应用?构建人工智能上层应用的框架——langchain

news2024/11/15 15:26:52

“langchain,在大模型之上构建应用的脚手架”

在大模型之上构建应用需要很多的步骤,比如文档加载,数据库读取,大模型加载,以及各个环节的连接等。

因此,就有了langchain这个开发框架,它的功能就是把大模型开发过程中需要的常见问题整合在一块,方便开发者。

当然,不使用langchain是否能构建上层应用?

答案是可以,但会很麻烦。

01、什么是langchain?

简单来说,langchain是一款开发框架,它的作用就是简化开发者的开发流程,让开发者能够把精力集中在具体的业务中,而不是一大堆繁杂的准备工作中。

举例来说,构建一个人工智能的应用,可能既需要文字生成,又需要图片处理,还需要进行分类等;这时一个大模型可能无法同时满足这几个要求。

因此,如果要同时调用多个大模型的功能,这时每一个大模型都需要接口调用处理等。

比如,在大模型的加载中就有第三方服务比如chatGPT,通义千问等;还有开源模型的加载,比如huggingface上的开源模型,还有一些本地大模型服务部署的框架如ollama/gpt4all/llstudio等,还包括自己开发的大模型框架,如使用pytorch,tensorflow开发的模型。

不同的模型具有不同的加载方式,如果全部自己手动开发,那么将会耽误大量的时间,而且还可能存在各种问题。

图片

再加上当前大模型+知识库的爆火,有知识库给大模型做资料库,这时就需要把知识库集成到应用中。就一个知识库就涉及到文档加载,向量数据库,资料存储与搜索等多个功能。

这些功能很重要,但它们都属于具体业务的支撑技术,这样就会导致开发人员需要大量的时间和精力来处理这些边缘又重要的任务。

因此langchain就出现了,langchain封装了很多技术细节,开发者只需要按照它的要求进行简单的调用就可以完成以上功能,大大简化了开发人员的流程。

02、langchain的核心功能模块

  • 模型(model i/o)

模型模块的功能主要就是各种模型的加载,由langchain官网提供了多种模型的加载包,比如通过网络调用openAI的接口,调用huggingface接口和自定义模型接口等。

在这里插入图片描述

  • 提示(prompt)

提示的作用就是prompt工程,因为当前的大模型还不够智能,所以良好的提示词会获得更好的回应。因此,就诞生了提示词工程,其作用就是更好的提问。

  • 索引(index)

索引模块的作用主要用来加载外部文档,比如知识库,搜索引擎等。此模块可以从外部网络中加载文档并输入到大模型中,以助于可以让我们得到更好的处理结果;文档格式也是多种多样,比如txt,word,pdf,数据库等。

在这里插入图片描述

  • 内存(memory)

这里内存的作用是用来记录历史记录,在大模型的交互中大模型本身没用记录历史提问的功能,所以需要自己做历史记录,然后再次访问的时候,把历史记录一块带着。

  • 链(chain)

链是langchain中的核心模块,其作用是把多个步骤串成一条调用链,比如先获取用户输入之后,先调用知识库获取资料,在调用文本生成模型生成文本,再调用图片生成功能生成图片等。

链就可以把上述功能给串起来,简化操作,即把上层的输出作为下层的输入。

  • 代理(agent)

在这里插入图片描述

在应用的构建中可能会用到很多第三方的功能或插件,比如需要搜索功能就要调用谷歌或百度的搜索接口,需要控制机械手臂完成动作也需要调用其接口。

而这就是代理模块的作用,也叫做AI agent,作用相当于大模型的手和脚,也是大模型与工业领域结合的方向。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【gif制作】Win下视频生成GIF;工具GifCam单色保存,灰度保存,调速,编辑删除帧添加文本

下载地址 https://blog.bahraniapps.com/gifcam/#download https://gifcam.en.softonic.com/ 界面功能 GifCam 简洁、小巧的 gif 录制软件。GifCam就像照相机一样位于所有窗口的顶部,可以移动它并调整其大小录屏所需的区域。 如图:空闲状态下窗口内…

8.项目结构——黑马程序员Java最新AI+若依框架项目

目录 前言一、后端1.ruoyi-admin2.ruoyi-common3.ruoyi-framework4. ruoyi-generator(可删除)5.ruoyi-quartz(可删除)5.ruoyi-system6. ruoyi-ui7.sql8.依赖关系9. 总结 二、前端三、SQL 前言 提示:本篇叙述若依前后端项目结构 一、后端 1…

Python使用策略模式绘制图片分析多组数据

趋势分析:折线图静态比较:条形图分布分析:箱线图离散情况:散点图 import matplotlib.pylab as plt from abc import ABC, abstractmethod import seaborn as sns import pandas as pd import plotly.graph_objects as go import p…

项目方案:社会视频资源整合接入汇聚系统解决方案(七)

目录 一、概述 1.1 应用背景 1.2 总体目标 1.3 设计原则 1.4 设计依据 1.5 术语解释 二、需求分析 2.1 政策分析 2.2 业务分析 2.3 系统需求 三、系统总体设计 3.1设计思路 3.2总体架构 3.3联网技术要求 四、视频整合及汇聚接入 4.1设计概述 4.2社会视频资源分…

Redis数据库(一):Redis数据库介绍与安装

Redis是一种高性能的开源内存数据库,支持多种数据结构(如字符串、列表、集合等),具有快速的读写速度。它提供持久化、主从复制、高可用性和分布式部署等功能,适用于缓存、实时分析、消息队列等应用场景。Redis使用简单…

Spring Boot + Vue 全栈开发,都需要哪些前端知识?

Node.js默认安装的npm包和工具的位置:Node.js目录\node_modules 在这个目录下你可以看见 npm目录,npm本身就是被NPM包管理器管理的一个工具,说明 Node.js已经集成了npm工具 #在命令提示符输入 npm -v 可查看当前npm版本 npm -v 二、使用n…

用英文介绍成都:Chengdu, China’s New Blueprint MEGACITY

Chengdu, China’s New Blueprint MEGACITY Link: https://www.youtube.com/watch?va6DR5Hh4AHM Southwest China’s largest metropolis and one of its greenest big cities has a population of 21 million. Chengdu exemplifies Beijing’s quest to modernize the count…

SiC MOSFET的性能优势以及技术难点

碳化硅功率器件近年来越来越广泛应用于工业领域,不断地推陈出新,作为一种新型功率器件,与传统的硅基功率器件相比,在某些特定条件下具有独特的优势,但也存在一定的不足,似乎对于碳化硅元器件的普及还有一些…

JAVA并发编程【Semaphore】源码解析

文章目录 一、Semaphore基础概念二、接口限流场景模拟三、Semaphore源码解析3.1、Semaphore结构解析3.1.1、Sync源码3.1.2、NonfairSync源码3.1.3、FairSync源码 3.2、Semaphore重点方法源码解析 本章节将对Semaphore类中所有方法进行源码解析并提供部分代码案例。可以让读者全…

服务器win10server,python安装paddleocr的踩坑日记

最近由于需要图像文字识别的简单业务,研究了一下,一是用大厂的文字识别api,如百度腾讯等,但这种免费版只有有限的调用次数,如百度只有每月只有1000次调用额度,个人也够用,但由于业务量大&#x…

通天星CMSV6车载定位监控平台 point_manage/merge SQL注入致RCE漏洞复现

0x01 产品简介 通天星CMSV6车载定位监控平台拥有以位置服务、无线3G/4G视频传输、云存储服务为核心的研发团队,专注于为定位、无线视频终端产品提供平台服务,通天星CMSV6产品覆盖车载录像机、单兵录像机、网络监控摄像机、行驶记录仪等产品的视频综合平台。 0x02 漏洞概述 …

泛微E9开发 根据判断条件,控制字段的编辑/必填属性

根据判断条件,控制字段的编辑/必填属性 1、需求说明2、实现方法3、扩展知识点1. 注册钩子事件,指定动作完成后触发1.1 接口名称及参数说明1.2 案例 2. 改变单个字段显示属性(只读/必填等)2.1 参数说明2.2 案例 1、需求说明 当字段“填报人”和字段“姓名…

测试基础15:测试用例设计方法-场景设计(流程分析)

课程大纲 1、定义 系统多个功能串联形成业务流程,不仅需要验证正确的主流程,而且需要验证各个功能点各种异常情况。 2、应用场景 与因果图&判定表方法的相似之处:界面需手动填写的输入框少,基本只需选择有限的几个&#xff08…

小型数据中心是什么?如何建设?

在数字化时代,小型数据中心正成为许多企业和组织加强数据管理和服务扩展的理想选择。与传统大型数据中心相比,小型数据中心以其灵活性、高效性和相对较低的运营成本吸引着越来越多的关注。然而,要成功建设一个小型数据中心,并确保…

TC3xx启动的功能安全机制浅析(1)

目录 1.SM基本概念 2.芯片启动阶段safety相关解读 3.小结 之前描述TC3xx Boot Firmware逻辑时提到了功能安全的内容,但没有完全展开;启动阶段与功能安全相关的内容如下图所示: 其中, 灰色背景指在BootRom Fireware里的运行逻辑…

720漫游工具又双叒叕上新了一批新功能

一、720漫游全景图片上传支持「自定义水印」 全景图片素材上传支持自定义水印设置,通过自定义水印,可以在全景图片上打上自定义的水印图片保护用户版权利益,同时强化自身品牌露出。具体操作如下: 打开「创建720漫游作品页」-选择…

一文搞懂Linux命令行下载OneDrive分享文件

一文搞懂Linux命令行下载OneDrive分享文件 什么问题? 因为OneDrive有些坑,无法从分享界面获取真实下载链接,比如下面这个链接: https://connecthkuhk-my.sharepoint.com/:f:/g/personal/jhyang13_connect_hku_hk/EsEgHtGOWbJIm…

信息系统分析与设计:重点内容|UML在线绘制|数据库技术

目录 UML在线绘图工具信息系统分析与设计第1章 系统思想第2章 信息、管理与信息系统第3章 信息系统建设概论🌟第4章 系统规划🌟第5章 系统分析概述第6章 流程建模🌟业务流程图DFD数据流图🌟数据字典 第7章 用例建模(用例图)&#…

【扫雷游戏】C语言详解

Hi~!这里是奋斗的小羊,很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~~ 💥💥个人主页:奋斗的小羊 💥💥所属专栏:C语言 🚀本系列文章为个人学习…

这才是真正的在线VS Code,其他的只能算是在线文本编辑器

前言 在数字化时代,编程已成为各行各业不可或缺的技能。然而,传统的编程环境往往需要在本地安装复杂的开发工具和软件,这不仅占用了大量的存储空间,还可能导致系统资源的浪费。为此在网上冲浪找了许多在线代码编辑器,…