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 使用。
相關
- 專案
- 專案
- 專案
- 專案
- 專案