TestTesting123 commited on
Commit
9d26909
·
verified ·
1 Parent(s): 7bc0dcf

Upload app.py

Browse files
Files changed (1) hide show
  1. app.py +50 -0
app.py ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import gradio as gr
3
+ from openai import OpenAI
4
+
5
+ # Проверка ключа
6
+ api_key = os.getenv("OPENROUTER_API_KEY")
7
+ if not api_key:
8
+ raise ValueError("OPENROUTER_API_KEY не найден в Secrets!")
9
+
10
+ # Создаем клиента
11
+ client = OpenAI(
12
+ base_url="https://openrouter.ai/api/v1",
13
+ api_key=api_key
14
+ )
15
+
16
+ # Функция обработки сообщений
17
+ def ask_ai(user_input, history=[]):
18
+ if not user_input.strip():
19
+ return history, "Введите сообщение!"
20
+ try:
21
+ messages = [{"role": "system", "content": "Ты HR-бот, задавай вопросы."}]
22
+ # Преобразуем историю в правильный формат словарей
23
+ for h in history[-6:]:
24
+ messages.append({"role": "user", "content": str(h[0])})
25
+ messages.append({"role": "assistant", "content": str(h[1])})
26
+ # Добавляем текущее сообщение
27
+ messages.append({"role": "user", "content": str(user_input)})
28
+
29
+ # Вызов LLM с ограничением токенов
30
+ response = client.chat.completions.create(
31
+ model="anthropic/claude-3.5-sonnet",
32
+ messages=messages,
33
+ max_tokens=1000
34
+ )
35
+
36
+ answer = response.choices[0].message.content
37
+ history.append((user_input, answer))
38
+ return history, ""
39
+ except Exception as e:
40
+ return history, f"Ошибка при вызове AI: {e}"
41
+
42
+ # Интерфейс Gradio
43
+ with gr.Blocks() as demo:
44
+ chat = gr.Chatbot()
45
+ msg = gr.Textbox(placeholder="Напишите сообщение...")
46
+ state = gr.State([]) # история чата
47
+ msg.submit(ask_ai, inputs=[msg, state], outputs=[chat, msg])
48
+
49
+ # Запуск
50
+ demo.launch()