Spaces:
Sleeping
Sleeping
File size: 1,342 Bytes
a356b57 a577410 a356b57 a577410 a356b57 a577410 a356b57 a577410 a356b57 a577410 a356b57 a577410 a356b57 a577410 a356b57 a577410 a356b57 a577410 1b0cfc6 a577410 1b0cfc6 a577410 1b0cfc6 a577410 1b0cfc6 adec8cd a577410 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
"""
Hugging Face Spaces compatible app
"""
import os
import gradio as gr
from main import app as fastapi_app
# Gradio wrapper cho Hugging Face Spaces
def create_gradio_interface():
"""
Tạo Gradio interface để deploy trên Hugging Face Spaces
"""
with gr.Blocks(title="Event Social Media Embeddings API") as demo:
gr.Markdown("""
# 🔍 Event Social Media Embeddings API
API để embeddings và search multimodal (text + images) với **Jina CLIP v2** + **Qdrant Cloud**
## 🌟 Features:
- ✅ Multimodal: Text + Image embeddings
- ✅ Tiếng Việt: 100% support
- ✅ High Performance: ONNX + HNSW
- ✅ Cloud: Qdrant Cloud
## 📡 API Endpoints:
- `POST /index` - Index data
- `POST /search` - Hybrid search
- `POST /search/text` - Text search
- `POST /search/image` - Image search
### 🔗 API Docs:
Truy cập `/docs` để xem API documentation đầy đủ
""")
gr.Markdown("### API is running at the `/docs` endpoint")
return demo
# Mount FastAPI app
demo = create_gradio_interface()
# Wrap FastAPI với Gradio
app = gr.mount_gradio_app(fastapi_app, demo, path="/")
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="0.0.0.0", port=7860)
|