Spaces:
Sleeping
Sleeping
File size: 2,097 Bytes
bf063d6 1905d28 bf063d6 1905d28 bf063d6 69e63c7 bf063d6 1905d28 bf063d6 1905d28 69e63c7 1905d28 69e63c7 1905d28 69e63c7 05a8a66 1905d28 05a8a66 1905d28 05a8a66 1905d28 05a8a66 1905d28 69e63c7 05a8a66 1905d28 69e63c7 05a8a66 1905d28 69e63c7 1905d28 69e63c7 05a8a66 baa5f9b 1b70718 1905d28 69e63c7 1905d28 69e63c7 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | import os
import gradio as gr
from mistralai.client import MistralClient
# --- Configuração da API da Mistral ---
api_key = os.environ.get("CHAT01")
mistral_client = None
if not api_key:
print("AVISO: A chave da API Mistral (CHAT01) não está configurada nas variáveis de ambiente.")
else:
try:
mistral_client = MistralClient(api_key=api_key)
print("✅ Cliente Mistral inicializado com sucesso!")
except Exception as e:
print(f"❌ ERRO ao inicializar o cliente Mistral: {e}")
mistral_client = None
# --- Função de resposta do chatbot ---
def chatbot_response(messages):
"""
messages: lista de mensagens no formato [{role: "user", content: "..."}, {role: "assistant", content: "..."}]
"""
if mistral_client is None:
return {"role": "assistant", "content": "⚠️ Serviço de IA indisponível. Verifique a chave da API."}
try:
print(f"📤 Enviando para a API: {messages[-1]['content'][:50]}...")
chat_response = mistral_client.chat(
model="mistral-large-latest",
messages=messages
)
resposta_bot = chat_response.choices[0].message["content"]
print(f"📥 Resposta recebida: {resposta_bot[:50]}...")
return {"role": "assistant", "content": resposta_bot}
except Exception as e:
print(f"❌ ERRO ao chamar a API da Mistral: {e}")
return {"role": "assistant", "content": f"Erro ao processar sua solicitação: {e}"}
# --- Interface do Gradio ---
interface = gr.ChatInterface(
fn=chatbot_response,
title="🤖 Meu Chatbot com Mistral AI",
description="Converse com um modelo da Mistral AI em tempo real!",
examples=[
[{"role": "user", "content": "Qual a capital do Brasil?"}],
[{"role": "user", "content": "Explique o que é inteligência artificial."}],
[{"role": "user", "content": "Sugira 3 nomes para um cachorro."}],
],
chatbot=gr.Chatbot() # <--- Corrigido aqui, removido "type"
)
# --- Lançamento da aplicação ---
if __name__ == "__main__":
interface.launch()
|