Spaces:
Sleeping
Sleeping
| title: Lily LLM API Server | |
| emoji: ๐ค | |
| colorFrom: blue | |
| colorTo: purple | |
| sdk: docker | |
| sdk_version: \"1.0.0\" | |
| app_port: 7860 | |
| app_file: app.py | |
| pinned: false | |
| # 250826 v1.0.3 | |
| - cloudtype migrate, supabase db ์ฐ๊ฒฐ ๊ณ์ธต์ ๋ฉ๋ชจ๋ฆฌ ํ ์คํธ | |
| # 250825 v1.0.2 test | |
| - lily ์ปจํ ์คํธ ๋ฉ๋ชจ๋ฆฌ supabase ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ | |
| # 250824 | |
| - ๊ณ์ธต์ ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ ํตํฉ ๋ฆฌํฉํ ๋ง, ์ฅ๊ธฐ, ์ค๊ธฐ, ๋จ๊ธฐ | |
| # 250823 | |
| - ์ปจํ ์คํธ ๋งค๋์ , lora, rag ์์คํ , ๋ฌธ์ ์์ฝ + ์ปจํ ์คํธ ํ์ฅ ์์คํ ํตํฉ | |
| # 250822 | |
| - polyglot 1.3b lora ํ๋ผ๋ฉํฐ ์กฐ์ , ์๋ต ํ์ง ํฅ์ | |
| # 250821 | |
| - polyplot 5.8b ์๋ต ์๋ ๊ฐ์ , ๋ชจ๋ธ๋ณ tokenizer config settings json ๋ณ์ ๋ช ์์ ์ผ๋ก ๊ธฐ์ | |
| # 250820 | |
| - lily llm kanana 3b ๋ฉํฐ๋ชจ๋ฌ ๊ฐ์ , polyglot 1.3b, 5.8b ์๋ต ํ์ง ๊ฐ์ | |
| # 250819 v1.0.1 | |
| - ์ปจํ ์คํธ ์ฐฝ, lora ์ถ๊ฐ, kanana model ๊ณต์ ๋ฌธ์๋๋ก ๋ค์ ๋ค์ด๋ก๋ ํ app_v2 ๋ฐ ํ๋กํ ๋ฆฌํฉํ ๋ง | |
| # Lily LLM API Server | |
| FastAPI ๊ธฐ๋ฐ ๋ฉํฐ๋ชจ๋ฌ AI ์๋ฒ์ ๋๋ค. | |
| ## Features | |
| - ํ ์คํธ ์์ฑ | |
| - ์ด๋ฏธ์ง ์ธ์ | |
| - RAG ์์คํ | |
| - ์ํ ๊ณต์ ์ฒ๋ฆฌ | |
| ## API Endpoints | |
| - \`GET /health\` - ์๋ฒ ์ํ ํ์ธ | |
| - \`POST /generate\` - ํ ์คํธ/์ด๋ฏธ์ง ์์ฑ | |
| - \`POST /upload-document\` - ๋ฌธ์ ์ ๋ก๋ | |
| - \`POST /rag-query\` - RAG ์ง์ | |
| ## Model | |
| - Kanana-1.5-v-3b-instruct (ํ๊ตญ์ด ๋ฉํฐ๋ชจ๋ฌ) | |
| - ์๋ ๋ค์ด๋ก๋: gbrabbit/lily-math-model" > README.md | |
| # Lily LLM API - Hugging Face Spaces | |
| ## ๐ค ์๊ฐ | |
| Lily LLM API๋ ๋ค์ค ๋ชจ๋ธ ์ง์๊ณผ RAG(Retrieval Augmented Generation) ์์คํ ์ ๊ฐ์ถ ๊ณ ์ฑ๋ฅ AI API ์๋ฒ์ ๋๋ค. | |
| ### โจ ์ฃผ์ ๊ธฐ๋ฅ | |
| - **๐ง ๋ฉํฐ๋ชจ๋ฌ AI**: Kanana-1.5-v-3b-instruct ๋ชจ๋ธ์ ํตํ ํ ์คํธ ๋ฐ ์ด๋ฏธ์ง ์ฒ๋ฆฌ | |
| - **๐ RAG ์์คํ **: ๋ฌธ์ ๊ธฐ๋ฐ ์ง์์๋ต ๋ฐ ์ปจํ ์คํธ ๊ฒ์ | |
| - **๐ ๋ฒกํฐ ๊ฒ์**: FAISS ๊ธฐ๋ฐ ๊ณ ์ ์ ์ฌ๋ ๊ฒ์ | |
| - **๐ ๋ฌธ์ ์ฒ๋ฆฌ**: PDF, DOCX, TXT ๋ฑ ๋ค์ํ ๋ฌธ์ ํ์ ์ง์ | |
| - **๐ผ๏ธ ์ด๋ฏธ์ง OCR**: LaTeX-OCR์ ํตํ ์ํ ๊ณต์ ์ธ์ | |
| - **โก ๋น๋๊ธฐ ์ฒ๋ฆฌ**: Celery ๊ธฐ๋ฐ ๋ฐฑ๊ทธ๋ผ์ด๋ ์์ | |
| - **๐ RESTful API**: FastAPI ๊ธฐ๋ฐ ๊ณ ์ฑ๋ฅ ์น API | |
| ### ๐ ์ฌ์ฉ ๋ฐฉ๋ฒ | |
| #### 1. ํ ์คํธ ์์ฑ | |
| ```python | |
| import requests | |
| response = requests.post( | |
| "https://huggingface.co/spaces/gbrabbit/lily_fast_api/generate", | |
| data={"prompt": "์๋ ํ์ธ์! ์ค๋ ๋ ์จ๊ฐ ์ด๋ค๊ฐ์?"} | |
| ) | |
| print(response.json()) | |
| ``` | |
| #### 2. ์ด๋ฏธ์ง์ ํจ๊ป ์ง์ | |
| ```python | |
| import requests | |
| with open("image.jpg", "rb") as f: | |
| response = requests.post( | |
| "https://https://huggingface.co/spaces/gbrabbit/lily_fast_api/generate", | |
| data={"prompt": "์ด๋ฏธ์ง์์ ๋ฌด์์ ๋ณผ ์ ์๋์?"}, | |
| files={"image1": f} | |
| ) | |
| print(response.json()) | |
| ``` | |
| #### 3. RAG ๊ธฐ๋ฐ ์ง์์๋ต | |
| ```python | |
| import requests | |
| # ๋ฌธ์ ์ ๋ก๋ | |
| with open("document.pdf", "rb") as f: | |
| upload_response = requests.post( | |
| "https://huggingface.co/spaces/gbrabbit/lily_fast_api/upload-document", | |
| files={"file": f}, | |
| data={"user_id": "your_user_id"} | |
| ) | |
| document_id = upload_response.json()["document_id"] | |
| # RAG ์ง์ | |
| response = requests.post( | |
| "https://huggingface.co/spaces/gbrabbit/lily_fast_api/rag-query", | |
| json={ | |
| "query": "๋ฌธ์์ ์ฃผ์ ๋ด์ฉ์ ๋ฌด์์ธ๊ฐ์?", | |
| "user_id": "your_user_id", | |
| "document_id": document_id | |
| } | |
| ) | |
| print(response.json()) | |
| ``` | |
| ### ๐ API ์๋ํฌ์ธํธ | |
| #### ๊ธฐ๋ณธ ์๋ํฌ์ธํธ | |
| - `GET /health` - ์๋ฒ ์ํ ํ์ธ | |
| - `GET /models` - ์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ธ ๋ชฉ๋ก | |
| - `POST /load-model` - ๋ชจ๋ธ ๋ก๋ | |
| - `POST /generate` - ํ ์คํธ/์ด๋ฏธ์ง ์์ฑ | |
| #### RAG ์์คํ | |
| - `POST /upload-document` - ๋ฌธ์ ์ ๋ก๋ | |
| - `POST /rag-query` - RAG ๊ธฐ๋ฐ ์ง์ | |
| - `GET /documents/{user_id}` - ์ฌ์ฉ์ ๋ฌธ์ ๋ชฉ๋ก | |
| - `DELETE /document/{document_id}` - ๋ฌธ์ ์ญ์ | |
| #### ๊ณ ๊ธ ๊ธฐ๋ฅ | |
| - `POST /batch-process` - ๋ฐฐ์น ๋ฌธ์ ์ฒ๋ฆฌ | |
| - `GET /task-status/{task_id}` - ์์ ์ํ ํ์ธ | |
| - `POST /cancel-task/{task_id}` - ์์ ์ทจ์ | |
| ### ๐ ๏ธ ๊ธฐ์ ์คํ | |
| - **Backend**: FastAPI, Python 3.11 | |
| - **AI Models**: Transformers, PyTorch | |
| - **Vector DB**: FAISS, ChromaDB | |
| - **Task Queue**: Celery, Redis | |
| - **OCR**: LaTeX-OCR, EasyOCR | |
| - **Document Processing**: LangChain | |
| ### ๐ ๋ชจ๋ธ ์ ๋ณด | |
| #### Kanana-1.5-v-3b-instruct | |
| - **ํฌ๊ธฐ**: 3.6B ๋งค๊ฐ๋ณ์ | |
| - **์ธ์ด**: ํ๊ตญ์ด ํนํ | |
| - **๊ธฐ๋ฅ**: ํ ์คํธ ์์ฑ, ์ด๋ฏธ์ง ์ดํด | |
| - **์ปจํ ์คํธ**: ์ต๋ 4096 ํ ํฐ | |
| ### ๐ง ์ค์ | |
| ํ๊ฒฝ ๋ณ์๋ฅผ ํตํด ๋ค์ ์ค์ ์ ์กฐ์ ํ ์ ์์ต๋๋ค: | |
| ```bash | |
| # ์๋ฒ ์ค์ | |
| HOST=0.0.0.0 | |
| PORT=7860 | |
| # ๋ชจ๋ธ ์ค์ | |
| DEFAULT_MODEL=kanana-1.5-v-3b-instruct | |
| MAX_NEW_TOKENS=256 | |
| TEMPERATURE=0.7 | |
| # ์บ์ ์ค์ | |
| TRANSFORMERS_CACHE=/app/cache/transformers | |
| HF_HOME=/app/cache/huggingface | |
| ``` | |
| ### ๐ ๋ผ์ด์ ์ค | |
| ์ด ํ๋ก์ ํธ๋ MIT ๋ผ์ด์ ์ค ํ์ ๋ฐฐํฌ๋ฉ๋๋ค. | |
| ### ๐ค ๊ธฐ์ฌ | |
| ๋ฒ๊ทธ ๋ฆฌํฌํธ, ๊ธฐ๋ฅ ์ ์, ํ ๋ฆฌํ์คํธ๋ฅผ ํ์ํฉ๋๋ค! | |
| ### ๐ ์ง์ | |
| ๋ฌธ์์ฌํญ์ด ์์ผ์๋ฉด GitHub Issues๋ฅผ ํตํด ์ฐ๋ฝํด ์ฃผ์ธ์. |