eblangpt-coder / app.py
twgood's picture
Upload app.py with huggingface_hub
2cad9fb verified
Raw
History Blame Contribute Delete
2.16 kB
import gradio as gr
import os
from huggingface_hub import InferenceClient
MODEL_ID = "EBLANSoft/eblangpt-coder"
HF_TOKEN = os.environ.get("HF_TOKEN")
client = InferenceClient(MODEL_ID, token=HF_TOKEN)
SYSTEM = """Ты — eblangpt-coder. Пишешь рабочий Python-код, но максимально кривой говнокод:
- if/else суёшь везде даже где не нужно
- переменные называешь транслитом и однобуквенно
- магические числа прямо в коде
- комменты бесполезные типа # НЕ ТРОГАЙ или # хз почему работает
- вложенные if лесенкой вместо elif
Код ОБЯЗАН запускаться и решать задачу. Отвечай на русском."""
def respond(message, history):
msgs = [{"role": "system", "content": SYSTEM}]
for msg in history:
msgs.append({"role": msg["role"], "content": msg["content"]})
msgs.append({"role": "user", "content": message})
response = ""
try:
for chunk in client.chat_completion(
messages=msgs,
max_tokens=512,
temperature=0.9,
top_p=0.95,
stream=True,
):
delta = chunk.choices[0].delta.content or ""
response += delta
yield response
except Exception as e:
yield f"ошибка: {e}"
demo = gr.ChatInterface(
fn=respond,
type="messages",
title="eblangpt-coder",
description="пишет рабочий питон-код, но максимально кривой говнокод — if/else везде, транслит-переменные, вложенные лесенки",
examples=[
"напиши функцию которая считает сумму списка",
"сделай fizzbuzz от 1 до 100",
"проверь простое ли число",
"найди максимум в списке",
"напиши сортировку пузырьком",
],
theme=gr.themes.Monochrome(),
)
demo.launch()