patti-j commited on
Commit
1d86260
·
1 Parent(s): 0b244c5

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +41 -12
app.py CHANGED
@@ -1,30 +1,52 @@
1
  import openai
2
  import gradio as gr
 
 
 
 
 
 
 
 
 
3
 
4
  # Initialize OpenAI API key
5
  openai.api_key = "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"
6
 
7
  # Load text from file
8
- with open("Dropsheets.txt", "r") as f:
9
- text = f.read()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
 
11
  # Define OpenAI GPT-3.5 model function
12
- def generate_text(prompt):
13
- prompt += "\n" + text
14
- response = openai.Completion.create(
15
- engine="text-davinci-002",
16
- temperature=0,
17
- max_tokens=7000,
18
- prompt=prompt
19
- )
20
- return response.choices[0].text.strip()
21
 
22
 
23
  # Create Gradio interface
24
  input_text = gr.Textbox(label="Enter prompt", type="text")
25
  output_text = gr.Textbox(label="AI response", type="text")
26
  demo = gr.Interface(
27
- fn = generate_text,
28
  inputs=input_text,
29
  outputs=output_text,
30
  title="AI Chatbot for PlanetTogether Knowledge Base",
@@ -33,5 +55,12 @@ demo = gr.Interface(
33
  theme="default"
34
  )
35
 
 
 
 
 
 
 
 
36
  # Launch demo
37
  demo.launch()
 
1
  import openai
2
  import gradio as gr
3
+ from langchain.chains import RetrievalQA
4
+ from langchain.chains.question_answering import load_qa_cha
5
+ from langchain.llms import OpenAI
6
+ from langchain.document_loaders import TextLoader
7
+ from langchain.indexes import VectorstoreIndexCreator
8
+ from langchain.text_splitter import RecursiveCharacterTextSplitter
9
+ from langchain.text_splitter import CharacterTextSplitter
10
+ from langchain.embeddings import OpenAIEmbeddings
11
+ from langchain.vectorstores import Chroma
12
 
13
  # Initialize OpenAI API key
14
  openai.api_key = "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"
15
 
16
  # Load text from file
17
+ loader = TextLoader("Dropsheets.txt")
18
+ documents = loader.load()
19
+
20
+ # split the documents into chunks
21
+ text_splitter = RecursiveCharacterTextSplitter(chunk_size=1024, chunk_overlap=0)
22
+ texts = text_splitter.split_documents(documents)
23
+
24
+ # select embeddings
25
+ embeddings = OpenAIEmbeddings()
26
+
27
+ # create the vectorestore to use as the index
28
+ db = Chroma.from_documents(texts, embeddings)
29
+
30
+ # expose this index in a retriever interface
31
+ retriever = db.as_retriever(search_type="similarity", search_kwargs={"k":2})
32
+
33
 
34
  # Define OpenAI GPT-3.5 model function
35
+ ## def generate_text(query):
36
+ # response = openai.Completion.create(
37
+ # engine="text-davinci-002",
38
+ # temperature=0,
39
+ # max_tokens=7000,
40
+ # prompt=prompt
41
+ # )
42
+ # return response.choices[0].text.strip()
 
43
 
44
 
45
  # Create Gradio interface
46
  input_text = gr.Textbox(label="Enter prompt", type="text")
47
  output_text = gr.Textbox(label="AI response", type="text")
48
  demo = gr.Interface(
49
+ fn = None,
50
  inputs=input_text,
51
  outputs=output_text,
52
  title="AI Chatbot for PlanetTogether Knowledge Base",
 
55
  theme="default"
56
  )
57
 
58
+ # create a chain to answer questions
59
+ qa = RetrievalQA.from_chain_type(
60
+ llm=OpenAI(), chain_type="stuff", retriever=retriever)
61
+ result = qa({"query": query})
62
+ retriever.get_relevant_documents(query)
63
+
64
+
65
  # Launch demo
66
  demo.launch()