my-midjourney-api / README.md
성현 김
Update python_version to 3.9.13 in README
ad0422b
---
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` 설정을 조정하세요.
''