QAway-to commited on
Commit
c3082e4
·
1 Parent(s): 3c363e4

Test(FIX1)

Browse files
Files changed (1) hide show
  1. app.py +48 -14
app.py CHANGED
@@ -1,21 +1,55 @@
 
1
  import gradio as gr
2
- from transformers import pipeline
3
 
4
- # Либо используй свою локальную fine-tuned модель,
5
- # либо загружай из HF Hub:
6
- MODEL_PATH = "f3nsmart/MBTIclassifier"
 
 
7
 
8
- pipe = pipeline("text-classification", model=MODEL_PATH, top_k=3)
9
 
10
- def chat(prompt):
11
- result = pipe(prompt, max_new_tokens=100)[0]["generated_text"]
12
- return result.strip()
 
 
13
 
14
- with gr.Blocks() as demo:
15
- gr.Markdown("### 💬 Fine-tuned Mini-LLM Playground")
16
- inp = gr.Textbox(label="Введите вопрос или инструкцию")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17
  out = gr.Textbox(label="Ответ модели")
18
- btn = gr.Button("Сгенерировать")
19
- btn.click(fn=chat, inputs=inp, outputs=out)
20
 
21
- demo.launch()
 
 
 
 
 
 
 
 
1
+ import os
2
  import gradio as gr
3
+ from openai import OpenAI
4
 
5
+ # =========================================================
6
+ # 1. Настройки API Hugging Face router
7
+ # =========================================================
8
+ # Токен HF (создаётся в https://huggingface.co/settings/tokens)
9
+ HF_TOKEN = os.getenv("HF_TOKEN")
10
 
 
11
 
12
+ # OpenAI-совместимый клиент с базой HuggingFace Router
13
+ client = OpenAI(
14
+ base_url="https://router.huggingface.co/v1",
15
+ api_key=HF_TOKEN,
16
+ )
17
 
18
+ # =========================================================
19
+ # 2. Логика общения с моделью
20
+ # =========================================================
21
+ MODEL_ID = "f3nsmart/MBTIclassifier"
22
+
23
+ def ask_model(prompt):
24
+ """
25
+ Отправляет текст модели и возвращает ответ.
26
+ """
27
+ try:
28
+ # Для классификационной модели лучше использовать completions
29
+ completion = client.completions.create(
30
+ model=MODEL_ID,
31
+ prompt=prompt,
32
+ max_tokens=100
33
+ )
34
+ return completion.choices[0].text.strip()
35
+ except Exception as e:
36
+ return f"⚠️ Ошибка запроса к модели:\n{e}"
37
+
38
+ # =========================================================
39
+ # 3. Интерфейс Gradio
40
+ # =========================================================
41
+ with gr.Blocks(title="MBTI Personality Classifier") as demo:
42
+ gr.Markdown("## 🧠 MBTI Personality Classifier\n"
43
+ "Введите свой ответ или описание поведения, и модель определит личностные черты.")
44
+
45
+ inp = gr.Textbox(label="Введите фразу / описание", placeholder="Например: I enjoy working with people and organizing events.")
46
  out = gr.Textbox(label="Ответ модели")
 
 
47
 
48
+ btn = gr.Button("Определить тип")
49
+ btn.click(fn=ask_model, inputs=inp, outputs=out)
50
+
51
+ # =========================================================
52
+ # 4. Запуск
53
+ # =========================================================
54
+ if __name__ == "__main__":
55
+ demo.launch()