twgood commited on
Commit
e515e44
·
verified ·
1 Parent(s): f87693a

Upload app.py with huggingface_hub

Browse files
Files changed (1) hide show
  1. app.py +19 -43
app.py CHANGED
@@ -1,13 +1,12 @@
1
  import gradio as gr
2
  from huggingface_hub import InferenceClient
3
- import os
4
 
5
  MODEL_ID = "EBLANSoft/eblangpt-coder"
6
  client = InferenceClient(MODEL_ID)
7
 
8
  SYSTEM = """Ты — eblangpt-coder. Пишешь рабочий Python-код, но максимально кривой говнокод:
9
  - if/else суёшь везде даже где не нужно
10
- - переменные называешь транслитом и однобуквенно
11
  - магические числа прямо в коде
12
  - комменты бесполезные типа # НЕ ТРОГАЙ или # хз почему работает
13
  - вложенные if лесенкой вместо elif
@@ -15,9 +14,8 @@ SYSTEM = """Ты — eblangpt-coder. Пишешь рабочий Python-код,
15
 
16
  def respond(message, history):
17
  msgs = [{"role": "system", "content": SYSTEM}]
18
- for user, assistant in history:
19
- msgs.append({"role": "user", "content": user})
20
- msgs.append({"role": "assistant", "content": assistant})
21
  msgs.append({"role": "user", "content": message})
22
  response = ""
23
  try:
@@ -32,43 +30,21 @@ def respond(message, history):
32
  response += delta
33
  yield response
34
  except Exception as e:
35
- yield f"ошибка: {e}\n\nпопробуй ещё раз"
36
-
37
- with gr.Blocks(title="eblangpt-coder", theme=gr.themes.Monochrome()) as demo:
38
- gr.HTML("""
39
- <div style="text-align:center;padding:20px 0 10px">
40
- <h1>eblangpt-coder</h1>
41
- <p style="color:#888">пишет рабочий питон-код, но максимально кривой говнокод<br>
42
- <small>if/else везде • транслит-переменные • вложенные лесенки</small></p>
43
- </div>""")
44
-
45
- chatbot = gr.Chatbot(height=450, placeholder="напиши задачу на питоне...")
46
- with gr.Row():
47
- txt = gr.Textbox(placeholder="напиши сортировку списка...", show_label=False, scale=4)
48
- btn = gr.Button(" сгенерить", scale=1, variant="primary")
49
-
50
- gr.Examples(
51
- examples=[
52
- "напиши функцию которая считает сумму списка",
53
- "сделай fizzbuzz от 1 до 100",
54
- "проверь простое ли число",
55
- "найди максимум в списке",
56
- "напиши сортировку пузырьком",
57
- ],
58
- inputs=txt,
59
- )
60
-
61
- def user_msg(message, history):
62
- return "", history + [[message, None]]
63
-
64
- def bot_msg(history):
65
- message = history[-1][0]
66
- history[-1][1] = ""
67
- for response in respond(message, history[:-1]):
68
- history[-1][1] = response
69
- yield history
70
-
71
- txt.submit(user_msg, [txt, chatbot], [txt, chatbot]).then(bot_msg, chatbot, chatbot)
72
- btn.click(user_msg, [txt, chatbot], [txt, chatbot]).then(bot_msg, chatbot, chatbot)
73
 
74
  demo.launch()
 
1
  import gradio as gr
2
  from huggingface_hub import InferenceClient
 
3
 
4
  MODEL_ID = "EBLANSoft/eblangpt-coder"
5
  client = InferenceClient(MODEL_ID)
6
 
7
  SYSTEM = """Ты — eblangpt-coder. Пишешь рабочий Python-код, но максимально кривой говнокод:
8
  - if/else суёшь везде даже где не нужно
9
+ - переменные называешь транслитом и однобуквенно
10
  - магические числа прямо в коде
11
  - комменты бесполезные типа # НЕ ТРОГАЙ или # хз почему работает
12
  - вложенные if лесенкой вместо elif
 
14
 
15
  def respond(message, history):
16
  msgs = [{"role": "system", "content": SYSTEM}]
17
+ for msg in history:
18
+ msgs.append({"role": msg["role"], "content": msg["content"]})
 
19
  msgs.append({"role": "user", "content": message})
20
  response = ""
21
  try:
 
30
  response += delta
31
  yield response
32
  except Exception as e:
33
+ yield f"ошибка: {e}"
34
+
35
+ demo = gr.ChatInterface(
36
+ fn=respond,
37
+ type="messages",
38
+ title="eblangpt-coder",
39
+ description="пишет рабочий питон-код, но максимально кривой говнокод — if/else везде, транслит-переменные, вложенные лесенки",
40
+ examples=[
41
+ "напиши функцию которая считает сумму списка",
42
+ "сделай fizzbuzz от 1 до 100",
43
+ "проверь простое ли число",
44
+ "найди максимум в списке",
45
+ "напиши сортировку пузырьком",
46
+ ],
47
+ theme=gr.themes.Monochrome(),
48
+ )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
49
 
50
  demo.launch()