fastx commited on
Commit
259a00c
·
1 Parent(s): 0a9df01

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +1 -99
app.py CHANGED
@@ -1,31 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
- """custom_chatbot.ipynb
3
-
4
- Automatically generated by Colaboratory.
5
-
6
- Original file is located at
7
- https://colab.research.google.com/drive/1xT4n5rN6yNyzf-CO8Pifz0yWCEI4VmjV
8
-
9
- # Install the dependicies
10
- Run the code below to install the depencies we need for our functions
11
- """
12
-
13
- # Commented out IPython magic to ensure Python compatibility.
14
- # %pip install llama-index
15
- # %pip install langchain
16
- # %pip install gradio
17
- # %pip install openai
18
-
19
- """### **How to Train with your data. **
20
- You can use your github repository link. Make sure repository name should be same as given repo.
21
- """
22
-
23
- !git clone https://github.com/talib-raath/context_data.git
24
-
25
- """# Define the functions
26
- The following code defines the functions we need to construct the index and query it
27
- """
28
-
29
  from llama_index import SimpleDirectoryReader, GPTListIndex, readers, GPTSimpleVectorIndex, LLMPredictor, PromptHelper
30
  from langchain import OpenAI
31
  import sys
@@ -33,16 +5,11 @@ import os
33
  from IPython.display import Markdown, display
34
 
35
  def construct_index(directory_path):
36
- # set maximum input size
37
  max_input_size = 4096
38
- # set number of output tokens
39
  num_outputs = 2000
40
- # set maximum chunk overlap
41
  max_chunk_overlap = 20
42
- # set chunk size limit
43
  chunk_size_limit = 600
44
 
45
- # define LLM
46
  llm_predictor = LLMPredictor(llm=OpenAI(temperature=0.5, model_name="gpt-3.5-turbo", max_tokens=num_outputs))
47
  prompt_helper = PromptHelper(max_input_size, num_outputs, max_chunk_overlap, chunk_size_limit=chunk_size_limit)
48
 
@@ -61,80 +28,15 @@ def ask_ai():
61
  response = index.query(query, response_mode="compact")
62
  display(Markdown(f"Response: <b>{response.response}</b>"))
63
 
64
- """# Set OpenAI API Key
65
- You can use this key also but it may expire if it does not work you can get his own api key
66
-
67
- **Use this Key**
68
-
69
-
70
- "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"
71
 
72
  You need an OPENAI API key to be able to run this code.
73
 
74
- If you don't have one yet, get it by [signing up](https://platform.openai.com/overview). Then click your account icon on the top right of the screen and select "View API Keys". Create an API key.
75
 
76
- Then run the code below and paste your API key into the text input.
77
- """
78
 
79
- os.environ["OPENAI_API_KEY"] = input("Paste your OpenAI key here and hit enter:")
80
-
81
- """#Construct an index
82
- Now we are ready to construct the index. This will take every file in the folder 'data', split it into chunks, and embed it with OpenAI's embeddings API.
83
-
84
- **Notice:** running this code will cost you credits on your OpenAPI account ($0.02 for every 1,000 tokens). If you've just set up your account, the free credits that you have should be more than enough for this experiment.
85
- """
86
 
87
  construct_index("context_data")
88
 
89
- import tkinter as tk
90
- from llama_index import GPTSimpleVectorIndex, LLMPredictor, PromptHelper
91
- from langchain import OpenAI
92
- from IPython.display import Markdown, display
93
-
94
- # Define the ask_ai() function
95
- def ask_ai(question):
96
- index = GPTSimpleVectorIndex.load_from_disk('index.json')
97
- response = index.query(question, response_mode="compact")
98
- return response.response
99
-
100
- # Define the GUI
101
- class ChatBotGUI:
102
- def __init__(self, master):
103
- self.master = master
104
- master.title("Chat Bot")
105
-
106
- # Create a label and an entry for the question
107
- self.label = tk.Label(master, text="Ask me anything:")
108
- self.label.pack()
109
-
110
- self.entry = tk.Entry(master)
111
- self.entry.pack()
112
-
113
- # Create a button to submit the question
114
- self.button = tk.Button(master, text="Submit", command=self.submit_question)
115
- self.button.pack()
116
-
117
- # Create a text box to display the response
118
- self.textbox = tk.Text(master)
119
- self.textbox.pack()
120
-
121
- def submit_question(self):
122
- question = self.entry.get()
123
- response = ask_ai(question)
124
- self.textbox.insert(tk.END, "You: " + question + "\n")
125
- self.textbox.insert(tk.END, "Bot: " + response + "\n\n")
126
- self.entry.delete(0, tk.END)
127
-
128
- # Create an instance of the GUI and start the main loop
129
-
130
- '''
131
- root = tk.Tk()
132
- chatbot_gui = ChatBotGUI(root)
133
- root.mainloop()
134
- '''
135
-
136
- import gradio as gr
137
-
138
  iface = gr.Interface(fn=ask_ai, inputs="text", outputs="text" ,title="Chatbot")
139
 
140
  iface.launch(share = True)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  from llama_index import SimpleDirectoryReader, GPTListIndex, readers, GPTSimpleVectorIndex, LLMPredictor, PromptHelper
2
  from langchain import OpenAI
3
  import sys
 
5
  from IPython.display import Markdown, display
6
 
7
  def construct_index(directory_path):
 
8
  max_input_size = 4096
 
9
  num_outputs = 2000
 
10
  max_chunk_overlap = 20
 
11
  chunk_size_limit = 600
12
 
 
13
  llm_predictor = LLMPredictor(llm=OpenAI(temperature=0.5, model_name="gpt-3.5-turbo", max_tokens=num_outputs))
14
  prompt_helper = PromptHelper(max_input_size, num_outputs, max_chunk_overlap, chunk_size_limit=chunk_size_limit)
15
 
 
28
  response = index.query(query, response_mode="compact")
29
  display(Markdown(f"Response: <b>{response.response}</b>"))
30
 
 
 
 
 
 
 
 
31
 
32
  You need an OPENAI API key to be able to run this code.
33
 
 
34
 
35
+ os.environ["OPENAI_API_KEY"] = "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
 
36
 
 
 
 
 
 
 
 
37
 
38
  construct_index("context_data")
39
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40
  iface = gr.Interface(fn=ask_ai, inputs="text", outputs="text" ,title="Chatbot")
41
 
42
  iface.launch(share = True)