Spaces:
Runtime error
Runtime error
Dynamic prompting
Browse files- ai_tasks/headlines_for_images.py +7 -6
- ai_tasks/text_summary.py +5 -1
- gradio_app.py +33 -6
ai_tasks/headlines_for_images.py
CHANGED
@@ -1,4 +1,3 @@
|
|
1 |
-
import json
|
2 |
from typing import Dict, List
|
3 |
|
4 |
from ai import llm
|
@@ -32,11 +31,13 @@ Original dimensions:
|
|
32 |
def get_headline_for_image(
|
33 |
summary: str, dimensions: str, image_infos: List[Dict]
|
34 |
) -> str:
|
35 |
-
|
36 |
-
|
37 |
-
summary=summary,
|
38 |
-
image_infos=json.dumps(image_infos, indent=2),
|
39 |
-
dimensions=dimensions,
|
40 |
)
|
|
|
|
|
|
|
|
|
|
|
41 |
messages = [{"role": "user", "content": instructions}]
|
42 |
return llm.next(messages)
|
|
|
|
|
1 |
from typing import Dict, List
|
2 |
|
3 |
from ai import llm
|
|
|
31 |
def get_headline_for_image(
|
32 |
summary: str, dimensions: str, image_infos: List[Dict]
|
33 |
) -> str:
|
34 |
+
return _get_headline_for_image(
|
35 |
+
PROMPT, summary=summary, dimensions=dimensions, image_infos=image_infos
|
|
|
|
|
|
|
36 |
)
|
37 |
+
|
38 |
+
|
39 |
+
def _get_headline_for_image(prompt: str, **kwargs) -> str:
|
40 |
+
print_system("Generating ad from images...")
|
41 |
+
instructions = prompt.format(**kwargs)
|
42 |
messages = [{"role": "user", "content": instructions}]
|
43 |
return llm.next(messages)
|
ai_tasks/text_summary.py
CHANGED
@@ -11,7 +11,11 @@ What is this website about?
|
|
11 |
|
12 |
|
13 |
def summarize_text(text: str) -> str:
|
|
|
|
|
|
|
|
|
14 |
print_system("Summarizing text...")
|
15 |
-
instructions =
|
16 |
messages = [{"role": "user", "content": instructions}]
|
17 |
return llm.next(messages)
|
|
|
11 |
|
12 |
|
13 |
def summarize_text(text: str) -> str:
|
14 |
+
return _summarize_text(PROMPT, text=text)
|
15 |
+
|
16 |
+
|
17 |
+
def _summarize_text(prompt: str, **kwargs) -> str:
|
18 |
print_system("Summarizing text...")
|
19 |
+
instructions = prompt.format(**kwargs)
|
20 |
messages = [{"role": "user", "content": instructions}]
|
21 |
return llm.next(messages)
|
gradio_app.py
CHANGED
@@ -3,7 +3,6 @@ import gradio as gr
|
|
3 |
import ai_tasks
|
4 |
import code_tasks
|
5 |
import custom_code
|
6 |
-
from control_flow.main import _run
|
7 |
|
8 |
|
9 |
def open__get_text_from_url() -> str:
|
@@ -32,6 +31,30 @@ def get_images_analysis(images):
|
|
32 |
return custom_code.image_analysis.analyze_images(eval(images))
|
33 |
|
34 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
35 |
with gr.Blocks() as demo:
|
36 |
gr.Markdown(
|
37 |
"""
|
@@ -91,7 +114,7 @@ with gr.Blocks() as demo:
|
|
91 |
gr.Markdown("AI task: summarize text")
|
92 |
with gr.Row():
|
93 |
with gr.Column():
|
94 |
-
gr.Textbox(
|
95 |
ai_tasks.text_summary.PROMPT,
|
96 |
label="Instructions",
|
97 |
interactive=True,
|
@@ -105,7 +128,7 @@ with gr.Blocks() as demo:
|
|
105 |
gr.Markdown("AI task: generate headline for image")
|
106 |
with gr.Row():
|
107 |
with gr.Column():
|
108 |
-
gr.Textbox(
|
109 |
ai_tasks.headlines_for_images.PROMPT,
|
110 |
label="Instructions",
|
111 |
interactive=True,
|
@@ -118,6 +141,8 @@ with gr.Blocks() as demo:
|
|
118 |
interactive=False,
|
119 |
)
|
120 |
|
|
|
|
|
121 |
execute.click(
|
122 |
get_text_and_images_from_url, inputs=[url], outputs=[text, images]
|
123 |
).success(
|
@@ -125,10 +150,12 @@ with gr.Blocks() as demo:
|
|
125 |
inputs=[images],
|
126 |
outputs=[image_infos],
|
127 |
).success(
|
128 |
-
|
|
|
|
|
129 |
).success(
|
130 |
-
|
131 |
-
inputs=[
|
132 |
outputs=[headline],
|
133 |
)
|
134 |
|
|
|
3 |
import ai_tasks
|
4 |
import code_tasks
|
5 |
import custom_code
|
|
|
6 |
|
7 |
|
8 |
def open__get_text_from_url() -> str:
|
|
|
31 |
return custom_code.image_analysis.analyze_images(eval(images))
|
32 |
|
33 |
|
34 |
+
def summarize_text(prompt, url, dimensions, text, images, image_infos, summary):
|
35 |
+
return ai_tasks.text_summary._summarize_text(
|
36 |
+
prompt,
|
37 |
+
url=url,
|
38 |
+
dimensions=dimensions,
|
39 |
+
text=text,
|
40 |
+
images=images,
|
41 |
+
image_infos=image_infos,
|
42 |
+
summary=summary,
|
43 |
+
)
|
44 |
+
|
45 |
+
|
46 |
+
def get_headline_for_image(prompt, url, dimensions, text, images, image_infos, summary):
|
47 |
+
return ai_tasks.headlines_for_images._get_headline_for_image(
|
48 |
+
prompt,
|
49 |
+
url=url,
|
50 |
+
dimensions=dimensions,
|
51 |
+
text=text,
|
52 |
+
images=images,
|
53 |
+
image_infos=image_infos,
|
54 |
+
summary=summary,
|
55 |
+
)
|
56 |
+
|
57 |
+
|
58 |
with gr.Blocks() as demo:
|
59 |
gr.Markdown(
|
60 |
"""
|
|
|
114 |
gr.Markdown("AI task: summarize text")
|
115 |
with gr.Row():
|
116 |
with gr.Column():
|
117 |
+
summary_prompt = gr.Textbox(
|
118 |
ai_tasks.text_summary.PROMPT,
|
119 |
label="Instructions",
|
120 |
interactive=True,
|
|
|
128 |
gr.Markdown("AI task: generate headline for image")
|
129 |
with gr.Row():
|
130 |
with gr.Column():
|
131 |
+
headline_prompt = gr.Textbox(
|
132 |
ai_tasks.headlines_for_images.PROMPT,
|
133 |
label="Instructions",
|
134 |
interactive=True,
|
|
|
141 |
interactive=False,
|
142 |
)
|
143 |
|
144 |
+
vars_ = [url, dimensions, text, images, image_infos, summary]
|
145 |
+
|
146 |
execute.click(
|
147 |
get_text_and_images_from_url, inputs=[url], outputs=[text, images]
|
148 |
).success(
|
|
|
150 |
inputs=[images],
|
151 |
outputs=[image_infos],
|
152 |
).success(
|
153 |
+
summarize_text,
|
154 |
+
inputs=[summary_prompt] + vars_, # type: ignore
|
155 |
+
outputs=[summary],
|
156 |
).success(
|
157 |
+
get_headline_for_image,
|
158 |
+
inputs=[headline_prompt] + vars_, # type: ignore
|
159 |
outputs=[headline],
|
160 |
)
|
161 |
|