【Datawhale LLM学习笔记】一、什么是大型语言模型(LLM)

文章目录

  • 1. 什么是大模型
  • 2. 检索增强生成 RAG
    • 一、什么是 RAG
    • 二、RAG 的工作流程
  • 3. langChain介绍
    • 一、什么是 LangChain
    • 二、LangChain 的核心组件
  • 4. 开发 LLM 应用的整体流程
    • 一、何为大模型开发
    • 二、大模型开发的一般流程
    • 三、搭建 LLM 项目的流程简析(以知识库助手为例)
      • 步骤一:项目规划与需求分析
      • 步骤二:数据准备与向量知识库构建
      • 步骤三:大模型集成与 API 连接
      • 步骤四:核心功能实现
      • 步骤五:核心功能迭代优化
      • 步骤六:前端与用户交互界面开发
      • 步骤七:部署测试与上线
      • 步骤八:维护与持续改进

1. 什么是大模型

一种旨在理解和生成人类语言的人工智能模型

2. 检索增强生成 RAG

一、什么是 RAG

指导大型语言模型生成更为精准的答案

LLM面临如下挑战

  • 信息偏差/幻觉: LLM 有时会产生与客观事实不符的信息。RAG 通过检索数据源,确保输出内容的精确性和可信度,减少信息偏差
  • 知识更新滞后性:LLM 基于静态的数据集训练,这可能导致模型的知识更新滞后,RAG 通过实时检索最新数据,保持内容的时效性

二、RAG 的工作流程

RAG工作可以分为以下4个阶段:数据处理、检索、增强和生成

在这里插入图片描述

  • 数据处理:清洗原始数据,转换为可检索格式,然后存入db
  • 检索:将用户的问题在db中检索
  • 增强:增强检索到的信息,让模型更容易理解
  • 生成:生成模型依据增强结果,生成回答

3. langChain介绍

一、什么是 LangChain

LangChain是一个开源框架,为各种大型语言模型应用提供通用接口,从而简化应用程序的开发流程,帮助开发者们快速构建基于大型语言模型的端到端应用程序或工作流程

利用 LangChain 框架,我们可以轻松地构建如下所示的 RAG 应用

在这里插入图片描述

二、LangChain 的核心组件

LangChain 主要由以下 6 个核心组件组成:

  • 模型输入/输出(Model I/O):与语言模型交互的接口
  • 数据连接(Data connection):与特定应用程序的数据进行交互的接口
  • 链(Chains):将组件组合实现端到端应用。比如后续我们会将搭建检索问答链来完成检索问答。
  • 记忆(Memory):用于链的多次运行之间持久化应用程序状态;
  • 代理(Agents):扩展模型的推理能力。用于复杂的应用的调用序列;
  • 回调(Callbacks):扩展模型的推理能力。用于复杂的应用的调用序列;
    在这里插入图片描述

4. 开发 LLM 应用的整体流程

一、何为大模型开发

通过大预言模型强大的理解生成能力,结合自身数据与业务,开发出来的应用程序称为大模型发开

用通俗的话来说,就是调用大模型api,开发属于自己的产品。比如暴躁女友在线聊天软件

在这里插入图片描述

大模型开发要素:
在这里插入图片描述

二、大模型开发的一般流程

在这里插入图片描述

  • 确定目标: 在开发之前,明确应用的目标、场景和受众,尽量首选最小可行产品(MVP)作为起点,逐步完善。

  • 设计功能: 根据目标,设计应用的功能和实现逻辑,着重于核心功能,逐步扩展上下游功能,确保全面覆盖用户需求。

  • 搭建整体架构: 基于特定数据库、Prompt和通用大模型的架构,使用LangChain等框架,构建从用户输入到应用输出的完整流程。

  • 搭建数据库: 建立个性化数据库支持,使用Chroma等向量数据库进行数据预处理、向量化存储,确保数据质量和向量化构建。

  • Prompt工程化: 通过迭代构建高质量的Prompt,对大模型性能具有重要影响,包括原则、技巧、小型验证集设计和Prompt的持续优化。

  • 验证迭代: 通过发现Bad Case并改进Prompt工程化,不断优化系统效果,应对各种边界情况,直至达到稳定且能实现目标的Prompt版本。

  • 前后端搭建: 核心功能完成后,进行前后端搭建,设计产品页面,利用Gradio和Streamlit等工具帮助快速搭建可视化页面,实现Demo上线。

  • 体验优化: 上线后,持续跟踪用户体验,记录Bad Case和用户反馈,针对性优化,确保长期用户满意度。

三、搭建 LLM 项目的流程简析(以知识库助手为例)

以下我们将结合本实践项目与上文的整体流程介绍,简要分析知识库助手项目开发流程:

步骤一:项目规划与需求分析

1.项目目标:基于个人知识库的问答助手

2.核心功能:

  • 将爬取并总结的MD文件及用户上传文档向量化,并创建知识库;
  • 选择知识库,检索用户提问的知识片段;
  • 提供知识片段与提问,获取大模型回答;
  • 流式回复;
  • 历史对话记录

3.确定技术架构和工具

  • 框架:LangChain
  • Embedding模型:GPT、智谱、M3E
  • 数据库:Chroma
  • 大模型:GPT、讯飞星火、文心一言、GLM 等
  • 前后端:Gradio 和 Streamlit

步骤二:数据准备与向量知识库构建

加载本地文档 -> 读取文本 -> 文本分割 -> 文本向量化 -> question 向量化 -> 在文本向量中匹配出与问句向量最相似的 top k 个 -> 匹配出的文本作为上下文和问题一起添加到 Prompt 中 -> 提交给 LLM 生成回答。

在这里插入图片描述

  1. 文档收集与处理

    • 收集用户提供的文档,如PDF、TXT、MD等格式。
    • 使用LangChain的文档加载器或Python包进行读取。
    • 将长文档切分为短文本,每段文本作为一个知识单位。
  2. 文档向量化

    • 利用文本嵌入技术将文档片段向量化,保持语义相似性。
    • 将向量化的文本存入向量数据库,建立索引以实现快速检索。
  3. 建立知识库索引

    • 将向量化的文档导入Chroma知识库,利用LangChain集成向量数据库。
    • 通过向量相关性算法(如余弦算法)匹配最相似的知识库片段,作为上下文与用户问题一起提交给LLM进行回答。

步骤三:大模型集成与 API 连接

  • 集成 GPT、星火、文心、GLM 等大模型,配置 API 连接。
  • 编写代码,实现与大模型 API 的交互,以便获取问题回答。

步骤四:核心功能实现

  1. Prompt工程化和流式回复

    • 建立Prompt工程,使大模型能够根据用户提问和知识库内容生成回答。
    • 实现流式回复功能,支持用户进行多轮对话,提高交互自然度和连贯性。
  2. 历史对话记录功能

    • 添加历史对话记录功能,记录用户与助手的交互历史。
    • 保存对话记录,为用户提供更好的个性化服务和回溯功能。

步骤五:核心功能迭代优化

  • 进行验证评估,收集 Bad Case。
  • 根据 Bad Case 迭代优化核心功能实现。

步骤六:前端与用户交互界面开发

  • 使用 Gradio 和 Streamlit 搭建前端界面。
  • 实现用户上传文档、创建知识库的功能。
  • 设计用户界面,包括问题输入、知识库选择、历史记录展示等。

步骤七:部署测试与上线

部署问答助手到服务器或云平台,上线并向用户发布。

步骤八:维护与持续改进

  1. 系统监测与用户反馈

    • 监测系统性能和用户反馈,快速响应并处理问题,确保系统稳定运行。
  2. 知识库更新

    • 定期更新知识库,添加新文档和信息,保持知识库内容的时效性和全面性。
  3. 用户需求收集与改进

    • 主动收集用户需求,进行系统改进和功能扩展,提升用户体验和系统功能。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

长波热红外应用

长波热红外通常是指波长范围在8至14微米之间的红外辐射。这种红外辐射主要来自于物体的热能,因此也称为热红外辐射。相比于短波红外,长波热红外更适合用于测量和探测物体的温度,因为它们能够捕捉到物体辐射的长波长热能,从而提供更…

推荐:跟风用的几款在线文档编辑器超好用

在信息化浪潮中,越来越多人开始尝试并依赖在线文档编辑器进行日常的办公和学习。随着技术的不断进步,市场上的在线文档编辑器层出不穷,各有特色。今天,就来给大家推荐几款跟风用的在线文档编辑器,它们不仅功能强大&…

实现iOS App代码混淆

简介 在开发iOS应用程序时,保护代码安全是至关重要的。代码混淆是一种常用的技术,可以增加逆向工程的难度,防止他人对代码的篡改和盗用。本文将介绍如何实现iOS App代码混淆的步骤和操作方法。 整体流程 下面是实现iOS App代码混淆的整体流…

最新彩虹知识付费商城源码 V3.4

最新彩虹知识付费商城源码 V3.4,支持二级分类,多级分销,秒杀,砍价,团购,首页继续浏览,分站个人虚拟余额自定义,最新批量对接,批量下载图片,批量替换标题&…

外贸高手写的开发信为什么回复率很高

关于开发信这个主题,其实已经算是个烂大街的话题。但是在效仿、参考、摸索开发信这一课题的路上,很多小白还是没摸准要旨,走了不少弯路。这也是为什么小编老话题重提的原因。以下整理了外贸高手写开发信用到的技巧和规律,希望能给…

docker安装nessus服务及使用

Nessus 是目前全世界最多人使用的系统漏洞扫描与分析软件,现在软件服务越来越多,越来越复杂,涉及的数据也更多;因此系统完成后对于系统漏洞的检测并对其进行修改十分有必要,本文介绍通过docker安装nessus服务及简单的使…

今年消费新潮流:零元购商业模式

今天给大家推荐一种极具创新的电子商务模式:零元购商业模式 这个模式支持消费者以零成本或极低成本购买商品。这种模式主要通过返现、积分、优惠券等方式来减少支付金额,使消费者实现“零成本”购物的目标。 人民网在去年发表了一篇文章。 总结了一下&a…

华为ensp中nat地址转换(静态nat 动态nat NAPT 和Easy IP)配置命令

作者主页&#xff1a;点击&#xff01; ENSP专栏&#xff1a;点击&#xff01; 创作时间&#xff1a;2024年4月15日12点03分 实验拓扑 接下来我会分几个方面初步将静态nat和napt easy ip 首先基本的环境配置 AR1的基本配置 //基本的IP配置和默认路由指向外网 <Huawei&…

盲盒小程序开发:探索未知,开启惊喜之旅

随着移动互联网的快速发展&#xff0c;小程序作为一种轻量级、便捷的应用形式&#xff0c;正逐渐改变着人们的生活方式。在这个充满创新与变革的时代&#xff0c;盲盒小程序的开发应运而生&#xff0c;为用户带来一种全新的购物体验&#xff0c;让每一次选择都充满未知与惊喜。…

计算方法实验5:对鸢尾花数据集进行主成分分析(PCA)并可视化

任务 iris数据集包含150条数据&#xff0c;从iris.txt读取&#xff0c;每条数据有4个属性值和一个标签&#xff08;标签取值为0&#xff0c;1&#xff0c;2&#xff09;。要求对这150个4维数据进行PCA&#xff0c;可视化展示这些数据在前两个主方向上的分布&#xff0c;其中不…

Social to Sales,洞见生意进阶生机丨数说故事重磅发布2024全新战略

洞察&#xff0c;让生意发生。 4月12日&#xff0c;以“Social to Sales 洞察让生意发生”为主题的2024数说故事D3智能营销论坛于上海圆满举办&#xff0c;数说故事与来自清华大学、中欧国际工商学院、周大福、小红书、澎湃新闻、互联网大厂营销专家等12位重磅级嘉宾&#xf…

实验一:配置IP地址

实验环境 主机A和主机B通过一根网线相连 需求描述 为两台主机配置IP地址&#xff0c;验证IP地址是否生效&#xff0c;验证同一网段的两台主机可以互通&#xff0c;不同网段的主机不能直接互通 一.实验拓扑 二.推荐步骤 1.为两台主机配置P地址&#xff0c;主机A为192.168.1.…