Spaces:
Runtime error
Runtime error
Commit
·
b51e972
1
Parent(s):
fef789d
update app and utils
Browse files
app.py
CHANGED
@@ -102,9 +102,9 @@ with gr.Blocks(theme=gr.themes.Monochrome(radius_size=gr.themes.sizes.radius_sm)
|
|
102 |
# clear_button = gr.ClearButton(value="Clear Inputs")
|
103 |
generate_button = gr.Button("Generate Workout", variant="primary", elem_id="gen-button")
|
104 |
with gr.Column(scale=1, min_width=800, elem_id="#gen-output"):
|
105 |
-
generation = gr.Markdown(value="
|
106 |
|
107 |
-
generate_button.click(run, inputs=[gender, level, muscle_group, equipment, duration], outputs=generation)
|
108 |
# clear_button.click(fn=lambda: [None, None, None, None, None], outputs=[gender, level, muscle_group, equipment, duration])
|
109 |
|
110 |
demo.launch(share=False)
|
|
|
102 |
# clear_button = gr.ClearButton(value="Clear Inputs")
|
103 |
generate_button = gr.Button("Generate Workout", variant="primary", elem_id="gen-button")
|
104 |
with gr.Column(scale=1, min_width=800, elem_id="#gen-output"):
|
105 |
+
generation = gr.Markdown(value="")
|
106 |
|
107 |
+
generate_button.click(run, inputs=[gender, level, muscle_group, equipment, duration, vectorstore, system_prompt], outputs=generation)
|
108 |
# clear_button.click(fn=lambda: [None, None, None, None, None], outputs=[gender, level, muscle_group, equipment, duration])
|
109 |
|
110 |
demo.launch(share=False)
|
utils.py
CHANGED
@@ -4,7 +4,7 @@ import time
|
|
4 |
from langchain.schema.messages import HumanMessage, SystemMessage
|
5 |
|
6 |
|
7 |
-
def retrieve_knowledge(query, k=10, randomize=True):
|
8 |
knowledge = [d.page_content.strip() for d in vectorstore.similarity_search(query, k=k)]
|
9 |
|
10 |
if randomize:
|
@@ -15,7 +15,7 @@ def retrieve_knowledge(query, k=10, randomize=True):
|
|
15 |
return knowledge
|
16 |
|
17 |
|
18 |
-
def generate_workout(query, knowledge):
|
19 |
messages = [
|
20 |
SystemMessage(content=system_prompt.format(workout_context=knowledge)),
|
21 |
HumanMessage(content=query)
|
@@ -26,10 +26,10 @@ def generate_workout(query, knowledge):
|
|
26 |
return response
|
27 |
|
28 |
|
29 |
-
def run(gender, muscle_group, equipment, level, duration, k=5, randomize=True):
|
30 |
query = f"{duration}-minute {muscle_group} workout for {gender} {level} level {equipment}"
|
31 |
-
knowledge = retrieve_knowledge(query, k, randomize)
|
32 |
-
response = generate_workout(query, knowledge)
|
33 |
|
34 |
for i in range(len(response)):
|
35 |
time.sleep(0.01)
|
|
|
4 |
from langchain.schema.messages import HumanMessage, SystemMessage
|
5 |
|
6 |
|
7 |
+
def retrieve_knowledge(query, vectorstore, k=10, randomize=True):
|
8 |
knowledge = [d.page_content.strip() for d in vectorstore.similarity_search(query, k=k)]
|
9 |
|
10 |
if randomize:
|
|
|
15 |
return knowledge
|
16 |
|
17 |
|
18 |
+
def generate_workout(system_prompt, query, knowledge):
|
19 |
messages = [
|
20 |
SystemMessage(content=system_prompt.format(workout_context=knowledge)),
|
21 |
HumanMessage(content=query)
|
|
|
26 |
return response
|
27 |
|
28 |
|
29 |
+
def run(gender, muscle_group, equipment, level, duration, vectorstore, system_prompt, k=5, randomize=True):
|
30 |
query = f"{duration}-minute {muscle_group} workout for {gender} {level} level {equipment}"
|
31 |
+
knowledge = retrieve_knowledge(query, vectorstore, k, randomize)
|
32 |
+
response = generate_workout(system_prompt, query, knowledge)
|
33 |
|
34 |
for i in range(len(response)):
|
35 |
time.sleep(0.01)
|