tinystruct/smalltalk
A tinystruct-based chat module which integrated with @OpenAI GPT-4 / 3.5-turbo / ChatGPT. @tinystruct
解决的问题
Smalltalk 是一个集成了 AI 功能的即时通讯应用。它解决了静态聊天界面的问题,允许用户与 ChatGPT 交互,并在其上传的文档上执行检索增强生成(RAG),将聊天应用转变为知识库助手。
工作原理
该项目使用基于 Java 的框架(tinystruct)和 SQLite 进行数据存储。它集成了 OpenAI API 用于聊天和嵌入(embeddings)。当用户上传文档(PDF、Word、Excel 等)时,系统使用 Apache Tika 提取文本,将文本分块,并将这些块的嵌入存储在 SQLite 中。当用户提出问题时,系统将查询转换为嵌入,检索最相关的文本块,并将其包含在发送给 ChatGPT 的提示中,以提供上下文感知的回答。
适用人群
希望拥有自托管即时通讯平台,并具备内置 AI 辅助功能,能够通过聊天界面查询自己文档的开发者和用户。
主要亮点
- 多接口支持:提供命令行界面(CLI)和网页界面。
- RAG 功能:支持文档上传和自动处理,实现基于 AI 的文档问答。
- 广泛文档支持:通过 Apache Tika 支持纯文本、Markdown、PDF、Word、Excel 和 PowerPoint 文件。
- 灵活部署:可作为独立 Java 应用运行,也可部署在 Tomcat/Netty 服务器上,或通过 Docker 使用。
相关
- 项目
- 项目
- 项目
- 项目
- 项目