Spaces:
Paused
Paused
Update app.py
Browse files
app.py
CHANGED
|
@@ -1358,8 +1358,7 @@ def create_free_form_generation_demo():
|
|
| 1358 |
presence_penalty = PRESENCE_PENALTY
|
| 1359 |
|
| 1360 |
introduction = """
|
| 1361 |
-
|
| 1362 |
-
Put any context string (like few-shot prompts) and get the model to generate.
|
| 1363 |
"""
|
| 1364 |
|
| 1365 |
with gr.Blocks() as demo_free_form:
|
|
@@ -1391,6 +1390,78 @@ Put any context string (like few-shot prompts) and get the model to generate.
|
|
| 1391 |
|
| 1392 |
|
| 1393 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1394 |
|
| 1395 |
|
| 1396 |
def launch_demo():
|
|
@@ -1486,64 +1557,11 @@ def launch_demo():
|
|
| 1486 |
|
| 1487 |
if ENABLE_BATCH_INFER:
|
| 1488 |
|
| 1489 |
-
demo_file_upload =
|
| 1490 |
-
batch_inference,
|
| 1491 |
-
inputs=[
|
| 1492 |
-
gr.File(file_count='single', file_types=['json']),
|
| 1493 |
-
gr.Radio(["chat", "few-shot"], value='chat', label="Chat or Few-shot mode", info="Chat's output more user-friendly, Few-shot's output more consistent with few-shot patterns."),
|
| 1494 |
-
gr.Number(value=temperature, label='Temperature', info="Higher -> more random"),
|
| 1495 |
-
gr.Number(value=max_tokens, label='Max tokens', info='Increase if want more generation'),
|
| 1496 |
-
gr.Number(value=frequence_penalty, label='Frequency penalty', info='> 0 encourage new tokens over repeated tokens'),
|
| 1497 |
-
gr.Number(value=presence_penalty, label='Presence penalty', info='> 0 encourage new tokens, < 0 encourage existing tokens'),
|
| 1498 |
-
gr.Textbox(value="<s>,</s>,<|im_start|>", label='Stop strings', info='Comma-separated string to stop generation only in FEW-SHOT mode', lines=1),
|
| 1499 |
-
gr.Number(value=0, label='current_time', visible=False),
|
| 1500 |
-
],
|
| 1501 |
-
outputs=[
|
| 1502 |
-
# "file",
|
| 1503 |
-
gr.File(label="Generated file"),
|
| 1504 |
-
# "json"
|
| 1505 |
-
gr.JSON(label='Example outputs (display 2 samples)')
|
| 1506 |
-
],
|
| 1507 |
-
description=FILE_UPLOAD_DESCRIPTION,
|
| 1508 |
-
allow_flagging=False,
|
| 1509 |
-
examples=[
|
| 1510 |
-
["upload_chat.json", "chat", 0.2, 1024, 0.5, 0, "<s>,</s>,<|im_start|>"],
|
| 1511 |
-
["upload_few_shot.json", "few-shot", 0.2, 128, 0.5, 0, "<s>,</s>,<|im_start|>,\\n"]
|
| 1512 |
-
],
|
| 1513 |
-
cache_examples=False,
|
| 1514 |
-
)
|
| 1515 |
|
| 1516 |
demo_free_form = create_free_form_generation_demo()
|
| 1517 |
|
| 1518 |
-
demo_chat =
|
| 1519 |
-
response_fn,
|
| 1520 |
-
chatbot=ChatBot(
|
| 1521 |
-
label=MODEL_NAME,
|
| 1522 |
-
bubble_full_width=False,
|
| 1523 |
-
latex_delimiters=[
|
| 1524 |
-
{ "left": "$", "right": "$", "display": False},
|
| 1525 |
-
{ "left": "$$", "right": "$$", "display": True},
|
| 1526 |
-
],
|
| 1527 |
-
show_copy_button=True,
|
| 1528 |
-
),
|
| 1529 |
-
textbox=gr.Textbox(placeholder='Type message', lines=4, max_lines=128, min_width=200),
|
| 1530 |
-
submit_btn=gr.Button(value='Submit', variant="primary", scale=0),
|
| 1531 |
-
# ! consider preventing the stop button
|
| 1532 |
-
# stop_btn=None,
|
| 1533 |
-
# title=f"{model_title}",
|
| 1534 |
-
# description=f"{model_desc}",
|
| 1535 |
-
additional_inputs=[
|
| 1536 |
-
gr.Number(value=temperature, label='Temperature (higher -> more random)'),
|
| 1537 |
-
gr.Number(value=max_tokens, label='Max generated tokens (increase if want more generation)'),
|
| 1538 |
-
gr.Number(value=frequence_penalty, label='Frequency penalty (> 0 encourage new tokens over repeated tokens)'),
|
| 1539 |
-
gr.Number(value=presence_penalty, label='Presence penalty (> 0 encourage new tokens, < 0 encourage existing tokens)'),
|
| 1540 |
-
gr.Number(value=0, label='current_time', visible=False),
|
| 1541 |
-
# ! Remove the system prompt textbox to avoid jailbreaking
|
| 1542 |
-
# gr.Textbox(value=sys_prompt, label='System prompt', lines=8)
|
| 1543 |
-
],
|
| 1544 |
-
examples=CHAT_EXAMPLES,
|
| 1545 |
-
cache_examples=False
|
| 1546 |
-
)
|
| 1547 |
descriptions = model_desc
|
| 1548 |
if DISPLAY_MODEL_PATH:
|
| 1549 |
descriptions += f"<br> {path_markdown.format(model_path=model_path)}"
|
|
@@ -1554,80 +1572,33 @@ def launch_demo():
|
|
| 1554 |
title=f"{model_title}",
|
| 1555 |
description=descriptions,
|
| 1556 |
)
|
| 1557 |
-
demo.title = MODEL_NAME
|
| 1558 |
-
callback = None
|
| 1559 |
-
with demo:
|
| 1560 |
-
if DATA_SET_REPO_PATH != "":
|
| 1561 |
-
try:
|
| 1562 |
-
from performance_plot import attach_plot_to_demo
|
| 1563 |
-
attach_plot_to_demo(demo)
|
| 1564 |
-
except Exception as e:
|
| 1565 |
-
print(f'Fail to load DEMO plot: {str(e)}')
|
| 1566 |
-
|
| 1567 |
-
gr.Markdown(cite_markdown)
|
| 1568 |
-
# if DISPLAY_MODEL_PATH:
|
| 1569 |
-
# gr.Markdown(path_markdown.format(model_path=model_path))
|
| 1570 |
-
|
| 1571 |
-
if ENABLE_AGREE_POPUP:
|
| 1572 |
-
demo.load(None, None, None, _js=AGREE_POP_SCRIPTS)
|
| 1573 |
-
|
| 1574 |
-
demo.queue(api_open=False)
|
| 1575 |
-
# demo.launch(server_port=PORT, show_api=False, allowed_paths=["seal_logo.png"])
|
| 1576 |
-
# demo.launch(show_api=False, allowed_paths=["seal_logo.png"])
|
| 1577 |
else:
|
| 1578 |
descriptions = model_desc
|
| 1579 |
if DISPLAY_MODEL_PATH:
|
| 1580 |
descriptions += f"<br> {path_markdown.format(model_path=model_path)}"
|
| 1581 |
-
|
| 1582 |
-
|
| 1583 |
-
|
| 1584 |
-
|
| 1585 |
-
|
| 1586 |
-
|
| 1587 |
-
|
| 1588 |
-
|
| 1589 |
-
|
| 1590 |
-
|
| 1591 |
-
|
| 1592 |
-
textbox=gr.Textbox(placeholder='Type message', lines=4, max_lines=128, min_width=200),
|
| 1593 |
-
submit_btn=gr.Button(value='Submit', variant="primary", scale=0),
|
| 1594 |
-
# ! consider preventing the stop button
|
| 1595 |
-
# stop_btn=None,
|
| 1596 |
-
title=f"{model_title}",
|
| 1597 |
-
description=descriptions,
|
| 1598 |
-
additional_inputs=[
|
| 1599 |
-
gr.Number(value=temperature, label='Temperature (higher -> more random)'),
|
| 1600 |
-
gr.Number(value=max_tokens, label='Max generated tokens (increase if want more generation)'),
|
| 1601 |
-
gr.Number(value=frequence_penalty, label='Frequency penalty (> 0 encourage new tokens over repeated tokens)'),
|
| 1602 |
-
gr.Number(value=presence_penalty, label='Presence penalty (> 0 encourage new tokens, < 0 encourage existing tokens)'),
|
| 1603 |
-
gr.Number(value=0, label='current_time', visible=False),
|
| 1604 |
-
# ! Remove the system prompt textbox to avoid jailbreaking
|
| 1605 |
-
# gr.Textbox(value=sys_prompt, label='System prompt', lines=8)
|
| 1606 |
-
],
|
| 1607 |
-
examples=CHAT_EXAMPLES,
|
| 1608 |
-
cache_examples=False
|
| 1609 |
-
)
|
| 1610 |
-
demo.title = MODEL_NAME
|
| 1611 |
-
with demo:
|
| 1612 |
-
gr.Markdown(cite_markdown)
|
| 1613 |
-
if DISPLAY_MODEL_PATH:
|
| 1614 |
-
gr.Markdown(path_markdown.format(model_path=model_path))
|
| 1615 |
-
|
| 1616 |
-
if ENABLE_AGREE_POPUP:
|
| 1617 |
-
demo.load(None, None, None, _js=AGREE_POP_SCRIPTS)
|
| 1618 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1619 |
|
| 1620 |
-
|
| 1621 |
-
#demo.launch(server_port=PORT, show_api=False, allowed_paths=["seal_logo.png"])
|
| 1622 |
-
# demo.launch(show_api=False, allowed_paths=["seal_logo.png"])
|
| 1623 |
return demo
|
| 1624 |
|
| 1625 |
|
| 1626 |
-
# def main():
|
| 1627 |
-
|
| 1628 |
-
# launch()
|
| 1629 |
-
|
| 1630 |
-
|
| 1631 |
if __name__ == "__main__":
|
| 1632 |
demo = launch_demo()
|
| 1633 |
demo.launch(show_api=False, allowed_paths=["seal_logo.png"])
|
|
|
|
| 1358 |
presence_penalty = PRESENCE_PENALTY
|
| 1359 |
|
| 1360 |
introduction = """
|
| 1361 |
+
### Free-form | Put any context string (like few-shot prompts)
|
|
|
|
| 1362 |
"""
|
| 1363 |
|
| 1364 |
with gr.Blocks() as demo_free_form:
|
|
|
|
| 1390 |
|
| 1391 |
|
| 1392 |
|
| 1393 |
+
def create_file_upload_demo():
|
| 1394 |
+
temperature = TEMPERATURE
|
| 1395 |
+
frequence_penalty = FREQUENCE_PENALTY
|
| 1396 |
+
presence_penalty = PRESENCE_PENALTY
|
| 1397 |
+
max_tokens = MAX_TOKENS
|
| 1398 |
+
demo_file_upload = gr.Interface(
|
| 1399 |
+
batch_inference,
|
| 1400 |
+
inputs=[
|
| 1401 |
+
gr.File(file_count='single', file_types=['json']),
|
| 1402 |
+
gr.Radio(["chat", "few-shot"], value='chat', label="Chat or Few-shot mode", info="Chat's output more user-friendly, Few-shot's output more consistent with few-shot patterns."),
|
| 1403 |
+
gr.Number(value=temperature, label='Temperature', info="Higher -> more random"),
|
| 1404 |
+
gr.Number(value=max_tokens, label='Max tokens', info='Increase if want more generation'),
|
| 1405 |
+
gr.Number(value=frequence_penalty, label='Frequency penalty', info='> 0 encourage new tokens over repeated tokens'),
|
| 1406 |
+
gr.Number(value=presence_penalty, label='Presence penalty', info='> 0 encourage new tokens, < 0 encourage existing tokens'),
|
| 1407 |
+
gr.Textbox(value="<s>,</s>,<|im_start|>", label='Stop strings', info='Comma-separated string to stop generation only in FEW-SHOT mode', lines=1),
|
| 1408 |
+
gr.Number(value=0, label='current_time', visible=False),
|
| 1409 |
+
],
|
| 1410 |
+
outputs=[
|
| 1411 |
+
# "file",
|
| 1412 |
+
gr.File(label="Generated file"),
|
| 1413 |
+
# "json"
|
| 1414 |
+
gr.JSON(label='Example outputs (display 2 samples)')
|
| 1415 |
+
],
|
| 1416 |
+
description=FILE_UPLOAD_DESCRIPTION,
|
| 1417 |
+
allow_flagging=False,
|
| 1418 |
+
examples=[
|
| 1419 |
+
["upload_chat.json", "chat", 0.2, 1024, 0.5, 0, "<s>,</s>,<|im_start|>"],
|
| 1420 |
+
["upload_few_shot.json", "few-shot", 0.2, 128, 0.5, 0, "<s>,</s>,<|im_start|>,\\n"]
|
| 1421 |
+
],
|
| 1422 |
+
cache_examples=False,
|
| 1423 |
+
)
|
| 1424 |
+
return demo_file_upload
|
| 1425 |
+
|
| 1426 |
+
|
| 1427 |
+
def create_chat_demo(title=None, description=None):
|
| 1428 |
+
sys_prompt = SYSTEM_PROMPT_1
|
| 1429 |
+
max_tokens = MAX_TOKENS
|
| 1430 |
+
temperature = TEMPERATURE
|
| 1431 |
+
frequence_penalty = FREQUENCE_PENALTY
|
| 1432 |
+
presence_penalty = PRESENCE_PENALTY
|
| 1433 |
+
|
| 1434 |
+
demo_chat = gr.ChatInterface(
|
| 1435 |
+
chat_response_stream_multiturn,
|
| 1436 |
+
chatbot=ChatBot(
|
| 1437 |
+
label=MODEL_NAME,
|
| 1438 |
+
bubble_full_width=False,
|
| 1439 |
+
latex_delimiters=[
|
| 1440 |
+
{ "left": "$", "right": "$", "display": False},
|
| 1441 |
+
{ "left": "$$", "right": "$$", "display": True},
|
| 1442 |
+
],
|
| 1443 |
+
show_copy_button=True,
|
| 1444 |
+
),
|
| 1445 |
+
textbox=gr.Textbox(placeholder='Type message', lines=4, max_lines=128, min_width=200),
|
| 1446 |
+
submit_btn=gr.Button(value='Submit', variant="primary", scale=0),
|
| 1447 |
+
# ! consider preventing the stop button
|
| 1448 |
+
# stop_btn=None,
|
| 1449 |
+
title=title,
|
| 1450 |
+
description=description,
|
| 1451 |
+
additional_inputs=[
|
| 1452 |
+
gr.Number(value=temperature, label='Temperature (higher -> more random)'),
|
| 1453 |
+
gr.Number(value=max_tokens, label='Max generated tokens (increase if want more generation)'),
|
| 1454 |
+
gr.Number(value=frequence_penalty, label='Frequency penalty (> 0 encourage new tokens over repeated tokens)'),
|
| 1455 |
+
gr.Number(value=presence_penalty, label='Presence penalty (> 0 encourage new tokens, < 0 encourage existing tokens)'),
|
| 1456 |
+
gr.Number(value=0, label='current_time', visible=False),
|
| 1457 |
+
# ! Remove the system prompt textbox to avoid jailbreaking
|
| 1458 |
+
gr.Textbox(value=sys_prompt, label='System prompt', lines=8, interactive=False)
|
| 1459 |
+
],
|
| 1460 |
+
examples=CHAT_EXAMPLES,
|
| 1461 |
+
cache_examples=False
|
| 1462 |
+
)
|
| 1463 |
+
return demo_chat
|
| 1464 |
+
|
| 1465 |
|
| 1466 |
|
| 1467 |
def launch_demo():
|
|
|
|
| 1557 |
|
| 1558 |
if ENABLE_BATCH_INFER:
|
| 1559 |
|
| 1560 |
+
demo_file_upload = create_file_upload_demo()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1561 |
|
| 1562 |
demo_free_form = create_free_form_generation_demo()
|
| 1563 |
|
| 1564 |
+
demo_chat = create_chat_demo()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1565 |
descriptions = model_desc
|
| 1566 |
if DISPLAY_MODEL_PATH:
|
| 1567 |
descriptions += f"<br> {path_markdown.format(model_path=model_path)}"
|
|
|
|
| 1572 |
title=f"{model_title}",
|
| 1573 |
description=descriptions,
|
| 1574 |
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1575 |
else:
|
| 1576 |
descriptions = model_desc
|
| 1577 |
if DISPLAY_MODEL_PATH:
|
| 1578 |
descriptions += f"<br> {path_markdown.format(model_path=model_path)}"
|
| 1579 |
+
|
| 1580 |
+
demo = create_chat_demo(title=f"{model_title}", description=descriptions)
|
| 1581 |
+
demo.title = MODEL_NAME
|
| 1582 |
+
|
| 1583 |
+
with demo:
|
| 1584 |
+
if DATA_SET_REPO_PATH != "":
|
| 1585 |
+
try:
|
| 1586 |
+
from performance_plot import attach_plot_to_demo
|
| 1587 |
+
attach_plot_to_demo(demo)
|
| 1588 |
+
except Exception as e:
|
| 1589 |
+
print(f'Fail to load DEMO plot: {str(e)}')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1590 |
|
| 1591 |
+
gr.Markdown(cite_markdown)
|
| 1592 |
+
if DISPLAY_MODEL_PATH:
|
| 1593 |
+
gr.Markdown(path_markdown.format(model_path=model_path))
|
| 1594 |
+
|
| 1595 |
+
if ENABLE_AGREE_POPUP:
|
| 1596 |
+
demo.load(None, None, None, _js=AGREE_POP_SCRIPTS)
|
| 1597 |
|
| 1598 |
+
demo.queue(api_open=False)
|
|
|
|
|
|
|
| 1599 |
return demo
|
| 1600 |
|
| 1601 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1602 |
if __name__ == "__main__":
|
| 1603 |
demo = launch_demo()
|
| 1604 |
demo.launch(show_api=False, allowed_paths=["seal_logo.png"])
|