FastAPI와 Qdrant를 사용한 벡터 검색 서버입니다.
docker-compose up --build
docker-compose up -d --build
docker-compose down
- FastAPI 서버: http://localhost:5001
- Qdrant 데이터베이스: http://localhost:6333
- API 문서: http://localhost:5001/docs
POST /insert
Content-Type: application/json
{
"text": "삽입할 텍스트",
"metadata": {"key": "value"}
}
POST /search
Content-Type: application/json
{
"query": "검색할 텍스트",
"top_k": 3
}
cp env.example .env
.env
파일을 열어 필요한 값들을 수정하세요:
QDRANT_HOST
: Qdrant 서버 호스트 (기본값: localhost)QDRANT_PORT
: Qdrant 서버 포트 (기본값: 6333)COLLECTION_NAME
: 벡터 컬렉션 이름 (기본값: my_vectors)
EMBEDDING_TYPE
: 임베딩 서비스 타입sentence_transformer
: 로컬 SentenceTransformer 모델 사용 (기본값)openai
: OpenAI 임베딩 API 사용
MODEL_NAME
: SentenceTransformer 모델명 (기본값: sentence-transformers/all-MiniLM-L6-v2)
OPENAI_API_KEY
: OpenAI API 키 (필수)OPENAI_MODEL_NAME
: OpenAI 임베딩 모델명 (기본값: text-embedding-ada-002)
PORT
: FastAPI 서버 포트 (기본값: 5001)LOG_LEVEL
: 로그 레벨 (기본값: INFO)DEBUG
: 개발 모드 (기본값: False)
Qdrant 데이터는 Docker 볼륨 qdrant_data
에 저장되어 컨테이너가 재시작되어도 유지됩니다.