File size: 1,160 Bytes
446d2fd
b2ed755
60210e6
b2ed755
 
 
 
 
 
 
 
 
 
df623a9
b2ed755
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5906ce7
b2ed755
 
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
import gradio as gr
import google.generativeai as genai

# Crear un modelo generativo
model = genai.GenerativeModel("gemini-1.5-flash")

# Función para procesar el PDF y generar una respuesta
def process_pdf(file):
    # Subir el archivo PDF local
    sample_pdf = genai.upload_file(file.name)
    
    # Crear el prompt para la API
    prompt = "Give me a summary of this pdf file."
    
    # Generar contenido a partir del PDF subido
    response = model.generate_content([prompt, sample_pdf])
    
    return response.text

# Definir la interfaz de usuario en Gradio
def chatbot_interface(user_input, history):
    # Procesar el archivo PDF
    response_text = process_pdf(user_input)
    
    # Actualizar el historial del chatbot
    history.append((user_input.name, response_text))
    
    return history, history

# Crear la app de Gradio
app = gr.Interface(
    fn=chatbot_interface,
    inputs=[
        gr.File(file_count="single", type="file", label="Upload PDF Document"),
        gr.State(),  # Mantener el estado del historial
    ],
    outputs=[
        gr.Chatbot(),
        gr.State(),
    ],
    live=True
)

# Lanzar la app
app.launch()