Meong-Meong Chatbot은 반려견의 성장, 질병 등에 관한 질문에 대해 AI가 맞춤형 답변을 제공하는 반려견 전문 챗봇입니다.
Corpus Data: 반려견 성장 및 질병관련 말뭉치 데이터
Language: Kotlin
Framework: Spring Boot 3.5.6
Spring AI Version: 1.0.3
Vector DB: InMemory
Large Language Model(LLM): gemma3:1b
Embedding Model: nomic-embed-text
- 🐕 반려견 성장 및 질병 관련 Q&A 제공
- 🧠 RAG(Retrieval-Augmented Generation) 기반 지식 검색
- 🔍 유사도 검색을 통해 챗봇 질의와 일치하는
qa_input을 찾고, 해당qa_output을 LLM 컨텍스트로 활용하여 답변 생성
- Java: JDK 21 이상
- Kotlin: 1.9.25
# Ollama 볼륨 생성
docker volumes create ollama-local
# Ollama 서비스 실행
docker-compose up -d
# --- 추가: 모델 다운로드 명령어 ---
# 실행 중인 Ollama 컨테이너에서 모델 다운로드
docker exec -it meongmeong-chatbot-ollama ollama pull gemma3:1b
docker exec -it meongmeong-chatbot-ollama ollama pull nomic-embed-text
# ----------------------------------application.yml 파일에 LLM 및 Embedding Model 변경 가능합니다. (ollama 모델 다운로드 필수)
spring:
ai:
ollama:
# 로컬 Docker 컨테이너의 기본 주소
base-url: your-ollama-url
chat:
# LLM 모델 이름 (Ollama에 다운로드된 이름과 일치해야 함)
model: your-ai-model
embedding:
# 임베딩 모델 이름 (Ollama에 다운로드된 이름과 일치해야 함)
model: your-embedding-modelAI Hub에서 반려견 성장 및 질병관련 말뭉치 데이터 저장 후, 라벨링 데이터를 src/main/resources/data 하위에 저장합니다.
# 프로젝트 빌드
./gradlew build
# 애플리케이션 실행
./gradlew bootRun애플리케이션 실행 이후, 다음 주소에서 접속 가능합니다. Swagger를 통해 API를 쉽게 호출할 수 있습니다.
- 메인 서버: http://localhost:8080
- Swagger: http://localhost:8080/swagger-ui.html
curl -X POST "http://localhost:8080/api/v1/rag/ingest-jsons" \
-H "Content-Type: application/json"curl -X POST "http://localhost:8080/api/v1/chats/query" \
-H "Content-Type: application/json" \
-d '{"query": "강아지가 숨을 쉬는데 코고는 소리와 비슷하게 들려요. 왜 그럴까요?"}'✅ 응답 예시
{
"result": "SUCCESS",
"data": {
"answer": "강아지가 숨을 쉬며 코를 고는 소리와 유사하게 들리는 현상은 여러 가지 원인으로 발생할 수 있습니다. 몇 가지 가능한 이유와 추가적인 정보는 다음과 같습니다.\n\n**1. 심장 박동:** 강아지의 심장 박동은 코를 고는 소리와 유사하게 들릴 수 있습니다. 심장 박동이 활발할 때 심장과 관련된 감각적 반응으로 인해 이 현상이 나타날 수 있습니다.\n\n**2. 턱 근육 활성화:** 강아지는 턱 근육을 사용하여 호흡을 조절합니다. 턱 근육이 활성화되면 코를 고는 소리와 유사하게 들리는 현상이 나타날 수 있습니다. 특히, 턱의 움직임을 통해 호흡 패턴이 변화할 때 발생할 수 있습니다.\n\n**3. 스트레스 또는 불안:** 스트레스나 불안과 같이 감정적으로 긴장할 때 강아지는 코를 고는 소리와 유사하게 낼 수 있습니다.\n\n**4. 불편함:** 강아지가 특정 장소나 물체에 불편함을 느끼면 코를 고는 소리와 유사하게 들릴 수 있습니다.\n\n**5. 기타 질환:** 드물지만, 특정 질환이나 상태로 인해 코를 고는 소리가 나타날 수 있습니다. (예: 코막힘, 천두 등)\n\n**추가적으로 고려할 사항:**\n\n* **동반 증상:** 코를 고는 소리 외에도 다른 증상(예: 짖음, 불안, 근육 경련 등)이 있다면 해당 증상이 더 이상 악화되는지 확인해야 합니다.\n* **어린 강아지:** 어린 강아지는 심장 박동이나 턱 근육의 활동으로 인해 코를 고는 소리가 더 두드러질 수 있습니다.\n\n**주의사항:**\n\n* 강아지가 코를 고르는 행동을 지속적으로 반복하거나, 다른 불편한 증상을 동반하는 경우 수의사와 상담하는 것이 좋습니다.\n* 최대한 평소에 강아지의 스트레스 요인을 제거하고, 편안하게 지낼 수 있도록 환경을 조성해 주세요.\n\n**마지막으로:** 강아지의 상태를 면밀히 관찰하고, 불편한 경우 즉시 수의사와 상담하여 정확한 원인을 파악하고 적절한 치료를 받는 것이 중요합니다.\n\n**참고:** 이 정보는 일반적인 내용이며, 특정 상황에 대한 의료 조언으로 해석되어서는 안 됩니다. 정확한 진단과 치료는 반드시 수의사와 상담하십시오."
},
"error": null
}