Spaces:
Running
Running
import os | |
import gradio as gr | |
import google.generativeai as genai | |
from dotenv import load_dotenv | |
# Cargar variables de entorno | |
load_dotenv() | |
# Configurar la API de Google | |
genai.configure(api_key=os.getenv("GOOGLE_API_KEY")) | |
# Crear la sesi贸n de chat con el modelo de Gemini | |
chat = client.chats.create(model="gemini-2.0-flash") | |
def chat_stream(message, history): | |
"""Env铆a el mensaje del usuario a Gemini con historial y devuelve la respuesta en streaming.""" | |
try: | |
# A帽adir el mensaje al historial | |
chat.send_message(message) | |
# Usar streaming para obtener la respuesta en fragmentos | |
response_stream = chat.send_message_stream(message) | |
# Devolver los fragmentos como un flujo (streaming) en el chat | |
for chunk in response_stream: | |
yield chunk.text # Genera cada fragmento uno por uno | |
except Exception as e: | |
yield f"Error: {e}" | |
# Crear la interfaz de chat con historial | |
demo = gr.ChatInterface( | |
fn=chat_stream, | |
examples=["Write an example Python lambda function."], | |
title="Gemini Chatbot", | |
description="Chatbot interactivo con historial de conversaci贸n usando Gemini AI." | |
) | |
# Iniciar la app | |
demo.launch() | |