# coding=utf8 from gpt_index import SimpleDirectoryReader, GPTListIndex, GPTSimpleVectorIndex, LLMPredictor, PromptHelper from langchain import OpenAI import gradio as gr import sys import os os.environ["OPENAI_API_KEY"] = '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' def construct_index(directory_path): max_input_size = 4096 num_outputs = 1 max_chunk_overlap = 20 chunk_size_limit = 600 prompt_helper = PromptHelper(max_input_size, num_outputs, max_chunk_overlap, chunk_size_limit=chunk_size_limit) llm_predictor = LLMPredictor(llm=OpenAI(temperature=0.3, model_name="text-davinci-003", max_tokens=num_outputs)) documents = SimpleDirectoryReader(directory_path).load_data() index = GPTSimpleVectorIndex.from_documents(documents) index.save_to_disk('index.json') return index def chatbot(input_text): index = GPTSimpleVectorIndex.load_from_disk('index.json') response = index.query(input_text) return response.response description = """
Olá sou o Fly, fui treinado para responder perguntas baseadas na CD2 Retail Tech. Pergunte qualquer coisa. Caso eu não saiba, estarei aprendendo.
""" iface = gr.Interface(fn=chatbot, inputs=gr.inputs.Textbox(lines=3, label='O quê gostaria de saber? Para melhor respondê-lo, como temos muitos parceiros, descreva melhor sobre o que deseja. EX: onde encontro o stand da empresa XPT, Localização da empresa XLZ, Oque é a exposuper?') , outputs=gr.inputs.Textbox(lines=5, label="Veja o que encontrei"), description=description, css=".gradio-container-3-23-0 {background-color: #e6e6e6} .gradio-container-3-23-0 .prose * {color: #55c1e5}", title="Converse com Fly") index = construct_index("docs") iface.launch()