首页 > 数据库 >ChatDB: 使用数据库符号存储提升LLMs的性能

ChatDB: 使用数据库符号存储提升LLMs的性能

时间:2023-08-16 21:46:13浏览次数:41  
标签:LLMs 数据库 ChatDB LLM SQL 采用

ChatDB论文地址
ChatDB项目地址

Abstract

采用符号记忆的方式辅助大模型的多跳推理。
符号记忆框架具化为LLM和一系列SQL数据库,LLM生成SQL指令去控制SQL数据库

ChatDB整体架构:
image

1. Introduction

LLM发展的过程也会遇到一系列的挑战,比如:生成token多,需要考虑上下文信息,可能会导致谈话轨迹的偏离和生成答案的不准确。

neural memory:存储存在缺陷,难以用于多跳推理,主要在两方面

  1. 未结构化存储过去的信息
  2. 未进行符号化存储,依赖于向量的相似检索,导致其可能发生额外的错误

改进:提出ChatDB
Memory,存储历史信息,提供信息辅助大模型。
通过LLM生成SQL statements来存储信息到数据库中。

同时采用CoM(chain-of-memory)提升存储管理的效果,核心思想是一个复杂的问题转化为多个内存上操作的问题(对应SQL语句)

Memory-Augmented LLMs

  • 采用存储器存放text prompt (Auto-GPT和Generative Agents)
  • NMT训练和交互内存
  • GGS-NN采用图
  • RMT采用sequences存储,具体细节仍待阅读

Reasoning with LLMs

早期通过监督信号和微调方式,
最近采用ICL方法,尤其是CoT方法(通过举例方式)

LLMs with DBs

几个有趣的应用:比如ChatExcel,Binder,和Text-to-SQL

Tool-using LLMs

Toolformers采用API,Auto-GPT采用搜索引擎提升大模型能力

3. ChatDB

3.1 Task Definition

用户命令->对数据库的操作

3.2 Framework Overview

整体框架如下所示:
image
主要分为三步:

  1. 通过输入转化为一系列对内存的中间操作
  2. 内存链方法,对内存进行四种操作
  3. 总结答案

3.3 Chain-of-Memory

目标:提升推理能力和鲁棒性,可以通过对历史数据的复杂和准确的交互实现对真实世界应用
方法:ICL
基本流程:
image

3.4 Comparison with previous memory-augmented LLMs

具体结果如下,不再赘述:
image

4. Evaluation

主要讲了怎么做实验的事情。

4.1 Experimental Setup

主要采用了50个问题,15个easy,35个hard。
提升对比效果,采用水果商店数据集

4.1.1 Model Configuration

ChatDB和Baseline对比
均采用GPT-3.5 Turbo,超参数温度设置为0

4.1.2 Dataset

四种操作,购买(从供应商)、售卖、返还、改价,70条记录。
对应如下:
image
同时采用的Prompt为:
image

4.1.3 Processing record

数据库模式的创建,通过LLM或人工,并采用方式1控制数据库
处理记录是one by one,符号化的并且避免了错误的出现

4.1.4 Answering Questions

ChatDB不采用prompt回答问题,通过SQL statements返回结果。
ChatGPT需要prompt,并且直接回答

4.2 Results

image

ChatDB效果明显更好。
两点优势:

  1. CoM简化问题,提升复杂问题推理能力。
  2. 符号记忆提前计算的准确度和精度,通过SQL语句的操作减少错误出现

5. Conclusion

着重强调了LLM借助符号记忆的好处。

标签:LLMs,数据库,ChatDB,LLM,SQL,采用
From: https://www.cnblogs.com/zjz2333/p/17632753.html

相关文章

  • 数据库表关系(一对一,一对多,多对多)
    一、1、一对一:         一个人只能有一个身份证号,不能有多个,是唯一的IdNameCard1张三140702**********012李四140702**********79 2、一对多:     一个年级可以有多个班级,多个班级都属于一个阶段 一个班可以有......
  • 如何在达梦数据库中追踪慢SQL
    在达梦数据库中,我们可以通过开启日志记录和设置最小执行时间来追踪慢SQL。下面是具体的步骤:1.修改dm.ini文件使用以下命令编辑dm.ini文件:cd/home/dmdba/dmdbms/data/DAMENG/vimdm.ini在dm.ini文件中找到以下两个参数并进行修改:SVR_LOG_NAME=SLOG_ALLSVR_LOG=1......
  • Golang之数据库转换结构体工具table2struct
    另外一个根据json生成对应结构体在线工具: https://mholt.github.io/json-to-go/ 安装:gogetgithub.com/gohouse/converter或者下载对应平台的二进制文件https://github.com/gohouse/converter/releases 引入该包进行转换的使用方式可以参考github上的使用示例,为......
  • java配置数据库
    server:port:8888spring:datasource:driver-class-name:com.mysql.cj.jdbc.Driverurl:jdbc:mysql://localhost:3306/ri?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2......
  • 一个十分简单的增删改查系统(含MYSQL数据库安装教程)
    一个十分简单的增删改查系统(nodejs+vue)该系统采用前后端分离的方式,实现最基本的增、删、改、查功能。前端使用vue框架搭建,后端使用nodejs,数据库用mysql1.准备工作1.1安装nodejs下载nodejs,官网如下Node.js(nodejs.org)选择长期维护版,下载之后直接下一步下一步就行了......
  • thinkphp5框架的model支持多地区数据库切换
    1、说明一般情况下,都是在model中指定一个数据库连接参数即可。但某些情况下,相同的库表会在不同地区都有部署,这个时候需要按地区进行切换(只有一个model情况下)。2、多model继承方式Model层代码//A地区的数据库classAextendsModel{protected$connection='xxx';......
  • 关于 LLM 和图数据库、知识图谱的那些事
    本文整理自NebulaGraph布道师wey在「夜谈LLM」主题分享上的演讲,主要包括以下内容:背景LLMRAGGraph知识抽取Text2CypherGraphRAG未来规划技术背景LLM是什么这里简单、快速地介绍下大语言模型:从GPT-2开始,到后来流行的GPT-3,人们逐渐意识到语言模型达到一定......
  • WEB自动化-连接数据库
    这里简单说下怎么连接数据库查询数据mysql:1、先创建个文件,框架的话用关键字函数文件,keyword文件,封装连接数据库的函数 2、创建测试用例 ......
  • SQL_配置sql server数据库路径的小妙招
    配置sqlserver数据库路径的小妙招在桌面上建立一个文本文件,将后缀改成“.udl”,再次打开就可以看到一个图形化的SQL配置界面,根据界面提示就配置好,测试连接成功后,再用记事本打开,复制里面的配置信息就OK了。 ......
  • 亚信科技获评数据库领域最具商业合作价值企业
    近日,数据猿发表《2023中国数据库领域最具商业合作价值企业盘点》,亚信科技凭借自主研发的AntDB数据库成功入围,获评“数据库领域最具商业合作价值企业”。当下,数据成为全球商业活动的核心资产,为了更加高效、安全、快速地处理和分析这些数据,数据库技术也必然迎来新的发展。在此背景下,......