Jagalchi 학습 플랫폼의 AI 기능을 위한 Python/Django 기반 모듈입니다.
jagalchi_ai/ai_core/: Spring Boot 스타일 레이어드 구조(controller/service/repository/domain/common)docs/ai/ai-spec.md: 기능 스펙 및 파이프라인 문서jagalchi_ai/ai_core/controller/verify_gemini.py: Gemini 연결 확인 스크립트jagalchi_ai/ai_core/controller/verify_tavily.py: Tavily 검색 확인 스크립트jagalchi_ai/ai_core/controller/verify_exa.py: Exa 검색 확인 스크립트
GEMINI_API_KEY: Google AI Studio 키 (로컬은.env사용)TAVILY_API_KEY: Tavily 검색 키 (로컬은.env사용)EXA_API_KEY: Exa 검색 키 (로컬은.env사용)AI_DISABLE_EXTERNAL: 외부 API 호출 비활성화(true일 때)AI_DISABLE_LLM: LLM 호출 비활성화(true일 때)AI_AUTH_ENABLED: AI API 인증 활성화 여부 (true/false, 기본true)AI_AUTH_JWT_SECRET: AI API JWT(HS256) 서명/검증 시크릿 (필수로 강한 랜덤 값 권장)
# .env에 AI_AUTH_JWT_SECRET 먼저 설정한 뒤 실행
python manage.py issue_ai_token \
--sub user-1 \
--roadmap-id rm_frontend \
--permissions EDIT \
--export AI_AUTH_DEV_TOKEN_EDIT \
--write-env-file .envpython -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python manage.py testdocker compose up --buildcurl -H "Authorization: Bearer $AI_AUTH_DEV_TOKEN_EDIT" \
"http://localhost:8000/api/ai/demo?roadmap_id=rm_frontend&tech_slug=react&user_id=user-1"GET /api/ai/record-coachGET /api/ai/related-roadmapsGET /api/ai/tech-cardsGET /api/ai/tech-fingerprintGET /api/ai/comment-digestGET /api/ai/comment-duplicatesGET /api/ai/resource-recommendationGET /api/ai/learning-patternGET /api/ai/graph-ragGET /api/ai/roadmap-generatedGET /api/ai/learning-coachGET /api/ai/roadmap-recommendation
- OpenAPI JSON:
http://localhost:8000/api/schema/ - Swagger UI:
http://localhost:8000/api/docs/ - Redoc:
http://localhost:8000/api/redoc/
export GEMINI_API_KEY=your-key
python -m jagalchi_ai.ai_core.controller.verify_geminiexport TAVILY_API_KEY=your-key
python -m jagalchi_ai.ai_core.controller.verify_tavilyexport EXA_API_KEY=your-key
python -m jagalchi_ai.ai_core.controller.verify_exa