pharmacy-pos-qr-system/backend/test_chatbot_api.py
thug0bin 83ecf88bd4 feat(animal-chat): APC 코드 2024년 체계 지원 및 피부약 2단계 추천
## APC 코드 체계 확장
- 기존: 023%만 검색 (~2023년 제품만)
- 변경: 02% OR 92% + 13자리 검증
  - 02%: 2023년 이전 item_seq (9자리) 기반 APC
  - 92%: 2024년 이후 item_seq (10자리) 기반 APC
- 999% 등 청구프로그램 임의코드는 제외

## 동물약 챗봇 피부약 추천 개선
- 피부약 2단계 추천 구조 추가
  - 1차(치료): 의약품 (개시딘겔, 테르비덤 등)
  - 2차(보조케어): 의약외품 (스킨카솔 - 회복기 피부보호)
- 스킨카솔은 의약외품임을 명시하여 치료제로 오인 방지

## 기타
- RAG 테스트 스크립트 추가
- 수인약품 API 문서화
2026-03-11 14:20:44 +09:00

50 lines
1.4 KiB
Python

# -*- coding: utf-8 -*-
"""실제 챗봇 API 테스트"""
import requests
import json
import time
API_URL = "http://localhost:7001/api/animal-chat"
questions = [
"우리 강아지가 피부에 뭐가 났어요. 빨갛고 진물이 나요",
"고양이 심장사상충 예방약 뭐가 좋아요?",
"개시딘 어떻게 사용해요?",
"강아지가 구토를 해요 약 있나요?",
"진드기 예방약 추천해주세요",
]
print("=" * 70)
print("🐾 동물의약품 챗봇 API 테스트")
print("=" * 70)
for q in questions:
print(f"\n💬 질문: {q}")
print("-" * 50)
try:
start = time.time()
resp = requests.post(API_URL, json={
"messages": [{"role": "user", "content": q}]
}, timeout=30)
elapsed = time.time() - start
data = resp.json()
if data.get("success"):
msg = data.get("message", "")
products = data.get("products", [])
# 응답 앞부분만
print(f"🤖 응답 ({elapsed:.1f}초):")
print(msg[:500] + "..." if len(msg) > 500 else msg)
if products:
print(f"\n📦 추천 제품: {', '.join([p['name'] for p in products[:3]])}")
else:
print(f"❌ 에러: {data.get('message')}")
except Exception as e:
print(f"❌ 요청 실패: {e}")
print()