File size: 574 Bytes
9b14ff1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from fastapi import APIRouter
from pydantic import BaseModel
from retriever.vectordb import search_documents

router = APIRouter()

# ์š”์ฒญ๋ฐ›์„ ๋ฐ์ดํ„ฐ ํฌ๋งท ์ •์˜
class SearchRequest(BaseModel):
    query: str
    top_k: int = 5  # ๊ธฐ๋ณธ์ ์œผ๋กœ ์ƒ์œ„ 5๊ฐœ ๊ฒ€์ƒ‰

# ์‘๋‹ต ๋ฐ์ดํ„ฐ ํฌ๋งท ์ •์˜
class SearchResponse(BaseModel):
    documents: list

@router.post("/search", response_model=SearchResponse)
async def search(request: SearchRequest):
    docs = search_documents(request.query, top_k=request.top_k)
    return {"documents": docs}