tinystruct/smalltalk
A tinystruct-based chat module which integrated with @OpenAI GPT-4 / 3.5-turbo / ChatGPT. @tinystruct
해결하는 문제
Smalltalk은 AI 기능을 통합한 즉시 메시징 애플리케이션입니다. 정적 채팅 인터페이스의 문제를 해결하기 위해 사용자가 ChatGPT와 상호작용하고, 자신이 업로드한 문서에 대해 Retrieval-Augmented Generation (RAG)을 수행할 수 있게 하여, 채팅 앱을 지식 기반 어시스턴트로 전환합니다.
작동 방식
이 프로젝트는 Java 기반 프레임워크(tinystruct)와 SQLite를 사용하여 데이터를 저장합니다. OpenAI API는 채팅과 임베딩 모두에 통합되어 있습니다. 사용자가 문서(PDF, Word, Excel 등)를 업로드하면, 시스템은 Apache Tika를 사용해 텍스트를 추출하고, 텍스트를 조각내며, 해당 조각의 임베딩을 SQLite에 저장합니다. 사용자가 질문을 하면, 시스템은 질문을 임베딩으로 변환하고, 가장 관련성 있는 조각을 검색하여 ChatGPT에 전송하는 프롬프트에 포함시켜 맥락 인식 답변을 제공합니다.
대상 사용자
자체 호스팅 가능한 즉시 메시징 플랫폼을 원하고, 내부 AI 지원 기능과 채팅 인터페이스를 통해 자신의 문서를 질의하고자 하는 개발자 및 사용자에게 적합합니다.
주요 기능
- 다중 인터페이스 지원: 명령줄 인터페이스(CLI)와 웹 인터페이스를 모두 제공합니다.
- RAG 기능: 문서 업로드 및 자동 처리를 지원하여 AI 기반 문서 질의응답을 가능하게 합니다.
- 광범위한 문서 지원: Apache Tika를 통해 일반 텍스트, Markdown, PDF, Word, Excel, PowerPoint 파일을 지원합니다.
- 유연한 배포: 스탠드얼론 Java 앱, Tomcat/Netty 서버, 또는 Docker로 실행할 수 있습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트