PrivateGPT是一个完全准备好投入生产使用的AI项目,它的主要功能是利用大型语言模型(LLMs)的强大能力,让您能够向文档提出问题并获取答案。这个功能非常强大,即使在没有互联网连接的情况下,也能够正常工作。
PrivateGPT的最大特点是100%的私有性,这意味着您的所有数据都不会在任何时候离开您的执行环境。这为您提供了极高的数据安全性,您无需担心数据泄露或被第三方获取。
此外,PrivateGPT还提供了一个API,这个API提供了构建私有、上下文感知的AI应用程序所需的所有基本元素。这意味着,无论您是想开发一个聊天机器人,还是想创建一个智能助手,PrivateGPT都能提供强大的支持。
PrivateGPT遵循并扩展了OpenAI API的标准,这意味着它能够与OpenAI的其他产品无缝集成。同时,它还支持正常响应和流式响应,这使得它在处理大量请求时,能够保持高效的性能。
API被分为两个逻辑块:
一、高级API,它抽象了RAG(检索增强生成)管道实现的所有复杂性:
- 文档的摄取:内部管理文档解析、拆分、元数据提取、嵌入生成和存储。这意味着用户无需关心文档的具体处理过程,只需将文档提供给API,API会自动完成解析、拆分、提取元数据等操作,并将结果存储起来供后续使用。
- 使用摄取文档中的上下文进行聊天和补全:抽象检索上下文、提示工程和响应生成的过程。这个功能允许用户在聊天或补全过程中利用之前摄取的文档内容作为上下文,从而提供更准确和个性化的回答。API会负责检索相关的上下文信息,并根据用户的输入生成相应的响应。
二、低级API,允许高级用户实现自己的复杂管道:
- 基于一段文本生成嵌入。这个功能允许用户将一段文本输入到API中,API会根据文本的内容生成相应的嵌入向量表示。这些嵌入向量可以用于后续的机器学习任务,如文本分类、相似度计算等。
- 根据查询返回摄取文档中最相关的文本块。这个功能允许用户根据特定的查询条件,从之前摄取的文档中检索出最相关的文本块。用户可以指定查询条件,如关键词匹配、语义相似度等,API会根据这些条件返回最相关的文本块,帮助用户快速找到所需的信息。
除此之外,还提供了一个可工作的Gradio UI客户端来测试API,以及一组有用的工具,如批量模型下载脚本、摄取脚本、文档文件夹监视器等。这些工具可以帮助用户更方便地使用API,并提供一些额外的功能和便利性。例如,批量模型下载脚本可以自动下载多个模型,摄取脚本可以自动处理文档的摄取过程,文档文件夹监视器可以实时监控文件夹中的文档变化并触发相应的操作。这些工具的存在使得用户能够更高效地利用API的功能,并提升工作效率。
Github
https://github.com/imartinez/privateGPT
开发文档
https://docs.privategpt.dev/