File size: 1,224 Bytes
093162a
446d2fd
f68f2c5
ff48396
a6341df
ff48396
 
a6341df
ff48396
06c02ed
ff48396
d135972
 
ff48396
d135972
403eda5
ff48396
d135972
 
ff48396
403eda5
d135972
403eda5
 
 
 
 
ff48396
403eda5
ff48396
 
a6341df
d135972
ff48396
 
 
a6341df
5906ce7
ff48396
29f787a
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
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()