首页 > 其他分享 >ChatPDF/ChatDOC实现原理解析

ChatPDF/ChatDOC实现原理解析

时间:2023-05-09 23:34:03浏览次数:32  
标签:片段 ChatPDF 解析 ChatDOC ChatGPT 文本 com

图片

1)把PDF切分成小的文本片段,通过OpenAI的Ada模型创建Embedding放到本地或远程向量数据库。2)把用户的提问也创建成Embedding,用它和之前创建的PDF向量比对,通过语义相似性搜索(余弦算法),找到最相关的文本片段。比关键词搜索好的一点是不要求关键词包含,也能发现文本相关性,比如汽车和公路。3)把用户提问和相似文本片段发给OpenAI,写Prompt要求ChatGPT基于给定的内容生成回答,如果没有相似文本或关联度不高,回答不知道。为避免ChatGPT乱发挥,一般Temperture会设置的很低甚至为0 注意:这种方法实用性仍然比较有限,质量也不好,虽有一定调优空间(文本切片,问答对) 现在这么做也是不得已,因为ChatGPT的上下文记忆token有限(32k会好一些),不能直接丢超长文档让它分析。by@向阳乔木

原推:by@Sully

https://twitter.com/SullyOmarr/status/1655626066331938818

图片

图片

图片

图片

 

来源https://mp.weixin.qq.com/s/PHir_Qdo-8S30gG06VVNOA

标签:片段,ChatPDF,解析,ChatDOC,ChatGPT,文本,com
From: https://www.cnblogs.com/botai/p/chatpdf_principle.html

相关文章

  • CRC 校验解析
    CRC校验解析一个CRC校验模型需要包含以下信息:WIDTH,指CRC校验码的最终位数(二进制)POLY,指用来做二进制除法的多项式。INIT,指CRC的初始值。存在初始值是为了避免全0数据的校验码恒为0。若初始值不为0,则对于不同长度的全0数据,校验码一般也会不一样。XOROUT,指最后对......
  • 解析内存中的高性能图结构
    在进行各种图处理、图计算、图查询的时候,内存或是硬盘中如何存储图结构是一个影响性能的关键因素。本文主要分析了几种常见的内存图结构,及其时间、空间复杂度,希望对你有所启发。通常来说,对于图结构的几种常见的基础操作:插入一个点插入一个边删除一个边删除一个点的全部邻边......
  • 【configparser】Python解析配置文件的模块使用总结
    简介configparser是Pyhton标准库中用来解析配置文件的模块,并且内置方法和字典非常接近。Python2.x中名为ConfigParser,3.x已更名小写,并加入了一些新功能。调用importconfigparserconfig=configparser.ConfigParser()config.read("config.ini")常用方法#获取所用......
  • 逆向-第五次实验-PE文件解析
    #include<stdio.h>#include<string.h>#include<windows.h>charFileName[100]={0}; voidPrintNTHeaders();LPVOIDReadPEFile(); intmain(){ printf("Pleaseinput:(forexample:D:/user/Desktop/PE文件对齐、内存对齐/解析pe头文件/实验.exe)\n"......
  • 螣龙安科实力再认证!受邀分享攻击面管理核心技术解析
    为靶向大型企业业务特点和实际需求,关注网络安全技术和科技发展,深入探讨业务与网络安全合规与新技术的结合实践,近日,由(ISC)²上海分会主办“金融行业一高端CSO研讨交流会”在上海交通大学长宁校区顺利举行。螣龙安科作为本次研讨会的支持单位协助活动圆满落幕。  螣龙安科CEO王......
  • Java反射--2021面试题系列教程(附答案解析)--大白话解读--JavaPub版本
    >Java反射--2021面试题系列教程(附答案解析)--大白话解读--JavaPub版本前言序言再高大上的框架,也需要扎实的基础才能玩转,高频面试问题更是基础中的高频实战要点。适合阅读人群Java学习者和爱好者,有一定工作经验的技术人,准面试官等。阅读建议本教程是系列教程,包含Java基础,JVM,容器,......
  • 运用nginx和阿里云解析配置二级域名
    进入阿里云管理控制台,在左侧菜单选择云解析,nginx配置文件的配置如下,配置完成后重启nginx即可公众号:chengziboke888......
  • 无法解析符号 'Date'
    在程序运行的过程中无法导入,请关闭程序后正在导入  ......
  • MyBatis-02CRUD操作及配置解析01
    上集回顾:第一个程序namespace将上面案例中的UserMapper接口改名为UserDao;将UserMapper.xml中的namespace改为为UserDao的路径.再次测试结论:配置文件中namespace中的名称为对应Mapper接口或者Dao接口的完整包名,必须一致!1CRUD操作及配置解析1.1selectselect标......
  • [附课程学习笔记]CS231N assignment 3#1 _ RNN 学习笔记 & 解析
    欢迎来到assignment3从现在开始,网上的博客数量就少了很多.毕竟从现在,我们开始了更具体网络的学习.这里的组织形式可能会比较怪,我会将RNN相关的课程内容和代码混在一起,这样也可以同时作为学习笔记,也是考虑到RNN之后没有官方讲义之后自己概括性的评说,感觉比较好组织.......