Download app/api/llm.py from gitdeem/mp4: direct link, hf CLI and curl.
- Browser
- Download file 2.32 kB
-
https://huggingface.co/spaces/gitdeem/mp4/resolve/main/app/api/llm.py
- Command line
-
hf download hf://spaces/gitdeem/mp4/app/api/llm.py
-
curl -L -o llm.py https://huggingface.co/spaces/gitdeem/mp4/resolve/main/app/api/llm.py
2.32 kB
| from fastapi import APIRouter, HTTPException | |
| from app.services.llm import llm_service | |
| from app.schemas.llm import ( | |
| StoryGenerationRequest, | |
| StoryGenerationResponse, | |
| ImageGenerationRequest, | |
| ImageGenerationResponse, | |
| ) | |
| from loguru import logger | |
| from enum import Enum | |
| from typing import List, Dict | |
| router = APIRouter() | |
| class LLMType(str, Enum): | |
| TEXT = "text" | |
| IMAGE = "image" | |
| VIDEO = "video" | |
| async def generate_story(request: StoryGenerationRequest) -> StoryGenerationResponse: | |
| """็ๆๆ ไบ""" | |
| try: | |
| segments = llm_service.generate_story( | |
| request | |
| ) | |
| return StoryGenerationResponse(segments=segments) | |
| except Exception as e: | |
| logger.error(f"Failed to generate story: {e}") | |
| raise HTTPException(status_code=500, detail=str(e)) | |
| async def generate_image(request: ImageGenerationRequest) -> ImageGenerationResponse: | |
| """็ๆๅพ็""" | |
| try: | |
| image_url = llm_service.generate_image(prompt=request.prompt, image_llm_provider=request.image_llm_provider, image_llm_model=request.image_llm_model, resolution=request.resolution) | |
| return ImageGenerationResponse(image_url=image_url) | |
| except Exception as e: | |
| raise HTTPException(status_code=500, detail=str(e)) | |
| async def generate_story_with_images(request: StoryGenerationRequest) -> StoryGenerationResponse: | |
| """็ๆๆ ไบๅ้ ๅพ""" | |
| try: | |
| segments = llm_service.generate_story_with_images( | |
| segments=request.segments, | |
| story_prompt=request.story_prompt, | |
| language=request.language | |
| ) | |
| return StoryGenerationResponse(segments=segments) | |
| except Exception as e: | |
| logger.error(f"Failed to generate story with images: {e}") | |
| raise HTTPException(status_code=500, detail=str(e)) | |
| async def get_llm_providers(): | |
| """ | |
| ่ทๅ LLM Provider ๅ่กจ | |
| """ | |
| # ่ฟ้ๅฐๅฎ็ฐ่ทๅ LLM Provider ็้ป่พ | |
| return llm_service.get_llm_providers() | |