# -*- coding: utf-8 -*- """Copy of Copy of Chatbot with custom knowledge base Automatically generated by Colaboratory. Original file is located at https://colab.research.google.com/drive/1VSXUmag_76fzebs16YhW_as4mdhHNdkx """ #pip install llama-index #pip install langchain #pip install gradio #pip install pandas #pip install openpyxl import pandas as pd from llama_index import SimpleDirectoryReader, GPTListIndex, readers, GPTSimpleVectorIndex, LLMPredictor, PromptHelper from langchain import OpenAI import sys import os from IPython.display import Markdown, display import pandas as pd from llama_index import SimpleDirectoryReader, GPTListIndex, readers, GPTSimpleVectorIndex, LLMPredictor, PromptHelper from langchain import OpenAI from IPython.display import Markdown, display #import streamlit as st import gradio as gr #import gradio df = pd.read_excel('Shegardi_dataset.xlsx',sheet_name = 'dataset') #os.environ['OPENAI_API_KEY'] = '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' os.environ['OPENAI_API_KEY'] = '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' def construct_index(directory_path): # set maximum input size max_input_size = 4096 # set number of output tokens num_outputs = 2000 # set maximum chunk overlap max_chunk_overlap = 20 # set chunk size limit chunk_size_limit = 600 # define LLM llm_predictor = LLMPredictor(llm=OpenAI(temperature=0.5, model_name="text-davinci-003", max_tokens=num_outputs)) prompt_helper = PromptHelper(max_input_size, num_outputs, max_chunk_overlap, chunk_size_limit=chunk_size_limit) documents = SimpleDirectoryReader(directory_path).load_data() index = GPTSimpleVectorIndex( documents, llm_predictor=llm_predictor, prompt_helper=prompt_helper ) index.save_to_disk('index.json') return index #construct_index("context_data/data") #import streamlit as st # Include other necessary imports here def ask_ai(query): index = GPTSimpleVectorIndex.load_from_disk('index.json') response = index.query(query, response_mode="compact") return response.response iface = gr.Interface(fn=ask_ai, inputs="text", outputs="text", title="The following is a conversation with a human called Shegardi. Shegardi is helpful, precise, truthful, and very friendly.  Also, Shegardi is an employee of Warba Bank, located in Kuwait. Shegardi will only use the information provided to him. ", description="Enter a question and get an answer from Shegardi.") iface.launch(share=True)