Update app.py
Browse files
app.py
CHANGED
@@ -69,18 +69,18 @@ def update_vectors(files, parser):
|
|
69 |
|
70 |
return f"Vector store updated successfully. Processed {total_chunks} chunks from {len(files)} files using {parser}."
|
71 |
|
72 |
-
def generate_chunked_response(prompt, max_tokens=1000, max_chunks=5):
|
73 |
API_URL = "https://api-inference.huggingface.co/models/mistralai/Mistral-7B-Instruct-v0.3"
|
74 |
headers = {"Authorization": f"Bearer {huggingface_token}"}
|
75 |
payload = {
|
76 |
"inputs": prompt,
|
77 |
"parameters": {
|
78 |
"max_new_tokens": max_tokens,
|
79 |
-
"temperature":
|
80 |
-
"top_p": 0.
|
81 |
"top_k": 40,
|
82 |
-
"repetition_penalty":
|
83 |
-
"stop": ["</s>", "[/INST]"]
|
84 |
}
|
85 |
}
|
86 |
|
@@ -175,13 +175,13 @@ After writing the document, please provide a list of sources used in your respon
|
|
175 |
|
176 |
return main_content, sources
|
177 |
|
178 |
-
def chatbot_interface(message, history, use_web_search):
|
179 |
if use_web_search:
|
180 |
-
main_content, sources = get_response_with_search(message)
|
181 |
formatted_response = f"{main_content}\n\nSources:\n{sources}"
|
182 |
else:
|
183 |
-
response = get_response_from_pdf(message)
|
184 |
-
formatted_response = response
|
185 |
|
186 |
history.append((message, formatted_response))
|
187 |
return history
|
@@ -201,6 +201,11 @@ with gr.Blocks() as demo:
|
|
201 |
chatbot = gr.Chatbot(label="Conversation")
|
202 |
msg = gr.Textbox(label="Ask a question")
|
203 |
use_web_search = gr.Checkbox(label="Use Web Search", value=False)
|
|
|
|
|
|
|
|
|
|
|
204 |
submit = gr.Button("Submit")
|
205 |
|
206 |
gr.Examples(
|
@@ -213,8 +218,12 @@ with gr.Blocks() as demo:
|
|
213 |
inputs=msg,
|
214 |
)
|
215 |
|
216 |
-
submit.click(chatbot_interface,
|
217 |
-
|
|
|
|
|
|
|
|
|
218 |
|
219 |
gr.Markdown(
|
220 |
"""
|
@@ -223,7 +232,8 @@ with gr.Blocks() as demo:
|
|
223 |
2. Select the PDF parser (pypdf or llamaparse) and click "Upload Document" to update the vector store.
|
224 |
3. Ask questions in the textbox.
|
225 |
4. Toggle "Use Web Search" to switch between PDF chat and web search.
|
226 |
-
5.
|
|
|
227 |
"""
|
228 |
)
|
229 |
|
|
|
69 |
|
70 |
return f"Vector store updated successfully. Processed {total_chunks} chunks from {len(files)} files using {parser}."
|
71 |
|
72 |
+
def generate_chunked_response(prompt, max_tokens=1000, max_chunks=5, temperature=0.7, repetition_penalty=1.1):
|
73 |
API_URL = "https://api-inference.huggingface.co/models/mistralai/Mistral-7B-Instruct-v0.3"
|
74 |
headers = {"Authorization": f"Bearer {huggingface_token}"}
|
75 |
payload = {
|
76 |
"inputs": prompt,
|
77 |
"parameters": {
|
78 |
"max_new_tokens": max_tokens,
|
79 |
+
"temperature": temperature,
|
80 |
+
"top_p": 0.4,
|
81 |
"top_k": 40,
|
82 |
+
"repetition_penalty": repetition_penalty,
|
83 |
+
"stop": ["</s>", "[/INST]"]
|
84 |
}
|
85 |
}
|
86 |
|
|
|
175 |
|
176 |
return main_content, sources
|
177 |
|
178 |
+
def chatbot_interface(message, history, use_web_search, temperature, repetition_penalty):
|
179 |
if use_web_search:
|
180 |
+
main_content, sources = get_response_with_search(message, temperature, repetition_penalty)
|
181 |
formatted_response = f"{main_content}\n\nSources:\n{sources}"
|
182 |
else:
|
183 |
+
response = get_response_from_pdf(message, temperature, repetition_penalty)
|
184 |
+
formatted_response = response
|
185 |
|
186 |
history.append((message, formatted_response))
|
187 |
return history
|
|
|
201 |
chatbot = gr.Chatbot(label="Conversation")
|
202 |
msg = gr.Textbox(label="Ask a question")
|
203 |
use_web_search = gr.Checkbox(label="Use Web Search", value=False)
|
204 |
+
|
205 |
+
with gr.Row():
|
206 |
+
temperature_slider = gr.Slider(minimum=0.1, maximum=1.0, value=0.7, step=0.1, label="Temperature")
|
207 |
+
repetition_penalty_slider = gr.Slider(minimum=1.0, maximum=2.0, value=1.1, step=0.1, label="Repetition Penalty")
|
208 |
+
|
209 |
submit = gr.Button("Submit")
|
210 |
|
211 |
gr.Examples(
|
|
|
218 |
inputs=msg,
|
219 |
)
|
220 |
|
221 |
+
submit.click(chatbot_interface,
|
222 |
+
inputs=[msg, chatbot, use_web_search, temperature_slider, repetition_penalty_slider],
|
223 |
+
outputs=[chatbot])
|
224 |
+
msg.submit(chatbot_interface,
|
225 |
+
inputs=[msg, chatbot, use_web_search, temperature_slider, repetition_penalty_slider],
|
226 |
+
outputs=[chatbot])
|
227 |
|
228 |
gr.Markdown(
|
229 |
"""
|
|
|
232 |
2. Select the PDF parser (pypdf or llamaparse) and click "Upload Document" to update the vector store.
|
233 |
3. Ask questions in the textbox.
|
234 |
4. Toggle "Use Web Search" to switch between PDF chat and web search.
|
235 |
+
5. Adjust Temperature and Repetition Penalty sliders to fine-tune the response generation.
|
236 |
+
6. Click "Submit" or press Enter to get a response.
|
237 |
"""
|
238 |
)
|
239 |
|