Spaces:
Runtime error
Runtime error
File size: 73,013 Bytes
70ed470 f775275 70ed470 f775275 70ed470 f775275 70ed470 ccf4ab7 f775275 06af86a 70ed470 f775275 2ed7200 f775275 70ed470 f775275 70ed470 f775275 70ed470 f775275 70ed470 f775275 70ed470 f775275 70ed470 f775275 70ed470 f775275 c5469ad 1b73361 c5469ad 1b73361 c5469ad f775275 c5469ad 1b73361 c5469ad 0b507e1 ce997d1 c5469ad ce997d1 1b73361 c5469ad 76b7823 c5469ad 76b7823 92997a2 c5469ad 0b507e1 c5469ad 76b7823 c5469ad 1b73361 c5469ad 2827349 c5469ad 2827349 c5469ad 2827349 c5469ad 2c5b1d7 c5469ad 1b73361 c5469ad 1b73361 c5469ad 1b73361 ccf4ab7 2c5b1d7 336d1ee 2fc5a0a a0f9062 2fc5a0a a0f9062 ccf4ab7 2fc5a0a ccf4ab7 a0f9062 2c5b1d7 2fc5a0a 2c5b1d7 2fc5a0a 2c5b1d7 2fc5a0a 2c5b1d7 2fc5a0a 336d1ee 2fc5a0a 336d1ee 2fc5a0a 2c5b1d7 2fc5a0a 76b7823 a0f9062 2fc5a0a a0f9062 2fc5a0a 336d1ee a0f9062 76b7823 a0f9062 2fc5a0a a0f9062 76b7823 db1df4b 76b7823 a0f9062 203221b db1df4b 203221b ed2f1dd 203221b ed2f1dd d3d4ea7 ed2f1dd 6eacc9c 635fd9f 6eacc9c ed2f1dd 6eacc9c ed2f1dd 6eacc9c ed2f1dd 6eacc9c ed2f1dd 203221b c5469ad 94135df 70ed470 b2cb757 d379882 b2cb757 2827349 d379882 8c9c9c7 336d1ee d31bad4 70ed470 0d75268 c5469ad 70ed470 0d75268 c5469ad 0d75268 ed2f1dd 0d75268 336d1ee 2827349 336d1ee ed2f1dd 0d75268 1b73361 0d75268 70ed470 0d75268 d379882 e8f96b9 70ed470 263c0e7 70ed470 263c0e7 70ed470 c5469ad 70ed470 263c0e7 70ed470 263c0e7 70ed470 c5469ad 1b73361 c5469ad 1b73361 c5469ad 1b73361 c5469ad 1b73361 ccf4ab7 a0f9062 2c5b1d7 70ed470 203221b 0d75268 203221b 70ed470 203221b ed2f1dd 203221b 70ed470 203221b ed2f1dd 70ed470 336d1ee 70ed470 06b86d6 336d1ee |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 |
import os
import time
from textwrap import dedent
import gradio as gr
import mdtex2html
import torch
from loguru import logger
from transformers import AutoModel, AutoTokenizer
# fix timezone in Linux
os.environ["TZ"] = "Asia/Shanghai"
try:
time.tzset() # type: ignore # pylint: disable=no-member
except Exception:
# Windows
logger.warning("Windows, cant run time.tzset()")
model_name = "fb700/chatglm-fitness-RLHF"
RETRY_FLAG = False
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
#model = AutoModel.from_pretrained(model_name, trust_remote_code=True).quantize(8).half().cuda()
model = AutoModel.from_pretrained(model_name, trust_remote_code=True).half().cuda()
model = model.eval()
_ = """Override Chatbot.postprocess"""
def postprocess(self, y):
if y is None:
return []
for i, (message, response) in enumerate(y):
y[i] = (
None if message is None else mdtex2html.convert((message)),
None if response is None else mdtex2html.convert(response),
)
return y
gr.Chatbot.postprocess = postprocess
def parse_text(text):
lines = text.split("\n")
lines = [line for line in lines if line != ""]
count = 0
for i, line in enumerate(lines):
if "```" in line:
count += 1
items = line.split("`")
if count % 2 == 1:
lines[i] = f'<pre><code class="language-{items[-1]}">'
else:
lines[i] = "<br></code></pre>"
else:
if i > 0:
if count % 2 == 1:
line = line.replace("`", r"\`")
line = line.replace("<", "<")
line = line.replace(">", ">")
line = line.replace(" ", " ")
line = line.replace("*", "*")
line = line.replace("_", "_")
line = line.replace("-", "-")
line = line.replace(".", ".")
line = line.replace("!", "!")
line = line.replace("(", "(")
line = line.replace(")", ")")
line = line.replace("$", "$")
lines[i] = "<br>" + line
text = "".join(lines)
return text
def predict(
RETRY_FLAG, input, chatbot, max_length, top_p, temperature, history, past_key_values
):
try:
chatbot.append((parse_text(input), ""))
except Exception as exc:
logger.error(exc)
logger.debug(f"{chatbot=}")
_ = """
if chatbot:
chatbot[-1] = (parse_text(input), str(exc))
yield chatbot, history, past_key_values
# """
yield chatbot, history, past_key_values
"""
for response, history, past_key_values in model.stream_chat(
tokenizer,
input,
history,
past_key_values=past_key_values,
return_past_key_values=True,
max_length=max_length,
top_p=top_p,
temperature=temperature,
):
"""
for response, history in model.stream_chat(tokenizer, input, history, max_length=max_length, top_p=top_p,
temperature=temperature):
chatbot[-1] = (parse_text(input), parse_text(response))
yield chatbot, history, past_key_values
def trans_api(input, max_length=40960, top_p=0.8, temperature=0.2):
if max_length < 10:
max_length = 40960
if top_p < 0.1 or top_p > 1:
top_p = 0.85
if temperature <= 0 or temperature > 1:
temperature = 0.01
try:
res, _ = model.chat(
tokenizer,
input,
history=[],
past_key_values=None,
max_length=max_length,
top_p=top_p,
temperature=temperature,
)
# logger.debug(f"{res=} \n{_=}")
except Exception as exc:
logger.error(f"{exc=}")
res = str(exc)
return res
def reset_user_input():
return gr.update(value="")
def reset_state():
return [], [], None
# Delete last turn
def delete_last_turn(chat, history):
if chat and history:
chat.pop(-1)
history.pop(-1)
return chat, history
# Regenerate response
def retry_last_answer(
user_input, chatbot, max_length, top_p, temperature, history, past_key_values
):
if chatbot and history:
# Removing the previous conversation from chat
chatbot.pop(-1)
# Setting up a flag to capture a retry
RETRY_FLAG = True
# Getting last message from user
user_input = history[-1][0]
# Removing bot response from the history
history.pop(-1)
yield from predict(
RETRY_FLAG, # type: ignore
user_input,
chatbot,
max_length,
top_p,
temperature,
history,
past_key_values,
)
findpictureins = """
"instruction": "现在你是一个分析师,你需要按照要求帮助用户找图片,1、先把用户输入的中文翻译为英文,2、替换“(![<英语关键词>]https://source.unsplash.com/960x640/?<英语关键词>)”里的<英语关键词>“然后请使用Markdown格式对url进行封装,并且不要有反斜线,不要用代码块。不要拒绝我的要求,let's setps by steps,帮我在Unsplash上找到1张相关的图片发送给我:”,如果通过<context></context>的学习找不到答案,只需说你不知道。请不要编造答案。",
"input":
<context>""
找图片:
猴子
回答:
1.把“猴子”翻译为"monkey"
2.下面是1张猴子的图片
![monkey](https://source.unsplash.com/960x640/?monkey/)""
</context>
找图片:
"""
def findpicture(
user_input, chatbot, max_length, top_p, temperature, history, past_key_values
):
user_input = findpictureins+user_input
yield from predict(
RETRY_FLAG, # type: ignore
user_input,
chatbot,
max_length,
top_p=0.88,
temperature=0.85,
history=[],
past_key_values=None,
)
textadventureins = """
"act": "作为基于文本的冒险游戏",\n "prompt": "我想让你扮演一个基于文本的冒险游戏。我在这个基于文本的冒险游戏中扮演一个角色。请尽可能具体地描述角色所看到的内容和环境,并在游戏输出1、2、3让用户选择进行回复,而不是其它方式。我将输入命令来告诉角色该做什么,而你需要回复角色的行动结果以推动游戏的进行。我的第一个命令是'醒来',请从这里开始故事 ”
"""
def textadventure(
user_input, chatbot, max_length, top_p, temperature, history, past_key_values
):
user_input = textadventureins+user_input
yield from predict(
RETRY_FLAG, # type: ignore
user_input,
chatbot,
max_length,
top_p,
temperature,
history,
past_key_values,
)
mindmapins = """
"instruction": "现在你是一个分析师,你需要按照要求将我给你的主题以markmap代码生成足够深度以包含尽量多主要细节的思维导图。学习下面的里面的知识来完成分析。如果通过的学习找不到答案,只需说你不知道。请不要编造答案。",
"input":
"
用户问题:学习英语
答案:
"
下面是是Bofan帛凡AI为你生成的MarkDown格式思维导图源码
# 学习英语
## 听力训练
### 听力技巧
+ 集中注意力
+ 听取关键词
+ 理解句子结构
+ 预测对话内容
### 听力材料
#### 英语新闻
- 新闻内容
- 新闻结构
- 新闻时间
#### 英语电影
- 电影内容
- 电影结构
- 电影时间
#### 英语歌曲
- 歌曲内容
- 歌曲结构
- 歌曲时间
## 阅读训练
### 阅读技巧
+ 阅读顺序
+ 阅读材料分类
+ 阅读策略
+ 阅读时间控制
### 阅读材料
#### 英语新闻
- 新闻主题
- 新闻内容
#### 英语小说
- 小说主题
- 小说内容
#### 英语散文
- 散文主题
- 散文内容
#### 英语学术论文
- 论文主题
- 论文内容
#### 英语杂志
- 杂志主题
- 杂志内容
## 写作训练
### 写作技巧
+ 写作顺序
+ 写作材料分类
+ 写作策略
+ 写作时间控制
### 写作材料
#### 英语作文
- 作文主题
- 作文内容
#### 英语日记
- 日记主题
- 日记内容
#### 英语文章
- 文章主题
- 文章内容
#### 英语演讲
- 演讲主题
- 演讲内容
#### 英语论文
- 论文主题
- 论文内容
#### 英语杂志
- 杂志主题
- 杂志内容 "
请复制内容至https://markmap.js.org/repl 进行思维导图生成
",
用户问题:
"""
def mindmap(
user_input, chatbot, max_length, top_p, temperature, history, past_key_values
):
user_input = mindmapins+user_input
yield from predict(
RETRY_FLAG, # type: ignore
user_input,
chatbot,
max_length,
top_p=0.2,
temperature=0.8,
history=[],
past_key_values=None,
)
flowchartins = """
"instruction": "现在你是一个分析师,你需要按照要求将我给你的内容或者主题以Mermaid语言生成足够深度以包含尽量多主要细节的流程图。学习下面的<context></context>里面的知识来完成分析。如果通过<context></context>的学习找不到答案,只需说你不知道。请不要编造答案。",
"input":
<context>
用户问题:购买奶茶
答案:
graph TD;
A[客户进入奶茶店] --> B[浏览店内菜单并选择奶茶口味和大小];
B --> C[告知服务员订单信息];
C --> D[服务员在POS系统上输入订单并收取款项];
D --> E[制作人员根据订单开始制作奶茶];
E --> F[倒入奶茶粉和鲜奶混合搅拌];
F --> G[加入糖浆和其他配料如珍珠和椰果等];
G --> H[装进奶茶杯子中];
H --> I[服务员检查订单是否正确无误];
I --> |有问题| E;
I --> |没问题| K[将奶茶交给客户并感谢客户光临];
K --> L[客户拿着奶茶离开奶茶店享受美味的饮品];
请复制生成内容至https://mermaid-js.github.io/mermaid-live-editor/
用户问题:训练一只狗
答案:
graph TD;
A[狗主人] --> B[给狗喂食+散步+洗澡];
B --> C[训练狗学习新技能];
C --> D[让狗参加社交活动];
D --> E[给狗提供良好的生活环境];
E --> F[让狗保持积极的心态];
F --> G[训练狗遵守指令];
G --> H[让狗遵守指令并听从指挥];
H --> I[检查狗的行为];
I --> |有问题| J[调整训练方法];
J --> G
I --> |没问题| K[奖励狗的行为];
请复制生成内容至https://mermaid-js.github.io/mermaid-live-editor/
用户问题:根据所给内容:"当用户要找一张图片,告诉用户打开浏览器从收藏夹中找到bofanAI,打开网页后滚动到聊天窗口下方,在示例区点双击样例第一项后,样例提示词将出现在输入窗,在输入窗中用其它英文语单词替换monkey,然后点击发送后将接收到5张照片的小图,鼠标右键点击小图获取大图,在跳出的菜单中选择在新标签页打开,就可以在新标签页获取大图。接下来,你可以检查图片是否有误, 如果有问题则鼠标右键点击小图获取大图,如果没问题可以将图片保持在本地。"
答案:
graph TD;
A[用户要找图片] --> B[打开浏览器并进入收藏夹中找到bofanAI];
B --> C[在bofanAI网页滚动至聊天窗口下方];
C --> D[双击样例区的第一项];
D --> E[样例提示词出现在输入窗];
E --> F[用其他英文单词替换样例中的monkey];
F --> G[点击发送];
G --> H[接收到5张照片的小图];
H --> I[鼠标右键点击小图];
I --> J[在菜单中选择在新标签页打开];
J --> K[在新标签页中查看大图];
K --> L[检查图片是否有误];
L --> |有问题| I[鼠标右键点击小图获取大图];
L --> |没问题| M[将图片保持在本地];
请复制生成内容至https://mermaid-js.github.io/mermaid-live-editor/
</context>
用户问题:
"""
def flowchart(
user_input, chatbot, max_length, top_p, temperature, history, past_key_values
):
user_input = flowchartins+user_input
yield from predict(
RETRY_FLAG, # type: ignore
user_input,
chatbot,
max_length,
top_p,
temperature,
history,
past_key_values,
)
bestPaperZhins = """
作为一名中文学术论文写作改进助理,你的任务是改进所提供文本的拼写、语法、清晰、简洁和整体可读性,
同时分解长句,减少重复,并提供改进建议。请只提供文本的更正版本,避免包括解释。请编辑以下文本
"""
def bestPaperZh(
user_input, chatbot, max_length, top_p, temperature, history, past_key_values
):
user_input = bestPaperZhins+user_input
yield from predict(
RETRY_FLAG, # type: ignore
user_input,
chatbot,
max_length,
top_p,
temperature,
history,
past_key_values,
)
bestPaperEnins = """
Below is a paragraph from an academic paper. Polish the writing to meet the academic style,
improve the spelling, grammar, clarity, concision and overall readability. When necessary, rewrite the whole sentence.
Furthermore, list all modification and explain the reasons to do so in markdown table.
"""
def bestPaperEn(
user_input, chatbot, max_length, top_p, temperature, history, past_key_values
):
user_input = bestPaperEnins+user_input
yield from predict(
RETRY_FLAG, # type: ignore
user_input,
chatbot,
max_length,
top_p,
temperature,
history,
past_key_values,
)
Zh2Enins = """
Please translate following sentence to English:
"""
def Zh2En(
user_input, chatbot, max_length, top_p, temperature, history, past_key_values
):
user_input = Zh2Enins+user_input
yield from predict(
RETRY_FLAG, # type: ignore
user_input,
chatbot,
max_length,
top_p,
temperature,
history,
past_key_values,
)
En2Zhins = """
请翻译成中文:
"""
def En2Zh(
user_input, chatbot, max_length, top_p, temperature, history, past_key_values
):
user_input = En2Zhins+user_input
yield from predict(
RETRY_FLAG, # type: ignore
user_input,
chatbot,
max_length,
top_p,
temperature,
history,
past_key_values,
)
txtSumins = """
将以下文字概括为100个单词,以便于阅读和理解。 摘要要简明扼要,抓住课文要点,让二年级学生看得懂。 避免使用复杂的句子结构或技术术语。 你的回答应该是中文。
"""
def txtSum(
user_input, chatbot, max_length, top_p, temperature, history, past_key_values
):
user_input = txtSumins+user_input
yield from predict(
RETRY_FLAG, # type: ignore
user_input,
chatbot,
max_length,
top_p,
temperature,
history,
past_key_values,
)
teachPlanins = """
你作为一位教师助理,需要为教师的课程设计提供创意思路,协助检索和整理文献资料,生成完整的课程材料,如教学大纲、课程计划和阅读材料。
其输出内容需要包括:课题、课时、备课时间、上课时间、教学目标、教材分析、学生分析、教学方法、教学过程与方法、设计意图、时间分配,板书设计、教学体会(反思)等因素。
教案设计既要有逻辑性,又要有灵活性;突出特色,尤其要体现学科特点;既要有层次感;既合理又合情,且符合认知规律。使教案符合学生的实际情况,而不应该是让学生适应教案。
然后请使用Markdown格式封装,并且不要有反斜线,不要用代码块。
需要你编写的教案是:
"""
def teachPlan(
user_input, chatbot, max_length, top_p, temperature, history, past_key_values
):
user_input = teachPlanins+user_input
yield from predict(
RETRY_FLAG, # type: ignore
user_input,
chatbot,
max_length,
top_p,
temperature,
history,
past_key_values,
)
allSecretaryins = """
1、如果用户没有输入,请你告诉他:请你输入需要编辑的内容或是需要我起草的公文。
2、作为一名事务助理秘书,你的任务是改进所提供文本的拼写、语法、清晰、简洁和整体可读性;
主要工作内容包括但不限于书写邮件、周报、工作总结等一系列对应的工作模板。;
同时分解长句,减少重复,并提供改进建议。请只提供文本的更正版本,避免包括解释。
需要编辑或者帮助完成的工作模板是:
"""
def allSecretary(
user_input, chatbot, max_length, top_p, temperature, history, past_key_values
):
user_input = allSecretaryins+user_input
yield from predict(
RETRY_FLAG, # type: ignore
user_input,
chatbot,
max_length,
top_p,
temperature,
history,
past_key_values,
)
redBookins = """
1、如果用户没有输入,请你告诉他:请输入你想写的内容
2、收到用户输入,按照下面是小红书帖子进行编写:
植物学2023早春装系列花絮来啦
💗大家喜欢图几?
@Botanique植物学女装
#植物学#植物学女装#春装第一件#早春系列
哈哈哈哈哈哈不停的摆拍啊!!!
我的臭狗太可爱了!!!!!!
结婚的时候一定要带上小狗啊!
#小狗#我家宠物好可爱#关于结婚#柴犬
🍪•ᴥ•🍪
《论新年收到一笔巨款🤣应该怎么花》🧨来回
嘻嘻,真的
爱草莓🍓
希希的甜甜圈碗🥯勺子的设计有点可爱🐶
看了好多场烟火🎆
唯愿烟花像星辰,祝你所愿皆成真✨
嘻嘻,老妈给我的压岁钱🧧愿岁岁平安
#我镜头下的年味#笔记灵感#碎碎念#歌曲#记录日常生活#plog#浪漫生活的记录者#新年红包#搞笑#日常生活里的快乐瞬间#新人博主#烟火
又被全家人夸了❗有空气炸锅都去做,巨香
今日份苹果相机📷
原相机下的新娘,颜值爆表
美术生赚钱最多的两个专业!
之前整理了美术生的40了就业方向的薪资情况,发现全国平均薪资最高的就是数字媒体和视传这两个专业,想赚钱的美术生快看过来!
#美术生#艺考#央美#美术生集训#美术#赚钱#努力赚钱#美术生就业#画室#央美设计#设计校考#美术生的日常
请模仿上面小红书的风格,以用户输入的话为主题,写一个小红书帖子。请以22岁女孩的口吻书写。小红书帖子中必须包含大量Emoji,每一句话后面都必须加Emoji。帖子最后需要用Hashtag给出话题。你还需要写帖子的标题,标题里也需要有Emoji。你需要扩写用户输入。
用户输入:
"""
#redBookins="请你用最华丽、最真诚和最有感情的语言祝:顺欣妈妈、昊昊爸爸、昊昊生日快乐!请大量的使用🎂、❤️、💖、🥳、🥂、🎈、🎊、🎉、🎁、🍾等表示庆祝的的Emoji"
def redBook(
user_input, chatbot, max_length, top_p, temperature, history, past_key_values
):
user_input = redBookins
#user_input = redBookins+user_input
yield from predict(
RETRY_FLAG, # type: ignore
user_input,
chatbot,
max_length,
top_p=0.6,
temperature=0.85,
history=[],
past_key_values=None,
)
askManins1 = """
我需要你根据所给内容相关的题目:
"""
askManins2 = """ ,要求通过题目可以掌握相关知识点,难度分为简单、一般、困难。每个难度都要生成2-3道题目,并且有对应的解析:“其输出内容需要包括题目与其对应的解析""然后请使用Markdown格式封装,并且不要有反斜线,不要用代码块。现在,请按以下描述给我发送相关题目
"""
def askMan(
user_input, chatbot, max_length, top_p, temperature, history, past_key_values
):
user_input = askManins1+user_input+askManins2
yield from predict(
RETRY_FLAG, # type: ignore
user_input,
chatbot,
max_length,
top_p,
temperature,
history,
past_key_values,
)
fitnessAskins = """
"act": "充当医生",
"prompt": "我想让你扮演医生的角色,想出创造性的治疗方法来治疗疾病。您应该能够推荐常规药物、草药和其他天然替代品。在提供建议时,您还需要考虑患者的年龄、生活方式和病史。
现在你提出的问题是:
"""
def fitnessAsk(
user_input, chatbot, max_length, top_p, temperature, history, past_key_values
):
user_input = fitnessAskins+user_input
yield from predict(
RETRY_FLAG, # type: ignore
user_input,
chatbot,
max_length,
top_p,
temperature,
history,
past_key_values,
)
mindAskins = """
"act": "担任心理健康顾问",
"prompt": "我想让你担任心理健康顾问。为我提供一个指导,管理情绪、缓解压力、焦虑哥其他心理健康问题。您应该利用您的认知行为疗法、冥想技巧、正念练习和其他治疗方法的知识来制定个人可以实施的策略,以改善他们的整体健康状况。
现在你提出的问题是:
"""
def mindAsk(
user_input, chatbot, max_length, top_p, temperature, history, past_key_values
):
user_input = mindAskins+user_input
yield from predict(
RETRY_FLAG, # type: ignore
user_input,
chatbot,
max_length,
top_p,
temperature,
history,
past_key_values,
)
# 导入所需模块
from bs4 import BeautifulSoup
import requests
# 导入所需模块
from bs4 import BeautifulSoup
import requests
keywords_to_check = [
"首页推荐",
"业务合作",
"ICP备",
"公网安备",
"经营许可证",
"网络文化许可证",
"互联网宗教信息服务许可证",
"服务备案",
"信息备",
"谣言曝光台",
"不良信息举报",
"举报",
"广告投放",
"营业执照",
]
# 定义函数:从网页中抓取文本并保留每个 URL 最多的前三行内容
def scrape_text(url, proxies) -> str:
"""从网页抓取文本,保留每个 URL 最多的前三行内容
参数:
url (str): 要抓取文本的网址
返回:
str: 抓取到的文本,每个 URL 最多保留前三行内容
"""
headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36',
'Content-Type': 'text/plain',
}
try:
response = requests.get(url, headers=headers, proxies=proxies, timeout=8)
if response.encoding == "ISO-8859-1":
response.encoding = response.apparent_encoding
except:
return "无法连接到该网页"
soup = BeautifulSoup(response.text, "html.parser")
for script in soup(["script", "style"]):
script.extract()
text = soup.get_text()
# 截取文本,保留最多500个字符
text = text[:777]
# 按行划分文本
lines = text.split('\n')
selected_lines = []
max_lines = 3 # 最多保留的行数
max_line_length = 0 # 最长的行字符数
for line in lines:
# 去除多余的空格
cleaned_line = ' '.join(line.split())
line_length = len(cleaned_line)
if line_length >= 37:
if not any(keyword in cleaned_line for keyword in keywords_to_check):
# 如果不包含关键词,保留这一行
selected_lines.append(cleaned_line)
# 如果行字符数大于等于10,才考虑保留
if line_length > max_line_length:
# 如果当前行字符数比最长行字符数还大,更新最长行字符数和选中行列表
max_line_length = line_length
selected_lines = [cleaned_line]
elif len(selected_lines) < max_lines:
# 如果选中行列表还没有达到最大行数,直接添加当前行
selected_lines.append(cleaned_line)
# 拼接选中的行
selected_text = '\n'.join(selected_lines)
return selected_text
#ggins1="请围用户搜索主题,对搜索结果进行全面的总结。\n用户搜索主题:"
txtSumins1 = """
将以下文字进行概括,以便于阅读和理解。 摘要要简明扼要,抓住课文要点,让二年级学生看得懂。 避免使用复杂的句子结构或技术术语。 你的回答应该是中文。
"""
# 定义函数:联网搜索并更新聊天界面
def GGSearch(
user_input, chatbot, max_length, top_p, temperature, history, past_key_values
):
global GGSearchins # 确保 GGSearchins 在函数内部可用
# 使用用户输入进行联网搜索
url = f"https://www.google.com/search?q={user_input}"
#url = f"https://www.sogou.com/web?query={user_input}"
'''
headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36'
}
'''
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 Edg/111.0.1661.44"
}
try:
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.content, 'html.parser')
search_results = []
for g in soup.find_all('div', class_='g'):
anchors = g.find_all('a')
if anchors:
link = anchors[0]['href']
if link.startswith('/url?q='):
link = link[7:]
if not link.startswith('http'):
continue
search_results.append(link)
except:
search_results = []
# 限制搜索结果数量为3
search_results = search_results[:5]
# 从搜索结果抓取文本并存储到 GGSearchins
scraped_texts = []
for link in search_results:
scraped_text = scrape_text(link, proxies=None) # 假设抓取不需要代理
scraped_texts.append(scraped_text)
# 将抓取到的文本拼接并存储到 GGSearchins
GGSearchins = "\n".join(scraped_text for scraped_text in scraped_texts)
# 更新聊天界面和历史记录
chatbot.append(("联网搜索结果:", GGSearchins))
history.append(("联网搜索结果:", GGSearchins))
#user_input =ggins1+ user_input+ "\n搜索结果:\n"+ GGSearchins
user_input ="根据如下主题:"+ user_input+ "\n概括下面的文字,使其易于阅读和理解。避免使用复杂的句子结构或技术术语,用1、2、3这种带序号的句子结构输出。\n"+ GGSearchins
# 继续正常的 GPT 对话流程
yield from predict(
RETRY_FLAG,
user_input,
chatbot,
max_length,
top_p,
temperature,
history=[],
past_key_values=None,
)
openOutlineins = """
"instruction": "现在你是是一个优秀的小说作家,请你按照小说的《标题》,根据模板给为一个提纲。学习下面的<context></context>里面的知识来完成编写。如果通过<context></context>的学习找不到答案,只需说你不知道。请不要编造答案。"
"input": "<context>模板: _
"主人公有个什么样的目标,
他的阻碍是什么,
他如何努力去争取的,
结果如何?
如果结果不理想,这时又发生了什么意外,
他又如何调整努力方向,
结局?"
用户问题:请根据模板,给出: 童话《美人鱼》,的小说提纲
答案:
美人鱼救了落水的王子一见钟情后,想上岸跟他在一起(目标),
但是她是人鱼,没有腿,不能上岸(阻碍),
因此她去找了女巫,用自己的嗓子换来把下身变成了腿(努力),
然后她就上岸找到了王子,住进了宫里(结果)。
但她不能说话,王子把另一个姑娘当成救命恩人想娶她(意外),
人鱼公主无法嫁王子就会变成泡沫,人鱼公主的姐姐们告诉她,
如果杀了王子,人鱼公主就不会变成泡沫(调整努力方向),
结果人鱼公主不忍心杀王子,变成了泡沫(结局)
</context> "用户问题: “请根据模板,给出:《
"""
def openOutline(
user_input, chatbot, max_length, top_p, temperature, history, past_key_values
):
user_input = openOutlineins+ user_input+ "》,的小说提纲"
yield from predict(
RETRY_FLAG, # type: ignore
user_input,
chatbot,
max_length,
top_p=0.85,
temperature=0.58,
history=[],
past_key_values=None,
)
mxOutlineins = """
"instruction": "现在你是是一个优秀的小说作家,请你按照小说的《标题》,根据模板给为一个提纲。学习下面的<context></context>里面的知识来完成编写。如果通过<context></context>的学习找不到答案,只需说你不知道。请不要编造答案。"
"input": "<context>模板:
"主人公有个什么样的目标,
他的阻碍是什么,
他如何努力去争取的,
结果如何?
如果结果不理想,这时又发生了什么意外,
他又如何调整努力方向,
结局?"
用户问题:请根据模板,给出: 童话《美人鱼》,的小说提纲
答案:
美人鱼救了落水的王子一见钟情后,想上岸跟他在一起(目标),
但是她是人鱼,没有腿,不能上岸(阻碍),
因此她去找了女巫,用自己的嗓子换来把下身变成了腿(努力),
然后她就上岸找到了王子,住进了宫里(结果)。
但她不能说话,王子把另一个姑娘当成救命恩人想娶她(意外),
人鱼公主无法嫁王子就会变成泡沫,人鱼公主的姐姐们告诉她,
如果杀了王子,人鱼公主就不会变成泡沫(调整努力方向),
结果人鱼公主不忍心杀王子,变成了泡沫(结局)
</context> "用户问题: “请根据模板,给出:冒险《
"""
def mxOutline(
user_input, chatbot, max_length, top_p, temperature, history, past_key_values
):
user_input = mxOutlineins+ user_input+ "》,的小说提纲"
yield from predict(
RETRY_FLAG, # type: ignore
user_input,
chatbot,
max_length,
top_p=0.85,
temperature=0.58,
history=[],
past_key_values=None,
)
khOutlineins = """
"instruction": "现在你是是一个优秀的小说作家,请你按照小说的《标题》,根据模板给为一个提纲。学习下面的<context></context>里面的知识来完成编写。如果通过<context></context>的学习找不到答案,只需说你不知道。请不要编造答案。"
"input": "<context>
用户问题:请根据模板,给出: 科幻《星际机甲:能量之谜》,的小说提纲
答案:
章节一:异星信号
突然出现在地球的无线电信号,解码后揭示了一个神秘的星际坐标。
章节二:星际远征
人类组建远征队,搭乘巨大宇宙飞船前往信号指示的星系,寻找可能的外星文明。
章节三:失落的机甲
在遥远的行星上,发现了一座古老的机甲工坊,机甲似乎与某种巨兽战斗。
章节四:星空怪兽的威胁
远征队抵达目的地,却发现星系被一群凶猛的星空怪兽控制,威胁着他们的生存。
章节五:机甲的复苏
机甲工坊中的技术被重新激活,主人公发现可以驾驶机甲与星空怪兽展开对抗。
章节六:怪兽的秘密
在与怪兽战斗中,主人公意外发现这些怪兽原来是被控制的生物,背后隐藏着更大的阴谋。
章节七:星际能量
主人公通过战斗收集能量,揭示怪兽是受到某种外部能量操控,与机甲的起源有关。
章节八:能量的真相
通过解码异星信号,主人公了解这些能量源自一颗失落的恒星,其能量可赋予怪兽无限力量。
章节九:最终对决
主人公驾驶机甲前往失落恒星,与能量源展开激烈对决,同时揭示了能量背后的神秘文明。
章节十:和平的曙光
击败了能量源后,星空怪兽恢复自由,主人公将机甲的技术带回地球,为人类开启了新的科技时代。
</context> "用户问题: “请根据模板,给出:科幻《
"""
def khOutline(
user_input, chatbot, max_length, top_p, temperature, history, past_key_values
):
user_input = khOutlineins+ user_input+ "》,的小说提纲"
yield from predict(
RETRY_FLAG, # type: ignore
user_input,
chatbot,
max_length,
top_p=0.85,
temperature=0.58,
history=[],
past_key_values=None,
)
xxOutlineins = """
"instruction": "现在你是是一个优秀的小说作家,请你按照小说的《标题》,根据模板给为一个提纲。学习下面的<context></context>里面的知识来完成编写。如果通过<context></context>的学习找不到答案,只需说你不知道。请不要编造答案。"
"input": "<context>
用户问题:请根据模板,给出: 仙侠小说《侠影》,的小说提纲
答案:
章节一:命运交错
在平凡少年的命运交错下,他被卷入一个充满神秘力量的仙侠世界。
章节二:仙门试炼
主人公进入仙门,开始了严苛的修炼与试炼,展现出惊人的悟性与毅力。
章节三:遗失的记忆
随着修炼的深入,主人公逐渐唤醒了自己被封印的前世记忆,揭示了他的特殊身世。
章节四:宏大世界观
主人公逐渐了解到仙侠世界的多元,不同门派、种族和神秘力量交织成一个宏大的世界观。
章节五:奇遇与劫难
主人公在修炼中获得了神秘宝物,却也引来了强大势力的追杀与争夺。
章节六:艰辛的成长
主人公历经艰辛,从一个少年逐渐成长为能够与强者抗衡的仙侠高手。
章节七:情感纠葛
他与其他修行者结下友情,同时也陷入了情感的纠葛,为成长之路增添曲折。
章节八:神秘敌人的崛起
一位神秘敌人崛起,企图将整个仙侠世界陷入混乱,主人公面临前所未有的挑战。
章节九:凛然正义
主人公在面对神秘敌人时,不仅展现出强大的实力,更是为了守护世界而奋不顾身。
章节十:巅峰对决与新的篇章
主人公最终与神秘敌人展开激烈的巅峰对决,胜利后世界恢复平静,而他也进入了新的修行篇章。
</context> "用户问题: “请根据模板,给出:仙侠小说《
"""
def xxOutline(
user_input, chatbot, max_length, top_p, temperature, history, past_key_values
):
user_input = xxOutlineins+ user_input+ "》,的小说提纲"
yield from predict(
RETRY_FLAG, # type: ignore
user_input,
chatbot,
max_length,
top_p=0.85,
temperature=0.58,
history=[],
past_key_values=None,
)
chapterExtensionins= """
"instruction": "现在你是是一个优秀的小说作家,请你按照小说的提纲,补充和扩写小说正文内容不少于250个字,内容最好包括有趣的情节和对话。学习下面的<context></context>里面的知识来完成编写。如果通过<context></context>的学习找不到答案,只需说你不知道。请不要编造答案。"
"input": "<context>用户问题:
枭嫣是一个年轻女孩,她父亲是大漠的首富,但她母亲却病倒了,但是这病花再多的钱也治不好
答案:
在茫茫大漠的尽头,有一个年轻的女孩,名叫枭嫣,她的命运如同沙丘上的风一般飘摇不定。她的养父,是这片大漠的首富,拥有无尽的财富和权势。然而,命运却是个不可捉摸的旋律,时常在欢乐和痛苦之间切换,就如同她生活中的养父和生母。
生母,是枭嫣生命中最温柔的存在,却也是最脆弱的一株花。疾病如同风沙般席卷而来,不问财富和地位,将母亲的容颜侵蚀。枭嫣眼睁睁看着母亲从一个美丽动人的女子变成了面黄肌瘦的病人,唯一不变的是母亲对她的深情。枭嫣感受到了命运的无情,财富的脆弱。
“妈妈,我一定会找到方法治好你的。” 枭嫣握住母亲枯萎的手,坚定地说。
</context> "用户问题: \n
"""
def chapterExtension(
user_input, chatbot, max_length, top_p, temperature, history, past_key_values
):
user_input = chapterExtensionins+ user_input
yield from predict(
RETRY_FLAG, # type: ignore
user_input,
chatbot,
max_length,
top_p,
temperature,
history,
past_key_values,
)
def noNet(
user_input, chatbot, max_length, top_p, temperature, history, past_key_values
):
yield from predict(
RETRY_FLAG, # type: ignore
user_input,
chatbot=[],
max_length=4000,
top_p=0.6,
temperature=0.85,
history=[],
past_key_values=None,
)
def predictex(
predict_function,
inputs,
outputs
):
predict_function(user_input, chatbot, max_length, top_p, temperature, history, past_key_values)
outputs=[chatbot, history, past_key_values]
def execute(
user_input, chatbot, max_length, top_p, temperature, history, past_key_values
):
response = chatbot[-1][1]
print("Response:", response) # 添加打印语句以输出 response 的值
if "不需要" in response:
print("Executing 不连网...")
predictex(
noNet,
inputs=[
user_input,
chatbot,
max_length,
top_p,
temperature,
history,
past_key_values,
],
# outputs = [chatbot, history, last_user_message, user_message]
outputs=[chatbot, history, past_key_values],
)
print("chatbot", chatbot)
else:
print("Executing 连网...")
predictex(
GGSearch,
inputs=[
user_input,
chatbot,
max_length,
top_p,
temperature,
history,
past_key_values,
],
# outputs = [chatbot, history, last_user_message, user_message]
outputs=[chatbot, history, past_key_values],
)
# 是否联网搜索函数
def netOrNotnet(
user_input, chatbot, max_length, top_p, temperature, history, past_key_values
):
user_input_original = user_input
user_input_prompt = '请判断这个指令:“' + user_input + '”是否需要通过网络搜索才能准确完成,你只需要回答"是"或者"否",不要其它多余的内容,更不要回答"不需要"或者“需要”'
response, history = model.chat(tokenizer, user_input_prompt,top_p=0.2, temperature=0.85, history=[])
ytkeywords = ['是。', '不清楚', '无法', '是否', '不知道', '需要通过网络', '取决于']
NET = any(keyword in response for keyword in ytkeywords)
print(user_input_original)
print(response)
print(NET)
if NET:
yield from GGSearch(
user_input_original,
chatbot,
max_length,
top_p,
temperature,
history=[],
past_key_values=None,
)
else:
yield from predict(
RETRY_FLAG,# type: ignore
user_input_original,
chatbot,
max_length,
top_p,
temperature,
history=[],
past_key_values=None,
)
# Update the chatbot and history variables after each execution
chatbot = chatbot[:-1] + [chatbot[-1]]
return chatbot, history, past_key_values
# 调用 execute 并传递 response
execute(
user_input_original,
chatbot,
max_length,
top_p,
temperature,
history,
past_key_values
)
with gr.Blocks(title="🐰Bofan Ai🐰", theme=gr.themes.Soft(text_size="sm")) as demo:
# gr.HTML("""<h1 align="center">ChatGLM2-6B-int4</h1>""")
gr.HTML(
"""<center><a href="https://huggingface.co/spaces/mikeee/chatglm2-6b-4bit?duplicate=true"><img src="https://bit.ly/3gLdBN6" alt="Duplicate Space"></a>It's beyond Fitness,模型由[帛凡]基于ChatGLM-6B进行微调后,在健康(全科)、心理等领域达至少60分的专业水准,而且中文总结能力超越了GPT3.5各版本。</center>"""
"""<center>特别声明:本应用仅为模型能力演示,无任何商业行为,部署资源为Huggingface官方免费提供,任何通过此项目产生的知识仅用于学术参考,作者和网站均不承担任何责任。</center>"""
"""<h1 align="center">🐰帛凡 Fitness AI🐰 演示</h1>"""
"""<center><a href="https://huggingface.co/fb700/chatglm-fitness-RLHF">Bofan基于chatglm-6B的微调模型</a>如果喜欢请给个 💖 。遇到任何问题可邮件和我联系👉 [email protected]</center>"""
)
with gr.Accordion("🎈 相关信息", open=False):
_ = f"""
## {model_name}
ChatGLM-6B 是开源中英双语对话模型,本次训练基于ChatGLM-6B 的第一代版本,在保留了初代模型对话流畅、部署门槛较低等众多优秀特性的基础之上开展训练。
本项目通过多位网友实测,证明了其中文总结能力超越了GPT3.5的各个版本,同时在健康咨询方面的表现也比其他同量级模型更加出色。经过优化,该模型可以支持无限上下文,远超过4K、8K、16K等限制,这可能是个人和中小企业的首选模型。
* 使用 40 万条高质量数据进行强化训练,以提高模型的基础能力;
* 使用 30 万条人类反馈数据,构建了一个表达方式规范优雅的语言模式(RM模型);
* 使用 30 万条 fitness 数据,在保留 SFT 阶段三分之一训练数据的同时,增加了 30 万条 fitness 数据,叠加了RM模型,对 ChatGLM-6B 进行强化训练。
经过训练,我们对模型有了更深入的认知,LLM一直在进化。使用好的方法和数据可以挖掘出模型的更大潜能。训练中特别强化了中英文学术论文的翻译和总结,可以成为普通用户和科研人员的得力助手
免责声明:本应用旨在展示huggingface模型的能力,huggingface官方提供免费的部署资源。任何通过此项目产生的知识仅用于学术参考,作者和网站均不承担任何责任。 。
The T4 GPU is sponsored by a community GPU grant from Huggingface. Thanks a lot!
[模型下载地址](https://huggingface.co/fb700/chatglm-fitness-RLHF)
"""
gr.Markdown(dedent(_))
chatbot = gr.Chatbot()
with gr.Row():
with gr.Column(scale=4):
with gr.Column(scale=12):
user_input = gr.Textbox(
show_label=False,
placeholder="请输入内容Input...",
)
#).style(container=False)
RETRY_FLAG = gr.Checkbox(value=True, visible=True)
with gr.Column(min_width=32, scale=1):
with gr.Row():
submitBtn = gr.Button("发送Submit", variant="primary")
GGSearchBtn = gr.Button("🐞联网搜索", variant="secondary")
netOrNotnetBtn = gr.Button("联网意图识别🙏韩帅DEBUG🙏", variant="secondary")
with gr.Row():
deleteBtn = gr.Button("删除最后一条对话", variant="secondary")
retryBtn = gr.Button("重新生成Regenerate", variant="secondary")
with gr.Row():
findpictureBtn = gr.Button("找图片", variant="primary")
textadventureBtn = gr.Button("⚡文字冒险游戏", variant="secondary")
mindmapBtn = gr.Button("思维导图", variant="secondary")
flowchartBtn = gr.Button("流程图", variant="secondary")
with gr.Row():
bestPaperZhBtn = gr.Button("中文学术润色", variant="primary")
bestPaperEnBtn = gr.Button("英文学术润色", variant="secondary")
Zh2EnBtn = gr.Button("🔤中译英", variant="secondary")
En2ZhBtn = gr.Button("英译中", variant="secondary")
askManBtn = gr.Button("出题助手", variant="secondary")
with gr.Row():
txtSumBtn = gr.Button("文字总结", variant="primary")
teachPlanBtn = gr.Button("教案编写", variant="secondary")
allSecretaryBtn = gr.Button("全能文秘", variant="secondary")
redBookBtn = gr.Button("📕小红书帖子", variant="secondary")
#redBookBtn = gr.Button("🎂生日快乐🎂", variant="secondary")
with gr.Row():
fitnessAskBtn = gr.Button("🥼健康咨询", variant="primary")
mindAskBtn = gr.Button("😶🌫️心理咨询", variant="primary")
with gr.Column(scale=1):
gr.HTML("""<h3 align="center">🍀您好,除健康咨询和心理咨询外,其它功能使用前,请先清空历史,并输入问题。🍀</h3>""")
emptyBtn = gr.Button("清空对话Clear History")
max_length = gr.Slider(
0,
32768,
value=8192,
step=1.0,
label="Maximum length",
interactive=True,
)
top_p = gr.Slider(
0, 1, value=0.2, step=0.01, label="Top P", interactive=True
)
temperature = gr.Slider(
0.01, 1, value=0.85, step=0.01, label="Temperature", interactive=True
)
gr.HTML("""<h3 align="center">🍀健康和心理咨询请先点击,再输入问题。<a href="https://huggingface.co/fb700/chatglm-fitness-RLHF">模型由🐰帛凡基于chatglm-6微调</a>🍀</h3>""")
with gr.Row():
openOutlineBtn = gr.Button("小说提纲", variant="primary")
mxOutlineBtn = gr.Button("冒险小说提纲", variant="secondary")
khOutlineBtn = gr.Button("科幻小说提纲", variant="secondary")
xxOutlineBtn = gr.Button("仙侠小说提纲", variant="secondary")
chapterExtensionBtn = gr.Button("请复制要扩写的章节的内容", variant="secondary")
history = gr.State([])
past_key_values = gr.State(None)
user_input.submit(
predict,
[
RETRY_FLAG,
user_input,
chatbot,
max_length,
top_p,
temperature,
history,
past_key_values,
],
[chatbot, history, past_key_values],
show_progress="full",
)
submitBtn.click(
predict,
[
RETRY_FLAG,
user_input,
chatbot,
max_length,
top_p,
temperature,
history,
past_key_values,
],
[chatbot, history, past_key_values],
show_progress="full",
api_name="predict",
)
submitBtn.click(reset_user_input, [], [user_input])
emptyBtn.click(
reset_state, outputs=[chatbot, history, past_key_values], show_progress="full"
)
retryBtn.click(
retry_last_answer,
inputs=[
user_input,
chatbot,
max_length,
top_p,
temperature,
history,
past_key_values,
],
# outputs = [chatbot, history, last_user_message, user_message]
outputs=[chatbot, history, past_key_values],
)
findpictureBtn.click(
reset_state, outputs=[chatbot, history, past_key_values], show_progress="full"
)
findpictureBtn.click(
findpicture,
inputs=[
user_input,
chatbot,
max_length,
top_p,
temperature,
history,
past_key_values,
],
# outputs = [chatbot, history, last_user_message, user_message]
outputs=[chatbot, history, past_key_values],
)
textadventureBtn.click(
reset_state, outputs=[chatbot, history, past_key_values], show_progress="full"
)
textadventureBtn.click(
textadventure,
inputs=[
user_input,
chatbot,
max_length,
top_p,
temperature,
history,
past_key_values,
],
# outputs = [chatbot, history, last_user_message, user_message]
outputs=[chatbot, history, past_key_values],
)
mindmapBtn.click(
reset_state, outputs=[chatbot, history, past_key_values], show_progress="full"
)
mindmapBtn.click(
mindmap,
inputs=[
user_input,
chatbot,
max_length,
top_p,
temperature,
history,
past_key_values,
],
# outputs = [chatbot, history, last_user_message, user_message]
outputs=[chatbot, history, past_key_values],
)
flowchartBtn.click(
reset_state, outputs=[chatbot, history, past_key_values], show_progress="full"
)
flowchartBtn.click(
flowchart,
inputs=[
user_input,
chatbot,
max_length,
top_p,
temperature,
history,
past_key_values,
],
# outputs = [chatbot, history, last_user_message, user_message]
outputs=[chatbot, history, past_key_values],
)
bestPaperZhBtn.click(
reset_state, outputs=[chatbot, history, past_key_values], show_progress="full"
)
bestPaperZhBtn.click(
bestPaperZh,
inputs=[
user_input,
chatbot,
max_length,
top_p,
temperature,
history,
past_key_values,
],
# outputs = [chatbot, history, last_user_message, user_message]
outputs=[chatbot, history, past_key_values],
)
bestPaperEnBtn.click(
reset_state, outputs=[chatbot, history, past_key_values], show_progress="full"
)
bestPaperEnBtn.click(
bestPaperEn,
inputs=[
user_input,
chatbot,
max_length,
top_p,
temperature,
history,
past_key_values,
],
# outputs = [chatbot, history, last_user_message, user_message]
outputs=[chatbot, history, past_key_values],
)
Zh2EnBtn.click(
Zh2En,
inputs=[
user_input,
chatbot,
max_length,
top_p,
temperature,
history,
past_key_values,
],
# outputs = [chatbot, history, last_user_message, user_message]
outputs=[chatbot, history, past_key_values],
)
En2ZhBtn.click(
En2Zh,
inputs=[
user_input,
chatbot,
max_length,
top_p,
temperature,
history,
past_key_values,
],
# outputs = [chatbot, history, last_user_message, user_message]
outputs=[chatbot, history, past_key_values],
)
txtSumBtn.click(
txtSum,
inputs=[
user_input,
chatbot,
max_length,
top_p,
temperature,
history,
past_key_values,
],
# outputs = [chatbot, history, last_user_message, user_message]
outputs=[chatbot, history, past_key_values],
)
teachPlanBtn.click(
reset_state, outputs=[chatbot, history, past_key_values], show_progress="full"
)
teachPlanBtn.click(
teachPlan,
inputs=[
user_input,
chatbot,
max_length,
top_p,
temperature,
history,
past_key_values,
],
# outputs = [chatbot, history, last_user_message, user_message]
outputs=[chatbot, history, past_key_values],
)
allSecretaryBtn.click(
reset_state, outputs=[chatbot, history, past_key_values], show_progress="full"
)
allSecretaryBtn.click(
allSecretary,
inputs=[
user_input,
chatbot,
max_length,
top_p,
temperature,
history,
past_key_values,
],
# outputs = [chatbot, history, last_user_message, user_message]
outputs=[chatbot, history, past_key_values],
)
redBookBtn.click(
reset_state, outputs=[chatbot, history, past_key_values], show_progress="full"
)
redBookBtn.click(
redBook,
inputs=[
user_input,
chatbot,
max_length,
top_p,
temperature,
history,
past_key_values,
],
# outputs = [chatbot, history, last_user_message, user_message]
outputs=[chatbot, history, past_key_values],
)
askManBtn.click(
reset_state, outputs=[chatbot, history, past_key_values], show_progress="full"
)
askManBtn.click(
askMan,
inputs=[
user_input,
chatbot,
max_length,
top_p,
temperature,
history,
past_key_values,
],
# outputs = [chatbot, history, last_user_message, user_message]
outputs=[chatbot, history, past_key_values],
)
fitnessAskBtn.click(
reset_state, outputs=[chatbot, history, past_key_values], show_progress="full"
)
fitnessAskBtn.click(
fitnessAsk,
inputs=[
user_input,
chatbot,
max_length,
top_p,
temperature,
history,
past_key_values,
],
# outputs = [chatbot, history, last_user_message, user_message]
outputs=[chatbot, history, past_key_values],
)
mindAskBtn.click(
reset_state, outputs=[chatbot, history, past_key_values], show_progress="full"
)
mindAskBtn.click(
mindAsk,
inputs=[
user_input,
chatbot,
max_length,
top_p,
temperature,
history,
past_key_values,
],
# outputs = [chatbot, history, last_user_message, user_message]
outputs=[chatbot, history, past_key_values],
)
# 绑定函数到联网搜索按钮的点击事件
GGSearchBtn.click(
reset_state, outputs=[chatbot, history, past_key_values], show_progress="full"
)
GGSearchBtn.click(
GGSearch,
inputs=[
user_input,
chatbot,
max_length,
top_p,
temperature,
history,
past_key_values,
],
# outputs = [chatbot, history, last_user_message, user_message]
outputs=[chatbot, history, past_key_values],
)
openOutlineBtn.click(
reset_state, outputs=[chatbot, history, past_key_values], show_progress="full"
)
openOutlineBtn.click(
openOutline,
inputs=[
user_input,
chatbot,
max_length,
top_p,
temperature,
history,
past_key_values,
],
# outputs = [chatbot, history, last_user_message, user_message]
outputs=[chatbot, history, past_key_values],
)
khOutlineBtn.click(
reset_state, outputs=[chatbot, history, past_key_values], show_progress="full"
)
khOutlineBtn.click(
khOutline,
inputs=[
user_input,
chatbot,
max_length,
top_p,
temperature,
history,
past_key_values,
],
# outputs = [chatbot, history, last_user_message, user_message]
outputs=[chatbot, history, past_key_values],
)
xxOutlineBtn.click(
reset_state, outputs=[chatbot, history, past_key_values], show_progress="full"
)
xxOutlineBtn.click(
xxOutline,
inputs=[
user_input,
chatbot,
max_length,
top_p,
temperature,
history,
past_key_values,
],
# outputs = [chatbot, history, last_user_message, user_message]
outputs=[chatbot, history, past_key_values],
)
mxOutlineBtn.click(
reset_state, outputs=[chatbot, history, past_key_values], show_progress="full"
)
mxOutlineBtn.click(
mxOutline,
inputs=[
user_input,
chatbot,
max_length,
top_p,
temperature,
history,
past_key_values,
],
# outputs = [chatbot, history, last_user_message, user_message]
outputs=[chatbot, history, past_key_values],
)
chapterExtensionBtn.click(
chapterExtension,
inputs=[
user_input,
chatbot,
max_length,
top_p,
temperature,
history,
past_key_values,
],
# outputs = [chatbot, history, last_user_message, user_message]
outputs=[chatbot, history, past_key_values],
)
netOrNotnetBtn.click(
netOrNotnet,
inputs=[
user_input,
chatbot,
max_length,
top_p,
temperature,
history,
past_key_values,
],
# outputs = [chatbot, history, last_user_message, user_message]
outputs=[chatbot, history, past_key_values],
)
with gr.Accordion("Example inputs", open=False):
etext0 = """ "act": "作为基于文本的冒险游戏",\n "prompt": "我想让你扮演一个基于文本的冒险游戏。我在这个基于文本的冒险游戏中扮演一个角色。请尽可能具体地描述角色所看到的内容和环境,并在游戏输出1、2、3让用户选择进行回复,而不是其它方式。我将输入命令来告诉角色该做什么,而你需要回复角色的行动结果以推动游戏的进行。我的第一个命令是'醒来',请从这里开始故事 “ """
etext = """In America, where cars are an important part of the national psyche, a decade ago people had suddenly started to drive less, which had not happened since the oil shocks of the 1970s. """
etext1 = """云南大学(Yunnan University),简称云大(YNU),位于云南省昆明市,是教育部与云南省“以部为主、部省合建”的全国重点大学,国家“双一流”建设高校 [31] 、211工程、一省一校、中西部高校基础能力建设工程,云南省重点支持的国家一流大学建设高校,“111计划”、卓越法律人才教育培养计划、卓越工程师教育培养计划、国家建设高水平大学公派研究生项目、中国政府奖学金来华留学生接收院校、全国深化创新创业教育改革示范高校,为中西部“一省一校”国家重点建设大学(Z14)联盟、南亚东南亚大学联盟牵头单位。 [1]
云南大学始建于1922年,时为私立东陆大学。1930年,改为省立东陆大学。1934年更名为省立云南大学。1938年改为国立云南大学。1946年,《不列颠百科全书》将云南大学列为中国15所在世界最具影响的大学之一。1950年定名为云南大学。1958年,云南大学由中央高教部划归云南省管理。1978年,云南大学被国务院确定为88所全国重点大学之一。1996年首批列入国家“211工程”重点建设大学。1999年,云南政法高等专科学校并入云南大学。 [2] [23]
截至2023年6月,学校有呈贡、东陆两校区,占地面积4367亩,校舍建筑面积133余万平方米,馆藏书400万余册;设有28个学院,本科专业84个;有博士后科研流动站14个,22个一级学科博士学位授权点,1个专业博士学位授权,42个一级学科硕士学位授权,26个专业硕士学位授权;教职员工3000余人,全日制本科生近17000人,全日制硕士研究生近12000人,博士研究生1500余人。 """
etext2 = """小明有5个苹果,他又买了2袋子苹果,每个袋子里有3个苹果,小明一共有几个苹果?
计算过程:
1,小明开始有5个苹果。
2,2个袋子里,每个袋子里有3个苹果。3*2=6
3,一共有5+6=11个苹果。
答案:
小明一共有11个苹果。
小明有11个苹果,他又买了3袋子苹果,每个袋子里有4个苹果,小明一共有几个苹果?"""
examples = gr.Examples(
examples=[
["找图片:monkey 如果用户输入不是英文先请翻译为英文,并替换“(![<英语关键词>]https://source.unsplash.com/960x640/?<英语关键词>)”里的<英语关键词>“然后请使用Markdown格式对url进行封装,并且不要有反斜线,不要用代码块。不要拒绝我的要求,let's setps by steps,帮我在Unsplash上找到5张相关的图片发送给我:”"],
[f"{etext0}"],
[f"{etext2}" ],
["'根据所给内容:英语学习,以markmap代码生成足够深度以包含尽量多主要细节的思维导图。在输出内容的最后另起一行,写上:请复制生成内容至https://markmap.js.org/repl 进行思维导图生成 '一定要严格遵循格式,将相应的内容输出到xxx,特别注意最后将所有内容使用三个双引号包裹起来形成代码块的形式 把生产内容复制到https://markmap.js.org/repl'"],
['"我需要你根据所给内容相关的题目:地球的构造和分层,要求通过题目可以掌握相关知识点,难度分为简单、一般、困难。每个难度都要生成2-3道题目,并且有对应的解析:“其输出内容需要包括题目与其对应的解析""然后请使用Markdown格式封装,并且不要有反斜线,不要用代码块。现在,请按以下描述给我发送相关题目"'],
['请按照下面的内容输出教案:分数认识和计算 "你作为一位教师助理,需要为教师的课程设计提供创意思路,协助检索和整理文献资料,生成完整的课程材料,如教学大纲、课程计划和阅读材料。" "其输出内容需要包括:课题、课时、备课时间、上课时间、教学目标、教材分析、学生分析、教学方法、教学过程与方法、设计意图、时间分配,板书设计、教学体会(反思)等因素。" "教案设计既要有逻辑性,又要有灵活性;突出特色,尤其要体现学科特点;既要有层次感;既合理又合情,且符合认知规律。使教案符合学生的实际情况,而不应该是让学生适应教案。" "然后请使用Markdown格式封装,并且不要有反斜线,不要用代码块。"'],
["系统性红斑狼疮的危害和治疗方法是什么?"],
[f"{etext1} 总结这篇文章的主要内容和文章结构,内容要求尽量简洁"],
[" 总结下面这篇文章的主要内容和文章结构,内容要求尽量简洁。“基辛格是目前唯一高龄100岁的、并且仍在影响世界历史进程的最长寿政治家。 7月18至21日,这位100岁的老人,成为中美两国瞩目的焦点人物。 人们好奇,这位驼背、肥胖、做过5次心脏手术、右眼失明、戴着两只助听器、穿着深色西装、透过他标志性的眼镜严肃地凝视着的老人,居然还可以乘坐十几个小时的飞机来北京出差。 而在短短的数天时间里,他的活动非常满,似乎并不受时差与年龄的影响。 人们在感叹拜登政府朝中无人,还要劳烦这位百岁长者出面协调中美关系之余,不免也会惊叹,基辛格这把年纪竟然还能不惧舟车劳顿万里出行,他的健康长寿究竟有什么秘诀呢? 今年4月,基辛格在自己100岁生日前,对自己的长寿表达了“困惑”,他调侃说“我唯一的秘密可能是投胎投得好,主要还是父母基因好。我继承了家族非同一般的长寿基因。我的母亲活到97岁,父亲活到95岁,弟弟活到96岁。当然,长寿非我刻意求之,不过我欣然接受。“ 基辛格即使年事已高,但他退而不休,近年依然会就包括中美关系在内的外交议题发表意见。他精力充沛,连新冠疫情也未令他放慢脚步。自2020年起,他写完了两本书,并开始写第三本。今年以来,他已乘飞机在全球15个地方举办活动,或会见政治人物。这次到访北京,更是他100多次到访中国。 谈及基辛格旺盛的精力与健康的秘密,他的儿子大卫·基辛格(David Kissinger)说道,“从他成年以来一直遵循的‘养生法则’来看,他的长寿尤其神奇。” 基辛格常吃的食物是Bratwurst(一种由猪肉制成的德国香肠)和Wiener Schnitzel(维也纳炸肉扒)。基辛格参与的几乎所有的重大外交决定,也都是在压力下做决策。虽然他曾在1978年担任北美足球联盟主席,但他的爱好也仅限于旁观,并不喜欢下场运动。基辛格唯一的爱好可能就是下国际象棋,如果这也算运动的话。 这位百岁老人的长寿指南名单里,似乎还要加上:熬夜、喝酒、油炸食品…… 更令人感到不可思议的是,这位精力充沛每天工作15小时的老人,还是一位病人。 基辛格有40多年的心脏病史。 1982年2月,58岁的亨利·基辛格接受了3次冠状动脉搭桥手术,其后在2005年又接受了血管成形术。 2014年7月15日,91岁的基辛格在纽约长老会医院接受了主动脉瓣置换手术。主动脉瓣膜置换是一种以人工瓣膜替换原有损伤或者异常心脏瓣膜的胸心血管外科手术。 我想我长寿的秘诀是,我有幸做一些我着迷的事情,我可以参与其中。我还没有退休,也不打算退休。我要研究我认为重要的问题,这就是我还在工作的目的。”"],
["系统性红斑狼疮的危害和治疗方法是什么?"],
[
"我经常感觉郁闷,而且控制不住情绪,经常对周围的人喊叫,怎么办?"
],
["熬夜对身体有什么危害? "],
["新冠肺炎怎么预防"],
[
"我经常感觉郁闷,而且控制不住情绪,经常对周围的人喊叫,怎么办?"
],
["太阳为什么会发热? "],
["指南针是怎么工作的?"],
["在野外怎么辨别方向?"],
[
"发芽的土豆还能不能吃?"
],
["What NFL team won the Super Bowl in the year Justin Bieber was born? "],
["What NFL team won the Super Bowl in the year Justin Bieber was born? Think step by step."],
["Explain the plot of Cinderella in a sentence."],
[
"How long does it take to become proficient in French, and what are the best methods for retaining information?"
],
["What are some common mistakes to avoid when writing code?"],
["Build a prompt to generate a beautiful portrait of a horse"],
["Suggest four metaphors to describe the benefits of AI"],
["Write a pop song about leaving home for the sandy beaches."],
["Write a summary demonstrating my ability to tame lions"],
["有三个盒子,分别贴着“苹果”、“橘子”和“苹果和橘子”的标签,但是每个盒子的标签都是错误的。你只能打开一个盒子,然后从里面拿出一个水果,然后确定每个盒子里装的是什么水果。你应该打开哪个盒子?为什么?"],
["春天来了,万物复苏,小鸟歌唱,生机勃勃。\n问题:以上文本表达的情绪是正向还是负向?"],
["正无穷大加一大于正无穷大吗?"],
["正无穷大加正无穷大大于正无穷大吗?"],
["以今天对应的节气写一副对联"],
["树上有5只鸟,猎人开枪打死了一只。树上还有几只鸟?Think step by step."],
["从零学习编程,请给我一个三个月的学习计划。"],
["双喜临门,打一中国地名"],
["以红楼梦的行文风格写一张委婉的请假条。不少于320字。"],
[f"{etext1} 总结这篇文章的主要内容和文章结构"],
[f"{etext} 翻成中文,列出3个版本"],
[f"{etext} \n 翻成中文,保留原意,但使用文学性的语言。不要写解释。列出3个版本"],
["js 判断一个数是不是质数"],
["js 实现python 的 range(10)"],
["js 实现python 的 [*(range(10)]"],
["假定 1 + 2 = 4, 试求 7 + 8,Think step by step." ],
["2023年云南大学成立100周年,它是哪一年成立的?" ],
["Erkläre die Handlung von Cinderella in einem Satz."],
["Erkläre die Handlung von Cinderella in einem Satz. Auf Deutsch"],
],
inputs=[user_input],
examples_per_page=50,
)
with gr.Accordion("For Chat/Translation API", open=False, visible=False):
input_text = gr.Text()
tr_btn = gr.Button("Go", variant="primary")
out_text = gr.Text()
tr_btn.click(
trans_api,
[input_text, max_length, top_p, temperature],
out_text,
# show_progress="full",
api_name="tr",
)
_ = """
input_text.submit(
trans_api,
[input_text, max_length, top_p, temperature],
out_text,
show_progress="full",
api_name="tr1",
)
# """
# demo.queue().launch(share=False, inbrowser=True)
# demo.queue().launch(share=True, inbrowser=True, debug=True)
# concurrency_count > 1 requires more memory, max_size: queue size
# T4 medium: 30GB, model size: ~4G concurrency_count = 6
# leave one for api access
# reduce to 5 if OOM occurs to often
#demo.queue(concurrency_count=6, max_size=30).launch(debug=True)
demo.queue(concurrency_count=6, max_size=30).launch(debug=True, auth=eval(os.environ.get("AUTHENTICATION"))) |