LibreChat-AI/rag-api
ID-based RAG FastAPI: Integration with Langchain and PostgreSQL/pgvector
해결하는 문제
이 프로젝트는 ID 기반 검색 증강 생성(RAG)에 특화된 확장 가능하고 비동기 API를 제공합니다. 사용자는 file_id로 임베딩을 정리하여 특정 파일이나 메타데이터 기반의 타겟 쿼리를 가능하게 하며, 이는 LibreChat과 같은 애플리케이션에 필수적입니다.
작동 방식
FastAPI와 Langchain으로 구축되었으며, 기본적으로 PostgreSQL/pgvector 또는 Atlas MongoDB를 벡터 스토어로 사용합니다. OpenAI, Bedrock, Azure, Hugging Face, Google 등 다양한 제공업체를 통해 문서를 임베딩으로 변환하고, 비동기 배치 처리를 통해 성능과 낮은 메모리 사용을 유지합니다. 중요한 보안 계층은 사용자가 검증된 JWT 토큰 기반으로 자신이 소유한 콘텐츠만 읽거나 삭제할 수 있도록 보장합니다.
대상 사용자
문서가 특정 ID와 연결되고 사용자 소유권이 엄격히 적용되는 파일 수준의 RAG 시스템이 필요한 AI 애플리케이션을 개발하는 개발자들입니다.
주요 특징
- 다중 제공업체 임베딩 지원: OpenAI, Azure, Bedrock, VertexAI, Ollama, Hugging Face와 호환.
- ID 기반 검색:
file_id로 임베딩을 정리하여 정확하고 메타데이터 기반의 쿼리 가능. - 소유권 기반 보안: 사용자가 소유한 청크만 접근할 수 있도록 엄격한 범위 제어 구현.
- 확장 가능한 인제스트: 메모리 제약 환경에서도 대용량 파일을 비동기 배치 처리로 처리 가능.
- 유연한 벡터 저장소: pgvector와 Atlas MongoDB 모두 지원.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트