Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import requests | |
| import os | |
| # Настройки | |
| API_URL = "https://api-inference.huggingface.co/models/meta-llama/Llama-3.2-3B-Instruct" | |
| token = os.getenv("HF_TOKEN") | |
| headers = {"Authorization": f"Bearer {token}"} | |
| def query(payload): | |
| response = requests.post(API_URL, headers=headers, json=payload) | |
| return response.json() | |
| def respond(message, history): | |
| # Flare - имя ассистента | |
| prompt = f"System: Ты — Flare, профессиональный ИИ-ассистент. Пиши грамотно на русском.\n" | |
| # Берем только последние 2 сообщения для максимальной стабильности | |
| for user_msg, bot_msg in history[-2:]: | |
| prompt += f"User: {user_msg}\nAssistant: {bot_msg}\n" | |
| prompt += f"User: {message}\nAssistant:" | |
| payload = { | |
| "inputs": prompt, | |
| "parameters": { | |
| "max_new_tokens": 500, | |
| "temperature": 0.7, | |
| "return_full_text": False | |
| } | |
| } | |
| try: | |
| output = query(payload) | |
| # Если API вернул ошибку (например, модель грузится) | |
| if "error" in output: | |
| return f"Flare: Сейчас модель подгружается, подожди 10 секунд. (Ошибка: {output['error']})" | |
| return output[0]['generated_text'].strip() | |
| except Exception as e: | |
| return f"Flare: Ошибка связи. Проверь интернет или токен. ({str(e)})" | |
| # Самый простой интерфейс без стриминга (так надежнее) | |
| demo = gr.ChatInterface(fn=respond) | |
| if __name__ == "__main__": | |
| demo.launch() |