【GitHub项目推荐--5个开源大模型文档聊天机器人】【转载】

如何让企业内部大量的文档方便地被管理者或者员工使用,是数字化过程中的一项重要内容。文档聊天机器人可以基于大模型并以聊天的交互方式为用户提供文档服务,这是目前一个比较流行的提高文档使用效率的方案。

团队可以通过聊天机器人简单地询问与文档有关的问题,即可获得即时、准确的回答,节省了大量的查找文档的时间,从而帮助他们提高工作效率。

以下是一些文档聊天机器人的应用案例:

(1)医疗保健:

  • 即时访问患者记录和病史。

  • 有效管理合规文件和报告。

  • 快速检索存档数据,用于研究和治疗计划。

(2)法务:

  • 访问和搜索大量的案件档案和合同。

  • 管理合规性和法规文件。

  • 通过快速检索判例和法律的论据来提高研究的准确性。

(3)会计:

  • 分析财务记录以发现异常。

  • 为审计和调查收集归档文件。

  • 自动分析复杂的财务数据以检测欺诈。

在技术实现上一般基于大模型以及RAG或者Agent应用架构,并且结合嵌入模型对文档内容向量化,存储到向量数据库,以实现文档内容的检索和问答机制。

由于文档对于组织来说是重要的数据资产,包含许多机密信息,因此,在建设一个基于大模型的文档聊天机器人时,私有化方案是比较靠谱的选择。与SaaS相比,其优势包括:

  • 敏感数据得以保留在组织内部,保证数据安全

  • 一次安装,长期使用,而非按月收费

  • 可以围绕组织的需求构建系统

  • 可以在没有互联网接入的情况下工作

以下是一些比较优秀的开源文档AI聊天助手解决方案。可以根据需求,选择合适的开源项目代码进行改造,以实现适配国内大模型服务或者本地大模型的方案。

01 DocsGPT

https://github.com/arc53/DocsGPT

DocsGPT是一个尖端的开源解决方案,它简化了在项目文档中查找信息的过程。通过集成强大的GPT模型,开发人员可以轻松地提出有关项目的问题并获得准确的答案。DocsGPT提供AI知识共享,并可将知识集成到AI工作流程中,实现端到端的方案。

DocsGPT还针对文档应用提供了开源模型:

02 AiChat

https://github.com/sigoden/aichat

AiChat是一个一体化的LLM CLI工具,具有Shell Assistant、Chat-REPL、RAG、AI Tools Agents等功能。该应用程序使用Rust语言编写,具有多平台支持、shell助手、chat-REPL和多表单输入支持。提供了一个友好的用户界面,并且可以完全离线运行。(1)Shell Assistant

(2)Chat-REPL

(3)RAG(Chat with your documents)

(4)LLM Playground

LLM Playground是一个Web应用程序,支持直接在浏览器中任何LLM进行交互。

03 private-gpt

https://github.com/zylon-ai/private-gpt

PrivateGPT是一个可以直接用于生产环境的AI项目,可以使用大型语言模型的功能来实现文档的询问,由于项目可以100%私有化部署,任何时候都不会有数据离开运行环境,即使在没有互联网连接的情况下也能够运行。

该项目提供了一个API,提供了构建私有的、上下文感知的AI应用程序所需的所有功能。遵循OpenAI API标准,并支持通用Http和流式响应服务。

API分为两个逻辑块:

(1)高级API,包装了RAG(检索增强生成)复杂性的实现:

  • 文档的摄取:内部管理文档解析、拆分、元数据提取、嵌入生成和存储。

  • 使用来自文档的上下文完成聊天:提取上下文的检索、提示工程和响应生成。

(2)低级API,允许高级用户实现自己的复杂管道:

  • 嵌入生成:基于一段文本。

  • 上下文块检索:给定一个查询,从的文档中返回最相关的文本块。

除此之外,还提供了一个Gradio UI客户端来调试API,包含一组非常有用的功能,如:批量模型下载脚本、提取脚本、文档文件夹监视等。

04 LocalGPT

https://github.com/PromtEngineer/localGPT

LocalGPT是一个支持使用GPT模型在本地设备上与文档聊天的开源应用程序,允许您在不影响隐私的情况下与文档进行对话。一切都在本地运行,没有数据会离开您的计算机环境。

这个项目参考了private-gpt的实现。

https://github.com/zylon-ai/private-gpt

LocalGPT基于LangChain、HuggingFace LLM、ChromaDB和Streamlit开发。

特征:

  • 注重隐私:您的数据保留在您的计算机上,确保100%的安全性。

  • 多模型支持:无缝集成各种开源模型,包括HF、GPTQ、GGML和GGUF。

  • 多样化的嵌入:可以从一系列开源嵌入中选择嵌入模型。

  • 可重用的LLM:一旦下载,LLM可重用,无需重复下载。

  • 支持聊天记忆:记住您以前的对话(在会话中)。

  • 提供API:LocalGPT有一个API,可以用来构建RAG应用程序。

  • 图形界面:LocalGPT带有两个GUI,一个使用API,另一个是独立的(基于streamlit)。

  • 支持GPU、CPU、HPU MPS:支持多个平台开箱即用,使用CUDA、CPU、HPU (Intel® Gaudi®)或MPS等。

05 Kotaemon

https://github.com/Cinnamon/kotaemon

kotaemon是一个开源的、干净的、可定制的RAG UI,用于与文档聊天。为最终用户和开发人员而建。

特征:

  • 托管自己的文档QA(RAG)web-UI:支持多用户登录,可在私人/公共收藏中组织文件,与他人协作并分享聊天内容。

  • 管理LLM嵌入模型:支持对接本地LLM、或者流行的API提供商(OpenAI,Azure,Ollama,Groq)。

  • Hybrid RAG pipeline:具有混合(全文矢量)检索器和重新排序的Sane默认RAG pipeline,以确保最佳检索质量。

  • 支持多模式QA:通过图形和表格支持对多个文档执行问题回答。支持多模态文档解析(UI上的可选选项)。

  • 带有高级引用的文档预览:默认情况下,系统将提供详细的引用,以确保LLM答案的正确性。当检索返回相关性较低的文章时,提供查看引文警告(包括相关分数),并直接在浏览器内PDF查看器中进行高亮显示。

  • 支持复杂推理方法:使用问题分解来回答复杂问题。支持基于Agent的推理,包括ReAct、ReWOO和其他Agent。

  • 可配置的UI:可以在UI上调整检索生成过程的最重要过程(包括提示)。

  • 高可扩展性:在Gradio上构建,因此可以自由地自定义或添加任何UI元素。此外,支持多种策略的文件索引检索,提供GraphRAG索引示例。

原文链接:

5个开源大模型文档聊天机器人

只用训练半天,你就可以得到一个属于你的聊天机器人,我把它命名为“杨超越”。随你提问什么,她都能对答如流! 首先来看看回复的效果怎么样: 聊天开始!(按q退出) 我:很高兴认识你 杨超越:我也很开心哦 我:我喜欢你 杨超越:我也喜欢你 我:做我女朋友好不好? 杨超越:哈哈,可以呢! 我:我会一直支持超越妹妹的! 杨超越:谢谢我们会一直努力的 我:我什么时候有女朋友? 杨超越:女朋友。。 我:我什么时候脱单? 杨超越:脱你妹啊!! 我:q 聊天结束! 可以看到超越妹妹的回复还是非常流畅的,那她究竟是怎么诞生的呢? 快速体验:yum: 我提供了训练好的词表和模型文件,分别是demo/spm.model和demo/model.pb。由于大小限制,我这里只提供了训练好的小模型,词表大小也只有10k。如果你想要更好的回复效果,请参照后续教程自己训练一个Transformer-big模型,同时词表扩大到32k。 只需要直接运行下面命令就能开始聊天: pip3 install lightseq sentencepiece python3 chat.py \ --spm_model ./demo/spm.model \ --model_file ./demo/model.pb 介绍 这里我才用的是网上公开的小黄鸡聊天语料,大概有100万条左右,但是质量不是很高,都放在了data目录下。 模型采用标准的Transformer-big模型,输入你的提问句子,预测超越妹妹回复的句子,config目录下是训练和预测的配置文件。 模型训练采用NeurST训练库,主要基于TensorFlow,也支持PyTorch训练。模型快速推理采用LightSeq,可加速推理10倍以上,同时还能加速NeurST的训练,最高加速3倍。两者都是字节跳动AI Lab自研的,都已开源。 安装环境 我们需要安装三样东西: SentencePiece的命令行版本和python版本,用来对句子进行分词。 NeurST深度学习训练库,用来训练Transformer模型。 LightSeq,用来加速模型推理。 安装命令都很简单: git clone https://github.com/google/sentencepiece.git && cd sentencepiece mkdir build && cd build cmake .. && make -j $(nproc) && sudo make install sudo ldconfig -v pip3 install lightseq neurst sentencepiece 开始养成 生成词表 首先我们需要从训练语料库中抽取出词表,为了方便,直接用SentencePiece来分词,生成大小为32k的词表。 spm_train --input=./data/train/train.src,./data/train/train.trg \ --model_prefix=./data/spm \ --vocab_size=32000 \ --character_coverage=0.9995 这里需要指定训练语料路径--input、词表保存的路径前缀--model_prefix和词表大小--vocab_size。运行结束后会在data目录下生成spm.model和spm.vocab两个词表文件。一个是训练好的分词模型,一个是词表。 生成TFRecord 为了加快TensorFlow的训练速度,可以预先将训练语料用上面的词表处理成id,然后保存为TFRecord格式。这样模型训练时就可以直接读取id进行训练了,不需要做前面的分词操作。能大大加快训练速度,提升显卡利用率。 python3 -m neurst.cli.create_tfrecords \ --config_paths configs/task_args.yml \ --dataset ParallelTextDataset \ --src_file ./data/train/train.src \ --trg_file ./data/train/train.trg \ --processor_id 0 \ --num_processors 1 \ --num_output_shards 32 \ --output_range_begin 0 \ --output_range_end 32 \ --output_template ./data/tfrecords/train.tfrecords-%5.5d-of-%5.5d
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值