Spaces:
Running
Running
update user interface
Browse files
app.py
CHANGED
@@ -13,7 +13,7 @@ import google.generativeai as genai
|
|
13 |
|
14 |
|
15 |
# Set up LLM APIs
|
16 |
-
llm_api_options = ['gemini-pro', 'gemini-1.5-flash', 'gpt-3.5-turbo-1106']
|
17 |
|
18 |
def query_gpt_model(
|
19 |
prompt: str,
|
@@ -59,9 +59,14 @@ def query_gemini_model(
|
|
59 |
) -> str:
|
60 |
del client
|
61 |
model = genai.GenerativeModel(llm)
|
|
|
62 |
while True and retries > 0:
|
63 |
try:
|
64 |
-
response = model.generate_content(
|
|
|
|
|
|
|
|
|
65 |
text_response = response.text.replace("**", "")
|
66 |
return text_response
|
67 |
except Exception as e:
|
@@ -118,6 +123,8 @@ with open('QuALITY.v1.0.1.htmlstripped.dev', 'r') as f:
|
|
118 |
|
119 |
quality_dev.append(fields)
|
120 |
|
|
|
|
|
121 |
|
122 |
|
123 |
# Helper functions
|
@@ -419,7 +426,7 @@ def query_model_with_quality(
|
|
419 |
# api_key = os.environ.get('GEMINI_API_KEY')
|
420 |
genai.configure(api_key=api_key)
|
421 |
|
422 |
-
example = quality_dev[index]
|
423 |
article = f"[Title: {example['title']}]\n\n{example['article']}"
|
424 |
pages, pagination = quality_pagination(example, model_name, client)
|
425 |
print('Finish Pagination.')
|
@@ -446,7 +453,7 @@ with gr.Blocks() as demo:
|
|
446 |
We implement ReadAgent as a simple prompting system that uses the advanced language capabilities of LLMs to (1) decide what content to store together in a memory episode (**Episode Pagination**), (2) compress those memory episodes into short episodic memories called gist memories (**Memory Gisting**), and (3) take actions to look up passages in the original text if ReadAgent needs to remind itself of relevant details to complete a task (**Parallel Lookup and QA**)
|
447 |
This demo can handle long-document reading comprehension tasks ([QuALITY](https://arxiv.org/abs/2112.08608); max 6,000 words) efficiently.
|
448 |
|
449 |
-
To get started, you can choose an
|
450 |
This demo uses Gemini API or OpenAI API so it requires the corresponding API key.
|
451 |
""")
|
452 |
with gr.Row():
|
@@ -457,9 +464,27 @@ with gr.Blocks() as demo:
|
|
457 |
lines=1,
|
458 |
type="password",
|
459 |
)
|
460 |
-
index = gr.Dropdown(list(range(len(quality_dev))), value=13, label="QuALITY Index")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
461 |
button = gr.Button("Execute")
|
462 |
-
|
463 |
# prompt_pagination = gr.Textbox(label="Episode Pagination Prompt Template", lines=5)
|
464 |
pagination_results = gr.Textbox(label="(1) Episode Pagination", lines=20)
|
465 |
# prompt_gisting = gr.Textbox(label="Memory Gisting Prompt Template", lines=5)
|
@@ -478,7 +503,7 @@ with gr.Blocks() as demo:
|
|
478 |
# prompt_pagination, pagination_results,
|
479 |
# prompt_gisting, gisting_results,
|
480 |
# prompt_lookup, lookup_qa_results,
|
481 |
-
|
482 |
pagination_results,
|
483 |
gisting_results,
|
484 |
lookup_qa_results,
|
|
|
13 |
|
14 |
|
15 |
# Set up LLM APIs
|
16 |
+
llm_api_options = ['gemini-pro', 'gemini-1.5-flash', 'gpt-3.5-turbo-1106', 'gpt-4o-2024-05-13', 'gpt-4o-mini-2024-07-18']
|
17 |
|
18 |
def query_gpt_model(
|
19 |
prompt: str,
|
|
|
59 |
) -> str:
|
60 |
del client
|
61 |
model = genai.GenerativeModel(llm)
|
62 |
+
generation_config={'temperature': 0.0}
|
63 |
while True and retries > 0:
|
64 |
try:
|
65 |
+
response = model.generate_content(
|
66 |
+
prompt,
|
67 |
+
safety_settings=safety_settings,
|
68 |
+
generation_config=generation_config
|
69 |
+
)
|
70 |
text_response = response.text.replace("**", "")
|
71 |
return text_response
|
72 |
except Exception as e:
|
|
|
123 |
|
124 |
quality_dev.append(fields)
|
125 |
|
126 |
+
# likely to succeed
|
127 |
+
index_map = {'A': 1, 'B': 9, 'C': 13, 'D': 200}
|
128 |
|
129 |
|
130 |
# Helper functions
|
|
|
426 |
# api_key = os.environ.get('GEMINI_API_KEY')
|
427 |
genai.configure(api_key=api_key)
|
428 |
|
429 |
+
example = quality_dev[index_map[index]]
|
430 |
article = f"[Title: {example['title']}]\n\n{example['article']}"
|
431 |
pages, pagination = quality_pagination(example, model_name, client)
|
432 |
print('Finish Pagination.')
|
|
|
453 |
We implement ReadAgent as a simple prompting system that uses the advanced language capabilities of LLMs to (1) decide what content to store together in a memory episode (**Episode Pagination**), (2) compress those memory episodes into short episodic memories called gist memories (**Memory Gisting**), and (3) take actions to look up passages in the original text if ReadAgent needs to remind itself of relevant details to complete a task (**Parallel Lookup and QA**)
|
454 |
This demo can handle long-document reading comprehension tasks ([QuALITY](https://arxiv.org/abs/2112.08608); max 6,000 words) efficiently.
|
455 |
|
456 |
+
To get started, you can choose an example article from QuALITY dataset.
|
457 |
This demo uses Gemini API or OpenAI API so it requires the corresponding API key.
|
458 |
""")
|
459 |
with gr.Row():
|
|
|
464 |
lines=1,
|
465 |
type="password",
|
466 |
)
|
467 |
+
# index = gr.Dropdown(list(range(len(quality_dev))), value=13, label="QuALITY Index")
|
468 |
+
index = gr.Radio(['A', 'B', 'C', 'D'], label="Example Article", value='A')
|
469 |
+
with gr.Row():
|
470 |
+
example_article_a = gr.Textbox(
|
471 |
+
label="Example Article (A)",
|
472 |
+
lines=10,
|
473 |
+
value=f"[Title: {quality_dev[index_map['A']]['title']}]\n\n{quality_dev[index_map['A']]['article']}")
|
474 |
+
example_article_a = gr.Textbox(
|
475 |
+
label="Example Article (B)",
|
476 |
+
lines=10,
|
477 |
+
value=f"[Title: {quality_dev[index_map['B']]['title']}]\n\n{quality_dev[index_map['B']]['article']}")
|
478 |
+
example_article_a = gr.Textbox(
|
479 |
+
label="Example Article (C)",
|
480 |
+
lines=10,
|
481 |
+
value=f"[Title: {quality_dev[index_map['C']]['title']}]\n\n{quality_dev[index_map['C']]['article']}")
|
482 |
+
example_article_a = gr.Textbox(
|
483 |
+
label="Example Article (D)",
|
484 |
+
lines=10,
|
485 |
+
value=f"[Title: {quality_dev[index_map['D']]['title']}]\n\n{quality_dev[index_map['D']]['article']}")
|
486 |
button = gr.Button("Execute")
|
487 |
+
choosen_article = gr.Textbox(label="Choosen Original Article", lines=20)
|
488 |
# prompt_pagination = gr.Textbox(label="Episode Pagination Prompt Template", lines=5)
|
489 |
pagination_results = gr.Textbox(label="(1) Episode Pagination", lines=20)
|
490 |
# prompt_gisting = gr.Textbox(label="Memory Gisting Prompt Template", lines=5)
|
|
|
503 |
# prompt_pagination, pagination_results,
|
504 |
# prompt_gisting, gisting_results,
|
505 |
# prompt_lookup, lookup_qa_results,
|
506 |
+
choosen_article,
|
507 |
pagination_results,
|
508 |
gisting_results,
|
509 |
lookup_qa_results,
|