TestTesting123 commited on
Commit
fdd259d
·
verified ·
1 Parent(s): 5565c34

Upload app.py

Browse files
Files changed (1) hide show
  1. app.py +48 -0
app.py ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import gradio as gr
3
+ from openai import OpenAI
4
+
5
+ # Проверяем API ключ
6
+ api_key = os.getenv("OPENROUTER_API_KEY")
7
+ if not api_key:
8
+ raise ValueError("OPENROUTER_API_KEY не найден в Secrets!")
9
+
10
+ # Создаём клиента OpenRouter
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:
24
+ messages.append({"role": "user", "content": h[0]})
25
+ messages.append({"role": "assistant", "content": h[1]})
26
+ # Текущий пользовательский ввод
27
+ messages.append({"role": "user", "content": user_input})
28
+
29
+ # Вызов LLM
30
+ response = client.chat.completions.create(
31
+ model="anthropic/claude-3.5-sonnet",
32
+ messages=messages
33
+ )
34
+ answer = response.choices[0].message.content
35
+ history.append((user_input, answer))
36
+ return history, ""
37
+ except Exception as e:
38
+ return history, f"Ошибка при вызове AI: {e}"
39
+
40
+ # Интерфейс Gradio
41
+ with gr.Blocks() as demo:
42
+ chat = gr.Chatbot()
43
+ msg = gr.Textbox(placeholder="Напишите сообщение...")
44
+ state = gr.State([]) # история чата
45
+ msg.submit(ask_ai, inputs=[msg, state], outputs=[chat, msg])
46
+
47
+ # Запуск
48
+ demo.launch()