CoolFace
Apppublic

SEVAQWERTY/Free-claude-code

sourceHugging Faceapache-2.0updated 5mo agoView on Hugging Face
0likes
app.py58 linesDownload Raw Back to root
1import os2import requests3import gradio as gr4 5OPENROUTER_API_KEY = os.environ.get("OPENROUTER_API_KEY")6if not OPENROUTER_API_KEY:7    raise ValueError("Добавь OPENROUTER_API_KEY в Secrets")8 9def ask_openrouter(message: str, history: list) -> str:10    # Преобразуем историю Gradio в формат messages11    messages = []12    for user_msg, bot_msg in history:13        if user_msg:14            messages.append({"role": "user", "content": user_msg})15        if bot_msg:16            messages.append({"role": "assistant", "content": bot_msg})17    # Добавляем текущий вопрос18    messages.append({"role": "user", "content": message})19 20    try:21        response = requests.post(22            "https://openrouter.ai/api/v1/chat/completions",23            headers={24                "Authorization": f"Bearer {OPENROUTER_API_KEY}",25                "Content-Type": "application/json",26                "HTTP-Referer": "https://huggingface.co",27                "X-Title": "Claude Code"28            },29            json={30                "model": "deepseek/deepseek-r1-0528:free",31                "messages": messages,  # теперь точно правильный формат32                "max_tokens": 4096,33                "temperature": 0.7,34                "stream": False35            },36            timeout=6037        )38        if response.status_code == 200:39            return response.json()["choices"][0]["message"]["content"]40        else:41            return f"Ошибка API ({response.status_code}): {response.text[:300]}"42    except Exception as e:43        return f"Ошибка: {str(e)}"44 45with gr.Blocks(title="Claude Code Free") as demo:46    gr.Markdown("# 🤖 Claude Code")47    chatbot = gr.Chatbot(height=500)48    msg = gr.Textbox(label="Запрос", placeholder="Пиши код...")49    clear = gr.ClearButton([msg, chatbot])50 51    def respond(message, chat_history):52        reply = ask_openrouter(message, chat_history)53        chat_history.append((message, reply))54        return "", chat_history55 56    msg.submit(respond, [msg, chatbot], [msg, chatbot])57 58demo.launch()