AI大模型开发架构设计(18)——基于大模型构建企业知识库案例实战

文章目录

      • 1 LLM 大模型在工作中的实际应用以及局限性
        • LLM 大模型工作中实际应用
        • 大模型2点局限性
      • 2 基于大模型和向量数据库的企业级知识库架构剖析
        • 向量数据库
        • 向量数据库选型
        • 知识库
        • 文档检索增强(Retrieval Augmented Generation)
        • 向量数据库应用技术总体架构
        • 向量数据库应用离线索引技术
        • 向量数据库应用在线检索技术
      • 3 LLM 大模型代码知识库架构设计与落地实践
        • 代码知识库技术架构选型
        • 代码知识库技术架构数据向量化流程
        • 代码知识库技术架构选型
        • 代码知识库技术方案设计
        • 代码知识库数据准备
        • 代码知识库数据向量化
        • 代码知识库知识召回和检索
        • 代码知识库效果展示
        • 代码知识库 Bad Case 分析
        • 代码知识库上下文丢失的问题
        • 代码知识库用户输入优化
        • 优化后代码知识库优化结果展示
        • 代码知识库构建几点总结

1 LLM 大模型在工作中的实际应用以及局限性

LLM 大模型工作中实际应用
  • 代码 Copilot
    • 写正则表达式
    • 编写不熟悉的算法
    • 编写注释
    • 业务代码重构
  • 代码 Review
    • Code Review
  • 测试 Copilot
    • 单元测试
    • Mock 数据输出
  • 运维 Copilot
    • 运维脚本
    • Linux 指令查询
大模型2点局限性
  • 数据时效性:2021年09月前的数据
  • 可信性:LLM 大模型的幻觉

如何进一步增加 LLM 大模型的能力?

2 基于大模型和向量数据库的企业级知识库架构剖析

用向量数据库/知识库改进大模型

向量数据库
  • 向量是非结构化数据在高维空间中的表征
  • Embedding Model 是将非结构化数据映射到高维空间的工具
  • 使用合适的 Embedding Model,向量的近似度代表语义的近似度

image.png

向量数据库选型
  • 国产:Milvus、Tencent Cloud VectorDB、Zilliz Cloud 等
  • 海外:Pinecone、Redis、FAISS、PgVector、Elasticsearch Cloud 等

image.png

知识库
  • 知识图谱
  • 全文检索
  • 知识库和向量数据库关系:大模型应用离不开向量检索

image.png

文档检索增强(Retrieval Augmented Generation)
  • 利用提前构建好的知识库,通过检索与 Query 相关的知识片段来增强大模型回答效果

image.png

向量数据库应用技术总体架构

image.png

image.png

向量数据库应用离线索引技术

离线索引更多优化

  • 针对文档特性(语言、内容)选择 Embedding 模型
  • 更有针对性的文档分段模型
  • 文档转问题,用问题召回

image.png

向量数据库应用在线检索技术

在线检索更多优化

  • 用户问题改写,使用改写的问题召回
  • 多路召回,结合全文检索的结果
  • 把问题编造成“假”文档,使用“假”文档召回

image.png

3 LLM 大模型代码知识库架构设计与落地实践

代码知识库技术架构选型
  • Fine-tuning(微调)VS Embedding(嵌入)

image.png

代码知识库技术架构数据向量化流程
  • 万物都先进行向量化

image.png

代码知识库技术架构选型
  • 代码知识库技术架构选型

image.png

代码知识库技术方案设计
  • 代码数据向量化
  • 代码数据召回
  • 查询返回结果

image.png

代码知识库数据准备
  • 数据描述:Mr_Ranedeer V2 描述数据的方式(DSL:领域描述语言)

image.png

  • 数据存储格式:
    • JSON
    • 类 DSL 的知识描述方式
    • 描述语义化

文档知识结构

image.png

  • 知识描述格式:(组件->使用场景->{描述&代码})
代码知识库数据向量化

核心设计原则

  • RecursiveCharacterTextSplitter 将按不同的字符递归地分割文档 。它会尝试将所有语义相关的内容尽可能保留在同一位置,使切片语义更完整。
  • ChunkSize 是切片可以包含的最大字符数,ChunkSize 设置为:1000
  • ChunkSizeOverlap 是两个相邻切片之间应重叠的字符数,ChunkSizeOverlap 设置为:0
代码知识库知识召回和检索

核心参数设置

  • 大模型温度参数设置为0
  • 系统提示词

image.png

代码知识库效果展示

问题:在 TDesign 实现一个表格并带上分页器的功能,列表的一些列信息如下:ip,domain, admin, startTime,endTime。并帮我 mock 5条数据。

image.png

问题:在 TDesign 中如何实现可过滤的Tree树组件(幻觉)

image.png

在 Tdesign 中如何实现图片预览

image.png

代码知识库 Bad Case 分析

image.png

代码知识库上下文丢失的问题
  • 问题:

image.png

  • 解决方案:

image.png

代码知识库用户输入优化

image.png

优化后代码知识库优化结果展示

问题:在 TDesign 中如何实现可过滤的Tree树组件

image.png

问题:在 Tdesign 中如何实现图片预览

image.png

代码知识库构建几点总结
  • 高质量的知识语料
  • 清晰且语义化的数据结构
  • 合理的 Embedding Model 选型以及参数 chunkSize, chunkOverlap 合理设置大小
  • 使用工程技术优化上下文问题
  • 优化用户输入,提升召回精度

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

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

相关文章

磐石云语音助手拦截介绍

呼叫中心用户实际应用场景下最高会有超过30%的和语音助手;无声主要是进入了语音信箱;如:“听到滴声后留言”,”漏话提醒““发送请按1,重录请按2”以及拨打过程中客户主动拒接产生的”您拨打的用户正忙“,”关机“”停…

mysqldump命令搭配source命令完成数据库迁移备份

mysqldump 命令使用 需保证mysqld在运行中, 这个命令的目的是将数据库导出到文件中,例如 mysqldump -uusername -ppassword database > db.sql 注意该命令不是在MySQL客户端(即MySQL命令行)执行的,而是在系统命…

Spring框架之适配器模式 (Adapter Pattern)

适配器模式(Adapter Pattern)详解 适配器模式(Adapter Pattern)是一种结构型设计模式,它的主要作用是将一个类的接口转换成客户端期望的另一个接口,使原本由于接口不兼容而无法一起工作的类可以协同工作。…

10款PDF合并工具的使用体验与推荐!!!

在如今的信息洪流中,我们几乎每个人都被淹没在大量的数字文档之中。无论是学生、教师还是职场人士,我们都需要高效地管理和处理这些文档。而PDF文件,凭借其跨平台的稳定性和通用性,成了最常用的文档格式之一。我们经常需要处理、编…

2025秋招春招行测测评所用题库总结+测评题目解答思路和总结+测评题库汇总

现在校招找工作都要面对测评这一关,如果没有做好准备很容易就招聘流程截止,下面是校招常用的测评题库。最后分享赛码和智鼎题目答题思路。 测评所用题库 北森 在秋季、春季校园招聘中,有超过70%的单位企业行测系统选择北森题库,…

Oracle EBS工具脚本

文章目录 值集查询快码查询查询可执行请求批量取消请求职责查询死锁处理脚本获取包体查询最后编译信息 值集查询 SELECT ffs.flex_value_set_id,ffs.flex_value_set_name,ffv.flex_value,ffv.flex_value_meaning,ffv.description,ffv.flex_valueFROM applsys.fnd_flex_value_se…

Redis做分布式锁

(一)为什么要有分布式锁以及本质 在一个分布式的系统中,会涉及到多个客户端访问同一个公共资源的问题,这时候我们就需要通过锁来做互斥控制,来避免类似于线程安全的问题 因为我们学过的sychronized只能对线程加锁&…

《MYSQL45讲》kill不掉的线程

kill query 线程id :终止这个线程正在执行的语句 kill connection 线程id :关闭这个线程的连接,也会先停止这个线程正在执行的语句。这个connection可以缺省。 本文讨论的情况是:使用了kill命令,却没有断开连接,show processli…

CodeFlow评分系统

C o d e F l o w CodeFlow CodeFlow rating体系: 参考文献: https://www.cnblogs.com/ruierqwq/p/17973570/cf-at-rating https://blog.csdn.net/CSDNhdlg/article/details/123729562 https://www.jianshu.com/p/1ae01cf56f0a?fromtimeline 1 1 1、段位…

IntelliJ+SpringBoot项目实战(四)--快速上手数据库开发

对于新手学习SpringBoot开发,可能最急迫的事情就是尽快掌握数据库的开发。目前数据库开发主要流行使用Mybatis和Mybatis Plus,不过这2个框架对于新手而言需要一定的时间掌握,如果快速上手数据库开发,可以先按照本文介绍的方式使用JdbcTemplat…

html5多媒体标签

文章目录 HTML5新增多媒体标签详解&#xff1a;视频标签与音频标签视频标签<video>音频标签<audio>代码案例 HTML5新增多媒体标签详解&#xff1a;视频标签与音频标签 HTML5引入了多项新特性&#xff0c;其中多媒体标签的引入为网页开发带来了革命性的变化。这些标…

12、Linux系统的网络基本设置

查看网络接口信息ifconfig ip addr/ip a #简单查看网络接口信息 ifconfig #表示只显示当前活跃的设备接口信息 ifconfig -a #查看当前主机所有的&#xff08;all&#xff09;网络设备&#xff0c;包括未运行的设备。 如我们查看本机网卡ens33的…

PHP:通往动态Web开发世界的桥梁

PHP&#xff0c;全名为“PHP: Hypertext Preprocessor”&#xff0c;是世界上最流行的服务器端脚本语言之一。它是动态网站开发的中流砥柱&#xff0c;用于构建从简单博客到复杂企业级应用的各种网络平台。在这篇文章中&#xff0c;我们将详细探讨PHP的起源、核心功能、开发流程…

react 中 FC 模块作用

React.FC 是一个泛型类型&#xff0c;用于定义函数组件的类型 一、类型定义和代码可读性 1. 明确组件类型 使用React.FC定义一个组件时&#xff0c;使得组件的输入&#xff08;props&#xff09;和输出&#xff08;返回的 React 元素&#xff09;都有明确的类型定义。 impo…

【Qt 蓝牙服务器实现】

在 Qt 中实现一个蓝牙服务器可以使用 Qt Bluetooth 模块。下面是一个基本的蓝牙服务器示例,它能够接受来自客户端的连接。 首先,请确保你已经安装了 Qt Bluetooth 模块并在项目文件中包含了相关库。 1. 项目文件 (.pro) 配置 在项目文件中添加以下行,以确保包含 Qt Bluet…

RabbitMQ高效的消息队列中间件原理及实践

RabbitMQ&#xff1a;高效的消息队列中间件及其 PHP 实现 一、什么是 RabbitMQ&#xff1f; RabbitMQ 是一个开源的消息队列中间件&#xff0c;使用 Erlang 编写&#xff0c;遵循 AMQP&#xff08;Advanced Message Queuing Protocol&#xff09;协议。它的主要功能是提供一种…

JDK1.8升级JDK不生效

最近因为项目原因&#xff0c;需要将jdk1.8升级到JDK11.升级发生了一个纠结的问题&#xff0c;就是cmd不生效。在此记录&#xff01; 项目中指定jdk 如果在android studio项目&#xff0c;可以单独指定该项目的jdk&#xff0c;而不用全局升级&#xff0c;可以做如下配置&#…

如何抓住鸿蒙生态崛起的机遇,解决开发挑战,创造更好的应用体验?

一、抓住鸿蒙生态崛起的机遇 深入了解鸿蒙系统的特性和优势 鸿蒙系统采用了全新的技术框架和编程语言ArkTS&#xff0c;具备高性能、高安全性和高弹性等特点。开发者需要熟悉这些特性&#xff0c;以便在开发过程中充分利用鸿蒙系统的优势。鸿蒙系统支持全场景打通、资源能力共享…

AI电商的创新应用

在AI技术的加持下&#xff0c;电商平台可以在购物推荐、会员分类、商品定价等方面实现创新应用&#xff0c;从而显著提高销售效率和用户体验。以下是如何具体运用AI技术来达成这些目标的详细阐述&#xff0c;以及为电商行业数字化转型提供的新思路和方法。 一、AI在购物推荐方…

八 Bean的生命周期

八、Bean的生命周期 8.1 什么是Bean的生命周期 Spring其实就是一个管理Bean对象的工厂。它负责对象的创建&#xff0c;对象的销毁等。 所谓的生命周期就是&#xff1a;对象从创建开始到最终销毁的整个过程。 什么时候创建Bean对象&#xff1f; 创建Bean对象的前后会调用什…