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