Spaces:
Runtime error
Runtime error
import gradio as gr | |
import requests | |
import json | |
# Function to interact with Vectara API | |
def query_vectara(question, chat_history, uploaded_file): | |
# Handle file upload here (using the provided code) | |
customer_id = "<YOUR-CUSTOMER-ID>" | |
corpus_id = "<YOUR-CORPUS-ID>" | |
api_key = "<YOUR-API-KEY>" | |
url = f"https://api.vectara.io/v1/upload?c={customer_id}&o={corpus_id}" | |
post_headers = { | |
"x-api-key": api_key, | |
"customer-id": customer_id | |
} | |
files = { | |
"file": (uploaded_file.name, uploaded_file), | |
"doc_metadata": (None, json.dumps({"metadata_key": "metadata_value"})), # Replace with your metadata | |
} | |
response = requests.post(url, files=files, verify=True, headers=post_headers) | |
if response.status_code == 200: | |
upload_status = "File uploaded successfully" | |
else: | |
upload_status = "Failed to upload file" | |
# The rest of the chatbot logic goes here | |
api_endpoint = "https://api.vectara.io/v1/query" | |
# Rest of the chatbot logic as before | |
return f"{upload_status}\n\nResponse from Vectara API: {response.text}" | |
# Create a Gradio ChatInterface | |
iface = gr.Interface( | |
fn=query_vectara, | |
inputs=[ | |
gr.inputs.Text(label="Ask a question:"), | |
gr.inputs.File(label="Upload a file") | |
], | |
outputs=gr.outputs.Textbox(), | |
examples=["Hello", "What is the weather today?", "Tell me a joke"], | |
title="Vectara Chatbot", | |
description="Ask me anything using the Vectara API!", | |
) | |
# Run the Gradio interface | |
iface.launch() | |