ЯRаСлав commited on
Commit
0cc0b4f
·
1 Parent(s): fec5e3c

Add premium multilingual embedding application

Browse files
Files changed (2) hide show
  1. app.py +32 -0
  2. requirements.txt +2 -0
app.py ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from sentence_transformers import SentenceTransformer
3
+
4
+ # Високоякісна мультивалютна модель для 100+ мов (включаючи українську)
5
+ # Вимагає префіксу "query: " або "passage: " для оптимальної точності.
6
+ model_name = "intfloat/multilingual-e5-large"
7
+ model = SentenceTransformer(model_name)
8
+
9
+ def get_embedding(text, prefix="query: "):
10
+ if not text or not text.strip():
11
+ return []
12
+
13
+ # Додаємо префікс для E5 моделі, якщо користувач його сам не написав
14
+ input_text = text.strip()
15
+ if not input_text.startswith("query:") and not input_text.startswith("passage:"):
16
+ input_text = f"{prefix.strip()} {input_text}"
17
+
18
+ return model.encode(input_text).tolist()
19
+
20
+ # Gradio інтерфейс
21
+ demo = gr.Interface(
22
+ fn=get_embedding,
23
+ inputs=[
24
+ gr.Textbox(lines=4, label="Текст для аналізу", placeholder="Введіть текст..."),
25
+ gr.Dropdown(choices=["query: ", "passage: "], value="query: ", label="Тип префіксу (для E5)")
26
+ ],
27
+ outputs=gr.JSON(label="Вектор (Embedding Vector)"),
28
+ title="Premium Multilingual Text Embeddings API",
29
+ description=f"Model: {model_name} (1024 dimensions). Побудовано для якісного аналізу багатьох мов."
30
+ )
31
+
32
+ demo.launch()
requirements.txt ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ sentence-transformers
2
+ torch --index-url https://download.pytorch.org/whl/cpu