File size: 1,501 Bytes
c87a1ad
b0926d9
d13dd09
c87a1ad
5af50a4
 
 
84ae751
 
 
 
 
5af50a4
 
84ae751
5af50a4
 
 
 
84ae751
 
 
 
 
 
 
 
 
 
 
 
 
 
ebb0dae
5af50a4
 
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
import gradio as gr
from sentence_transformers import SentenceTransformer

# Tải mô hình
model = SentenceTransformer(model_name_or_path='Alibaba-NLP/gte-multilingual-base',
                            trust_remote_code=True)

def add_sentence(sentences, new_sentence):
    sentences.append(new_sentence)
    return sentences, "", f"Danh sách câu: {sentences}"

def gte_model(sentences):
    try:
        embeddings = model.encode(sentences)
        return embeddings.tolist()  # Chuyển numpy array sang danh sách
    except Exception as e:
        return f"Error: {str(e)}"

# Tạo giao diện Gradio
with gr.Blocks() as demo:
    gr.Markdown("# Mô hình GTE Multilingual")
    gr.Markdown("Nhập từng câu, sau đó nhấn 'Thêm câu' để thêm vào danh sách. Nhấn 'Mã hóa' để nhận kết quả.")

    sentence_input = gr.Textbox(label="Nhập câu", placeholder="Nhập một câu tại đây...")
    add_button = gr.Button("Thêm câu")
    sentences_state = gr.State([])  # Lưu trữ danh sách các câu
    sentence_list_display = gr.Markdown("Danh sách câu: []")
    encode_button = gr.Button("Mã hóa")
    output = gr.JSON(label="Kết quả mã hóa")

    # Liên kết các sự kiện và hàm
    add_button.click(add_sentence, inputs=[sentences_state, sentence_input], outputs=[sentences_state, sentence_input, sentence_list_display])
    encode_button.click(gte_model, inputs=sentences_state, outputs=output)

# Khởi chạy giao diện
demo.launch()