custom-chatbot / app.py
fastx's picture
Update app.py
dd7daab
raw
history blame
1.19 kB
import gradio as gr
import json
import os
from llama_index import SimpleDirectoryReader, GPTListIndex, readers, GPTSimpleVectorIndex, LLMPredictor, PromptHelper
from langchain import OpenAI
import sys
from IPython.display import Markdown, display
def construct_index(directory_path):
max_input_size = 4096
num_outputs = 2000
max_chunk_overlap = 20
chunk_size_limit = 600
llm_predictor = LLMPredictor(llm=OpenAI(temperature=0.5, model_name="gpt-3.5-turbo", max_tokens=num_outputs))
prompt_helper = PromptHelper(max_input_size, num_outputs, max_chunk_overlap, chunk_size_limit=chunk_size_limit)
def ask_ai(question, api_key):
os.environ["OPENAI_API_KEY"] = api_key
index = GPTSimpleVectorIndex.load_from_disk('index.json')
response = index.query(question, response_mode="compact")
return response.response
construct_index("data")
api_key_input = gr.inputs.Textbox(label="Enter your OpenAI API Key")
question_input = gr.inputs.Textbox(label="Ask a question")
output_text = gr.outputs.Textbox(label="Answer")
iface = gr.Interface(fn=ask_ai, inputs=[question_input, api_key_input], outputs=output_text, title="OpenAI Chatbot")
iface.launch()