import gradio as gr import requests import json API_URL = "https://jj78yliqd7.execute-api.eu-central-1.amazonaws.com/dev/chatbot" def get_answer(prompt, message): params = {"prompt": prompt} response = requests.get(API_URL, params=params) if response.status_code == 200: response_body = response.json().get('body') answer = response_body.get('answer') return answer else: return "Sorry, something went wrong. Please try again." def upload_file(file): pdf_file_path = file.name with open(pdf_file_path, 'rb') as pdf_file: pdf_binary_data = pdf_file.read() API_ENDPOINT = "https://jj78yliqd7.execute-api.eu-central-1.amazonaws.com/dev/chatbot" headers = { 'Content-Type': 'application/pdf' } pdf_file_path = pdf_file_path.replace("\\", "/").split("/")[-1] params = {'filename': pdf_file_path} response = requests.post(API_ENDPOINT, data=pdf_binary_data, headers=headers, params=params) if response.status_code == 200: print("File successfully uploaded") else: print(f"Failed to upload file. Status code: {response.status_code}, Response: {response.text}") chat = gr.ChatInterface( get_answer, chatbot=gr.Chatbot(height=700), textbox=gr.Textbox(placeholder="Ask me a question", container=False, scale=7), title="Wissensguru - IDTA", theme="soft", examples=[ "When was the first version of this document produced?" ], cache_examples=False, retry_btn=None, undo_btn="Delete Previous", clear_btn="Clear", ) with gr.Blocks() as bot: gr.Markdown("Upload pdf files") with gr.Tab("Pdf Upload"): file_output = gr.File(file_types=["file"]) file_output.upload(upload_file, file_output) with gr.Tab("Chatbot"): chat.render() bot.launch()