File size: 1,227 Bytes
b404f69
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import gradio as gr
import openai

def answer_question(files, question, api_key):
    # Utilizar la API key pasada como parámetro
    openai.api_key = api_key
    
    # Aquí deberías procesar los archivos PDF para extraer el texto
    # Simularemos que 'file_content' es el texto extraído
    file_content = "Texto extraído de tus archivos PDF."
    
    # Configura y realiza la consulta a la API de OpenAI
    response = openai.ChatCompletion.create(
        model="gpt-4",
        messages=[
            {"role": "system", "content": "You are a knowledgeable assistant trained to answer questions from uploaded PDF documents."},
            {"role": "user", "content": question}
        ],
        tools={"file_search": {"enabled": True}}
    )

    # Devuelve la respuesta del modelo
    return response['choices'][0]['message']['content']

# Configuración de la interfaz de Gradio
interface = gr.Interface(
    fn=answer_question,
    inputs=[
        gr.File(file_count="multiple", file_types=["pdf"]), 
        gr.Textbox(label="What is your question?"),
        gr.Secret(label="API Key")  # Campo para ingresar la API key de forma segura
    ],
    outputs="text"
)

# Ejecuta la aplicación
interface.launch()