File size: 1,193 Bytes
39dff4c
 
 
99914ec
4a0366f
c352f02
a147fbd
ed0aa7b
24ed9e0
c6ddc86
3661992
 
 
 
fd6e173
3661992
e86fe78
bb31795
 
3661992
bb31795
 
4a0366f
3661992
 
af86876
c6ddc86
bb31795
39dff4c
bb31795
 
fd6e173
bb31795
fd6e173
9dd7ad1
bb31795
ea7a2b9
ca860d3
39dff4c
fd6e173
da239a9
7afe812
9ed9d81
af86876
cf7f506
bb31795
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
47
import gradio as gr
import requests
import json
from decouple import Config

config = Config('.env')

def query_vectara(question):
    user_message = question

    # Read authentication parameters from the .env file
    customer_id = config('CUSTOMER_ID')
    corpus_id = config('CORPUS_ID')
    api_key = config('API_KEY')

    # Define the query URL
    query_url = f"https://api.vectara.io:443/v1/query"

    headers = {
        "x-api-key": api_key,  # Use the x-api-key header for authentication
    }

    query_body = {
        "query": user_message,
        "num_results": 10
    }

    query_response = requests.post(query_url, json=query_body, headers=headers)

    if query_response.status_code == 200:
        query_data = query_response.json()
        response_message = f"Response from Vectara API: {json.dumps(query_data, indent=2)}"
    else:
        response_message = f"Error: {query_response.status_code}"

    return response_message

iface = gr.Interface(
    fn=query_vectara,
    inputs=[gr.Textbox(label="Input Text")],
    outputs=gr.Textbox(label="Output Text"),
    title="Vectara Chatbot",
    description="Ask me anything using the Vectara API!"
)

iface.launch()