📂 backend/generator/prompt_builder.py
def build_prompt(query: str, context_docs: list) -> str:
"""
사용자 질문과 검색된 문서들을 조합해 LLM 입력용 프롬프트를 만든다.
"""
context_text = "\n".join([f"- {doc}" for doc in context_docs])
prompt = f"""당신은 공인중개사 시험 문제 출제 전문가입니다.
다음은 기출 문제 및 관련 법령 정보입니다:
{context_text}
이 정보를 참고하여 사용자의 요청에 답변해 주세요.
[질문]
{query}
[답변]
"""
return prompt
✨ 설명
파트 | 설명 |
---|---|
context_docs | 검색한 관련 문서 리스트 |
context_text | 문서들을 깔끔하게 bullet point로 정리 |
최종 prompt | 역할 지시 + 문서 내용 + 질문 + 답변 시작 지시 |
📋 ToDo 체크
✅ 질문과 문서를 합쳐서 자연어 프롬프트 완성
✅ LLM에 바로 입력할 수 있는 텍스트 포맷 제공
✅ 롤 (Role: 출제 전문가) 명시 완료
🚀 여기까지 흐름
/api/search ➔ context_docs 얻고
/api/generate ➔ build_prompt() ➔ prompt 만들고
➔ generate_answer() ➔ 답변 생성
✍️ 다음 스텝
이제 prompt까지 만들었으니까
➔ 이걸 모델에 넣고 답변 생성하는 llm_inference.py
만들 차례야!
📣 다음 질문
llm_inference.py