| import gradio as gr |
| from transformers import AutoModel, AutoTokenizer |
| import torch |
|
|
| |
| tokenizer = AutoTokenizer.from_pretrained( |
| "Qwen/Qwen3-Embedding-8B", |
| trust_remote_code=True |
| ) |
| model = AutoModel.from_pretrained( |
| "Qwen/Qwen3-Embedding-8B", |
| trust_remote_code=True, |
| device_map="auto" |
| ).eval() |
|
|
| def get_embedding(text): |
| inputs = tokenizer(text, return_tensors="pt", truncation=True).to(model.device) |
| with torch.no_grad(): |
| outputs = model(**inputs) |
| embedding = outputs.last_hidden_state.mean(dim=1).squeeze().tolist() |
| return {"text": text, "embedding_size": len(embedding)} |
|
|
| demo = gr.Interface( |
| fn=get_embedding, |
| inputs=gr.Textbox(label="Input text"), |
| outputs=gr.JSON(), |
| title="Qwen3 Embeddings" |
| ) |
| demo.launch() |