cogcorp commited on
Commit
f62362e
·
1 Parent(s): 50e9009

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +24 -17
app.py CHANGED
@@ -103,31 +103,38 @@ def load_recommender(paths, start_page=1):
103
  recommender.fit(chunks)
104
  return 'Corpus Loaded.'
105
 
106
- def generate_text(prompt, engine="gpt-3.5-turbo"):
107
- completions = openai.Completion.create(
108
- engine=engine,
109
- prompt=prompt,
110
  max_tokens=512,
111
- n=1,
112
- stop=None,
113
  temperature=0.7,
114
  )
115
- message = completions.choices[0].text
116
  return message
117
 
118
  def generate_answer(question):
119
  topn_chunks = recommender(question)
120
- prompt = ""
121
- prompt += 'search results:\n\n'
 
 
 
 
 
 
 
 
122
  for c in topn_chunks:
123
- prompt += c + '\n\n'
124
-
125
- prompt += "Compose a comprehensive reply to the query using the search results given. "\
126
- "Only include information found in the results. "\
127
- "If the text does not relate to the query, simply state 'Text Not Found in Body of Knowledge'. "\
128
- "\n\nQuery: {question}\n Answer: "
129
-
130
- answer = generate_text(prompt, "gpt-3.5-turbo")
 
131
  return answer
132
 
133
  def question_answer(urls, file, question):
 
103
  recommender.fit(chunks)
104
  return 'Corpus Loaded.'
105
 
106
+ def generate_text(messages, engine="gpt-3.5-turbo"):
107
+ response = openai.ChatCompletion.create(
108
+ model=engine,
109
+ messages=messages,
110
  max_tokens=512,
 
 
111
  temperature=0.7,
112
  )
113
+ message = response['choices'][0]['message']['content']
114
  return message
115
 
116
  def generate_answer(question):
117
  topn_chunks = recommender(question)
118
+
119
+ system_message = {
120
+ 'role': 'system',
121
+ 'content': 'Compose a comprehensive reply to the query using the search results given. Only include information found in the results. If the text does not relate to the query, simply state "Text Not Found in Body of Knowledge".'
122
+ }
123
+ user_message = {
124
+ 'role': 'user',
125
+ 'content': 'Query: ' + question
126
+ }
127
+
128
  for c in topn_chunks:
129
+ search_result_message = {
130
+ 'role': 'assistant',
131
+ 'content': c
132
+ }
133
+ system_message['content'] += '\n\n' + search_result_message['content']
134
+
135
+ messages = [system_message, user_message]
136
+
137
+ answer = generate_text(messages, "gpt-3.5-turbo")
138
  return answer
139
 
140
  def question_answer(urls, file, question):