섹션별 상세
Xecai는 Chat, Embedding, VectorDB, Memory, Reranker 등 AI 애플리케이션의 핵심 기능을 인터페이스화하여 제공한다. OpenAI, PostgreSQL, AWS 등 다양한 구현체를 지원하며, 개발자는 동일한 인터페이스를 유지하면서 백엔드 서비스만 손쉽게 교체할 수 있다.
python
from chat.implementations.openai.openai_chat import OpenAIChat
messages = [Message(content="what model are you?", message_type=MessageType.USER)]
prompt = "you are a helpful bot"
model = "gpt-4o"
chat = OpenAIChat()
chat.check_model(model)
response, stats = chat.invoke(model, prompt, messages)
print(response)OpenAI Chat 인터페이스를 사용하여 GPT-4o 모델을 호출하는 기본 예시
python
from vector_db.implementations.postgresql.postgresql_vector_db import PostgreSQLVectorDB
from embeddings.implementations.openai.openai_embedding import OpenAIEmbedding
vector_db = PostgreSQLVectorDB(
embedding_interface=OpenAIEmbedding(),
embedding_model="text-embedding-3-small"
)
chunks = vector_db.sync_retrieve(
query="this is an example query",
k=3,
search_type=SearchType.HYBRID,
)PostgreSQL을 벡터 저장소로 사용하고 OpenAI 임베딩 모델을 결합하여 하이브리드 검색을 수행하는 코드
python
from reranker.implementations.aws.aws_reranker import AWSReranker
reranker = AWSReranker()
chunks = [
Chunk(content="A document about cats.", document="doc1", origin="web", fragment=0),
Chunk(content="A document about dogs.", document="doc2", origin="web", fragment=0)
]
reranked_chunks = reranker.sync_rerank("tell me about cats", chunks, k=1)AWS Reranker를 사용하여 검색된 문서 조각들의 순위를 재정렬하는 예시
RAG 워크플로우 구축을 위한 표준화된 구조를 제안한다. 사용자 쿼리 수신, 대화 기록 확인, 컨텍스트 기반 쿼리 응축(Condense Query), 문서 조각 검색, 최종 LLM 응답 생성으로 이어지는 과정을 체계적으로 관리할 수 있는 다이어그램과 예시를 제공한다.
기존 프레임워크와의 차별점으로 '단순함'과 '직접 제어'를 강조한다. JustLLMs처럼 HTTP 요청에만 의존하지 않고 공식 SDK를 활용하며, LiteLLM처럼 별도의 프록시 서버를 두어 인프라 복잡성을 높이지 않는 방식을 취한다.
LangChain의 비대함과 복잡한 추상화 계층으로 인한 커스터마이징의 어려움을 해결하고자 한다. 핵심 기능에 집중하고 재시도(Retry) 로직이나 에이전트 기능과 같이 복잡성을 더할 수 있는 요소는 의도적으로 배제하거나 사용자가 직접 구현하도록 설계했다.
PostgreSQL을 VectorDB와 Memory 저장소로 동시에 활용할 수 있는 구현체를 제공한다. 이를 통해 별도의 전용 벡터 데이터베이스를 도입하지 않고도 기존 관계형 데이터베이스 인프라 내에서 RAG 시스템을 구축할 수 있는 실무적인 대안을 제시한다.
용어 해설
- 검색 증강 생성(RAG)
- — 외부 지식 베이스에서 관련 정보를 검색하여 LLM의 응답 생성에 활용하는 기법이다. 모델의 학습 데이터에 없는 최신 정보나 특정 도메인 지식을 보완하여 답변의 정확도를 높이고 환각 현상을 줄이는 데 필수적이다.
- 리랭커(Reranker)
- — 검색 엔진이나 벡터 DB가 1차적으로 찾아낸 결과물들의 순위를 재조정하는 모델이다. 초기 검색 결과 중 사용자 질문과 가장 관련성이 높은 문서를 상단으로 배치하여 LLM이 더 정확한 컨텍스트를 참조할 수 있게 돕는다.
- 벡터 데이터베이스(Vector DB)
- — 데이터를 수치화된 벡터 형태로 저장하고 유사도 기반 검색을 수행하는 저장소이다. 텍스트의 의미적 유사성을 계산하여 질문과 가장 가까운 의미를 가진 문서를 빠르게 찾아내는 RAG 시스템의 핵심 인프라이다.
- 임베딩(Embedding)
- — 단어나 문장 같은 텍스트 데이터를 고차원 벡터 공간의 좌표로 변환하는 과정이다. 의미가 비슷한 텍스트는 벡터 공간에서 가까운 거리에 위치하게 되어 컴퓨터가 언어의 의미적 관계를 계산할 수 있게 한다.
기술
- Python
- OpenAI API
- PostgreSQL
- AWS Reranker
- FastAPI
활용 사례
- 멀티 모델 지원 챗봇 개발
- PostgreSQL 기반 RAG 시스템 구축
- 경량화된 AI 서비스 인터페이스 통합
언급된 리소스
GitHubXecai GitHub Repository
AI 분석 전체 내용 보기
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
원문 발행 2026. 03. 18.수집 2026. 03. 18.출처 타입 RSS
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.