Spaces:
Sleeping
Sleeping
Download app.py from PessegoAI/PessegoPRO: direct link, hf CLI and curl.
- Browser
- Download file 2.17 kB
-
https://huggingface.co/spaces/PessegoAI/PessegoPRO/resolve/main/app.py
- Command line
-
hf download hf://spaces/PessegoAI/PessegoPRO/app.py
-
curl -L -o app.py https://huggingface.co/spaces/PessegoAI/PessegoPRO/resolve/main/app.py
2.17 kB
| import gradio as gr | |
| from huggingface_hub import InferenceClient | |
| import os | |
| # 1. Conecta com a API de inferência de forma segura | |
| # Tenta pegar qualquer variação de token injetada pelo próprio Hugging Face | |
| cat_token = os.environ.get("HF_TOKEN") or os.environ.get("HF_ACCESS_TOKEN") or True | |
| # Inicializa o cliente com o provedor correto e o token validado | |
| client = InferenceClient(provider="hf-inference", token=cat_token) | |
| def responder_chat(mensagem, historico): | |
| # Inicializa a lista com as diretrizes do sistema | |
| mensagens = [{"role": "system", "content": "Você é um assistente de IA prestativo e amigável em português."}] | |
| # Processa o histórico no formato compatível com o Gradio | |
| for user_msg, bot_msg in historico: | |
| if user_msg: | |
| mensagens.append({"role": "user", "content": user_msg}) | |
| if bot_msg: | |
| mensagens.append({"role": "assistant", "content": bot_msg}) | |
| # Adiciona a mensagem atual digitada pelo usuário | |
| mensagens.append({"role": "user", "content": mensagem}) | |
| resposta_completa = "" | |
| try: | |
| # Faz a chamada para o modelo Qwen de 7B (mais estável na API gratuita) | |
| for resposta_stream in client.chat_completion( | |
| model="Qwen/Qwen2.5-7B-Instruct", | |
| messages=mensagens, | |
| max_tokens=512, | |
| stream=True, | |
| temperature=0.7 | |
| ): | |
| # Acessa com segurança o conteúdo do token no stream de dados | |
| token = resposta_stream.choices[0].delta.content | |
| if token: | |
| resposta_completa += token | |
| yield resposta_completa # Envia o texto aos poucos para a tela | |
| except Exception as e: | |
| yield f"Erro na API do Hugging Face: {str(e)}\n\n💡 Dica: Verifique se o seu Space está configurado com permissões públicas de leitura nas configurações." | |
| # 2. Configura a interface de chat do Gradio | |
| demo = gr.ChatInterface( | |
| fn=responder_chat, | |
| title="Meu Chatbot Avançado com Qwen 2.5", | |
| description="Interface de Inteligência Artificial conversacional rodando na nuvem." | |
| ) | |
| if __name__ == "__main__": | |
| demo.launch() | |