--- title: 내 맞춤형 미드저니 프롬프트 생성기 API emoji: 🤖🎨✨ colorFrom: indigo colorTo: green sdk: docker app_port: 7860 # Dockerfile에서 EXPOSE한 포트와 일치 python_version: 3.9.13 # <--- 이 줄을 추가해보세요! # hardware: cpu-upgrade # 기본 CPU (무료) # hardware: t4-small # 예시: T4 Small GPU (유료) - LLM 실행에 권장 # secrets: # .env 파일 대신 여기에 시크릿 설정 # - OPENAI_API_KEY # 예시 # - HF_TOKEN # Hugging Face Hub private 모델 접근 시 필요할 수 있음 --- ## 🚀 프로젝트 개요 이 Hugging Face Space는 사용자의 한국어 입력을 기반으로 Midjourney 이미지 생성용 영어 프롬프트를 만들어주는 API를 제공합니다. 자체 파인튜닝된 언어 모델(`sdgsjlfnjkl/kanana-2.1b-full-v12`)과 LangChain 프레임워크, ChromaDB 벡터 스토어, Wikipedia 컨텍스트 검색 기능을 활용합니다. ## ⚙️ API 엔드포인트 - **`GET /`**: API 루트. 간단한 환영 메시지를 반환합니다. - **`GET /health`**: 서버 및 주요 구성 요소의 상태를 확인합니다. - **`POST /generate`**: 핵심 프롬프트 생성 엔드포인트. - Request Body (`application/json`): ```json { "user_input": "푸른 밤하늘 아래 반짝이는 호수와 그 위에 떠 있는 작은 배 한 척" } ``` - Response Body (`application/json`): ```json { "generated_prompt": "A small boat floating on a sparkling lake under a blue night sky, detailed, serene, photorealistic.", "processing_time_seconds": 5.82, "error_message": null } ``` - **`POST /reset_memory`**: 서버에 저장된 대화 기록과 위키 검색 기록을 초기화합니다. (모든 사용자에게 영향) ## 📚 API 문서 이 Space의 URL 뒤에 `/docs`를 추가하면 (예: `https://your-username-your-space-name.hf.space/docs`) Swagger UI를 통해 API를 테스트하고 문서를 확인할 수 있습니다. ## 🛠️ 주요 기술 스택 - FastAPI - LangChain (LCEL, `ConversationBufferMemory`, `HuggingFaceEmbeddings`, `Chroma`) - Transformers (`AutoModelForCausalLM`, `AutoTokenizer`) - Sentence Transformers - Konlpy (Okt) - WikipediaAPI - Docker ## ⚠️ 주의사항 - **초기 로딩 시간**: API 서버 시작 시 다수의 AI 모델을 로딩하므로, Space가 "Running" 상태가 된 후에도 실제 API 응답까지 시간이 걸릴 수 있습니다. Logs 탭에서 "모든 모델 및 설정 로딩 완료" 메시지를 확인하세요. - **공유 메모리**: 현재 구현에서 대화 기록과 위키 검색 기록은 모든 API 사용자 간에 공유됩니다. - **하드웨어**: `sdgsjlfnjkl/kanana-2.1b-full-v12` 모델의 크기와 복잡성에 따라 GPU 하드웨어가 필요할 수 있습니다. README.md 상단의 `hardware` 설정을 조정하세요. ''