Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| from fastapi import FastAPI, Request | |
| import uvicorn | |
| import spaces | |
| from sentence_transformers import SentenceTransformer | |
| print("Loading embedding model"); | |
| Embedder = SentenceTransformer("mixedbread-ai/mxbai-embed-large-v1") | |
| app = FastAPI() | |
| def embed(text): | |
| query_embedding = Embedder.encode(text) | |
| return query_embedding.tolist(); | |
| async def openai_embed(req: Request): | |
| body = await req.json(); | |
| print(body); | |
| model = body['model']; | |
| text = body['input']; | |
| embeddings = embed(text) | |
| return { | |
| 'object': "list" | |
| ,'data': [{ | |
| 'object': "embeddings" | |
| ,'embedding': embeddings | |
| ,'index':0 | |
| }] | |
| ,'model': 'mixedbread-ai/mxbai-embed-large-v1' | |
| ,'usage':{ | |
| 'prompt_tokens': 0 | |
| ,'total_tokens': 0 | |
| } | |
| } | |
| with gr.Blocks() as demo: | |
| text = gr.Textbox(); | |
| embeddings = gr.Textbox() | |
| text.submit(embed, [text], [embeddings]); | |
| print("Demo run..."); | |
| (app2,url,other) = demo.launch(prevent_thread_lock=True, server_name=None, server_port=8000); | |
| GradioApp = gr.mount_gradio_app(app, demo, path="", ssr_mode=False); | |
| demo.close(); | |
| if __name__ == '__main__': | |
| print("Running uviconr..."); | |
| uvicorn.run(GradioApp, host="0.0.0.0", port=7860) |