feat(animal-chat): max_tokens 동적 조정

- 상세 질문 시: max_tokens=1500 (~2000자)
- 기본 질문 시: max_tokens=500 (~750자)
- is_detail_request 변수 스코프 수정
This commit is contained in:
thug0bin 2026-03-08 15:34:06 +09:00
parent e1711d9176
commit 03481dadae

View File

@ -3215,15 +3215,16 @@ def api_animal_chat():
{chr(10).join(product_lines)}
"""
# 상세 질문 감지 (전역으로 사용)
detail_keywords = ['자세히', '상세히', '더 알려', '설명해', '', '어떻게', '원리', '기전', '성분']
is_detail_request = any(kw in last_user_msg for kw in detail_keywords)
# 벡터 DB 검색 (LanceDB RAG)
vector_context = ""
vector_start = time.time()
try:
from utils.animal_rag import get_animal_rag
if last_user_msg:
# 상세 질문 감지: 더 많은 컨텍스트 제공
detail_keywords = ['자세히', '상세히', '더 알려', '설명해', '', '어떻게', '원리', '기전', '성분']
is_detail_request = any(kw in last_user_msg for kw in detail_keywords)
n_results = 5 if is_detail_request else 3
rag = get_animal_rag()
@ -3257,10 +3258,13 @@ def api_animal_chat():
"content": msg.get("content", "")
})
# max_tokens 동적 설정 (상세 질문 시 증가)
max_tokens = 1500 if is_detail_request else 500
response = client.chat.completions.create(
model=OPENAI_MODEL,
messages=api_messages,
max_tokens=500,
max_tokens=max_tokens,
temperature=0.7
)