Spaces:
Running
Running
GitHub Action
commited on
Commit
·
875b439
1
Parent(s):
efd0da0
Sync ling-space changes from GitHub commit 08fb219
Browse files- i18n/core.py +2 -2
- i18n/recommended_inputs.py +87 -0
- recommand_config.py +50 -50
- tab_chat.py +11 -5
i18n/core.py
CHANGED
|
@@ -1,8 +1,8 @@
|
|
| 1 |
# ling-space/i18n/core.py
|
| 2 |
from typing import Dict
|
| 3 |
-
from . import common, tab_chat, tab_code, tab_smart_writer, tab_welcome
|
| 4 |
|
| 5 |
-
MODULES = [common, tab_chat, tab_code, tab_smart_writer, tab_welcome]
|
| 6 |
|
| 7 |
class I18nManager:
|
| 8 |
def __init__(self):
|
|
|
|
| 1 |
# ling-space/i18n/core.py
|
| 2 |
from typing import Dict
|
| 3 |
+
from . import common, tab_chat, tab_code, tab_smart_writer, tab_welcome, recommended_inputs
|
| 4 |
|
| 5 |
+
MODULES = [common, tab_chat, tab_code, tab_smart_writer, tab_welcome, recommended_inputs]
|
| 6 |
|
| 7 |
class I18nManager:
|
| 8 |
def __init__(self):
|
i18n/recommended_inputs.py
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# ling-space/i18n/recommended_inputs.py
|
| 2 |
+
|
| 3 |
+
ui_translations = {
|
| 4 |
+
# Creative Writing
|
| 5 |
+
"rec_creative_writing_task": {
|
| 6 |
+
"en": "Creative Writing",
|
| 7 |
+
"zh": "创意写作"
|
| 8 |
+
},
|
| 9 |
+
"rec_creative_writing_system_prompt": {
|
| 10 |
+
"en": "You are a talented writer, skilled in crafting imaginative stories.",
|
| 11 |
+
"zh": "你是一位才华横溢的作家,擅长创作富有想象力的故事。"
|
| 12 |
+
},
|
| 13 |
+
"rec_creative_writing_user_message": {
|
| 14 |
+
"en": "Write a short story about a talking cat and its robot friend.",
|
| 15 |
+
"zh": "写一个关于一只会说话的猫和它的机器人朋友的短篇故事。"
|
| 16 |
+
},
|
| 17 |
+
|
| 18 |
+
# Code Generation
|
| 19 |
+
"rec_code_generation_task": {
|
| 20 |
+
"en": "Code Generation",
|
| 21 |
+
"zh": "代码生成"
|
| 22 |
+
},
|
| 23 |
+
"rec_code_generation_system_prompt": {
|
| 24 |
+
"en": "You are an AI programming assistant proficient in multiple programming languages.",
|
| 25 |
+
"zh": "你是一个精通多种编程语言的 AI 编程助手。"
|
| 26 |
+
},
|
| 27 |
+
"rec_code_generation_user_message": {
|
| 28 |
+
"en": "Write a Python function to calculate the Fibonacci sequence in a list.",
|
| 29 |
+
"zh": "用 Python 写一个函数,计算一个列表中的斐波那契数列。"
|
| 30 |
+
},
|
| 31 |
+
|
| 32 |
+
# Email Drafting
|
| 33 |
+
"rec_email_drafting_task": {
|
| 34 |
+
"en": "Email Drafting",
|
| 35 |
+
"zh": "邮件撰写"
|
| 36 |
+
},
|
| 37 |
+
"rec_email_drafting_system_prompt": {
|
| 38 |
+
"en": "You are a professional business assistant, skilled in drafting clear, concise business emails.",
|
| 39 |
+
"zh": "你是一位专业的商务助理,擅长撰写清晰、简洁的商务邮件。"
|
| 40 |
+
},
|
| 41 |
+
"rec_email_drafting_user_message": {
|
| 42 |
+
"en": "Help me write an email to my team members announcing a project kick-off meeting next Friday afternoon.",
|
| 43 |
+
"zh": "帮我写一封邮件,向我的团队成员宣布我们下周五下午将举行一个项目启动会议。"
|
| 44 |
+
},
|
| 45 |
+
|
| 46 |
+
# Study Plan
|
| 47 |
+
"rec_study_plan_task": {
|
| 48 |
+
"en": "Study Plan",
|
| 49 |
+
"zh": "学习计划"
|
| 50 |
+
},
|
| 51 |
+
"rec_study_plan_system_prompt": {
|
| 52 |
+
"en": "You are an experienced learning mentor who can tailor study plans for users.",
|
| 53 |
+
"zh": "你是一位经验丰富的学习导师,能够为用户量身定制学习计划。"
|
| 54 |
+
},
|
| 55 |
+
"rec_study_plan_user_message": {
|
| 56 |
+
"en": "I want to learn to play the guitar. Please create a one-month beginner's introductory plan for me.",
|
| 57 |
+
"zh": "我想学习弹吉他,请为我制定一个为期一个月的初学者入门计划。"
|
| 58 |
+
},
|
| 59 |
+
|
| 60 |
+
# Role Play
|
| 61 |
+
"rec_role_play_task": {
|
| 62 |
+
"en": "Role Play",
|
| 63 |
+
"zh": "角色扮演"
|
| 64 |
+
},
|
| 65 |
+
"rec_role_play_system_prompt": {
|
| 66 |
+
"en": "You are Shakespeare. Please answer questions in his style and language.",
|
| 67 |
+
"zh": "你现在是莎士比亚,请用他的风格和语言来回答问题。"
|
| 68 |
+
},
|
| 69 |
+
"rec_role_play_user_message": {
|
| 70 |
+
"en": "To be or not to be, that is the question.",
|
| 71 |
+
"zh": "生存还是毁灭,这是一个值得考虑的问题。"
|
| 72 |
+
},
|
| 73 |
+
|
| 74 |
+
# Tech Q&A
|
| 75 |
+
"rec_tech_qa_task": {
|
| 76 |
+
"en": "Tech Q&A",
|
| 77 |
+
"zh": "技术问答"
|
| 78 |
+
},
|
| 79 |
+
"rec_tech_qa_system_prompt": {
|
| 80 |
+
"en": "You are a senior software engineer, proficient in various tech stacks.",
|
| 81 |
+
"zh": "你是一位资深的软件工程师,精通各种技术栈。"
|
| 82 |
+
},
|
| 83 |
+
"rec_tech_qa_user_message": {
|
| 84 |
+
"en": "Please explain 'containerization' and how it differs from 'virtualization'?",
|
| 85 |
+
"zh": "请解释一下什么是“容器化”,以及它与“虚拟化”有什么区别?"
|
| 86 |
+
}
|
| 87 |
+
}
|
recommand_config.py
CHANGED
|
@@ -1,53 +1,53 @@
|
|
| 1 |
-
# -*- coding: utf-8 -*-
|
| 2 |
-
|
| 3 |
from config import LING_1T, LING_FLASH_2_0, RING_1T, RING_FLASH_2_0, LING_MINI_2_0, RING_MINI_2_0, get_model_display_name
|
|
|
|
| 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 |
-
]
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
from config import LING_1T, LING_FLASH_2_0, RING_1T, RING_FLASH_2_0, LING_MINI_2_0, RING_MINI_2_0, get_model_display_name
|
| 2 |
+
from i18n import get_text
|
| 3 |
|
| 4 |
+
def get_recommended_inputs(lang: str):
|
| 5 |
+
"""
|
| 6 |
+
Generates the list of recommended inputs based on the selected language.
|
| 7 |
+
"""
|
| 8 |
|
| 9 |
+
result = [
|
| 10 |
+
{
|
| 11 |
+
"task": get_text("rec_creative_writing_task", lang),
|
| 12 |
+
"model": get_model_display_name(LING_1T),
|
| 13 |
+
"system_prompt": get_text("rec_creative_writing_system_prompt", lang),
|
| 14 |
+
"user_message": get_text("rec_creative_writing_user_message", lang),
|
| 15 |
+
"temperature": 0.8,
|
| 16 |
+
},
|
| 17 |
+
{
|
| 18 |
+
"task": get_text("rec_code_generation_task", lang),
|
| 19 |
+
"model": get_model_display_name(RING_1T),
|
| 20 |
+
"system_prompt": get_text("rec_code_generation_system_prompt", lang),
|
| 21 |
+
"user_message": get_text("rec_code_generation_user_message", lang),
|
| 22 |
+
"temperature": 0.2,
|
| 23 |
+
},
|
| 24 |
+
{
|
| 25 |
+
"task": get_text("rec_email_drafting_task", lang),
|
| 26 |
+
"model": get_model_display_name(LING_FLASH_2_0),
|
| 27 |
+
"system_prompt": get_text("rec_email_drafting_system_prompt", lang),
|
| 28 |
+
"user_message": get_text("rec_email_drafting_user_message", lang),
|
| 29 |
+
"temperature": 0.7,
|
| 30 |
+
},
|
| 31 |
+
{
|
| 32 |
+
"task": get_text("rec_study_plan_task", lang),
|
| 33 |
+
"model": get_model_display_name(LING_MINI_2_0),
|
| 34 |
+
"system_prompt": get_text("rec_study_plan_system_prompt", lang),
|
| 35 |
+
"user_message": get_text("rec_study_plan_user_message", lang),
|
| 36 |
+
"temperature": 0.6,
|
| 37 |
+
},
|
| 38 |
+
{
|
| 39 |
+
"task": get_text("rec_role_play_task", lang),
|
| 40 |
+
"model": get_model_display_name(RING_FLASH_2_0),
|
| 41 |
+
"system_prompt": get_text("rec_role_play_system_prompt", lang),
|
| 42 |
+
"user_message": get_text("rec_role_play_user_message", lang),
|
| 43 |
+
"temperature": 0.9,
|
| 44 |
+
},
|
| 45 |
+
{
|
| 46 |
+
"task": get_text("rec_tech_qa_task", lang),
|
| 47 |
+
"model": get_model_display_name(RING_MINI_2_0),
|
| 48 |
+
"system_prompt": get_text("rec_tech_qa_system_prompt", lang),
|
| 49 |
+
"user_message": get_text("rec_tech_qa_user_message", lang),
|
| 50 |
+
"temperature": 0.4,
|
| 51 |
+
}
|
| 52 |
+
]
|
| 53 |
+
return result;
|
tab_chat.py
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
|
|
| 1 |
import gradio as gr
|
| 2 |
import uuid
|
| 3 |
from datetime import datetime
|
|
@@ -5,7 +6,7 @@ import pandas as pd
|
|
| 5 |
import re
|
| 6 |
from model_handler import ModelHandler
|
| 7 |
from config import CHAT_MODEL_SPECS, LING_1T
|
| 8 |
-
from recommand_config import
|
| 9 |
from ui_components.model_selector import create_model_selector
|
| 10 |
from i18n import get_text
|
| 11 |
|
|
@@ -200,7 +201,7 @@ def create_chat_tab(initial_lang: str, current_lang_state: gr.State):
|
|
| 200 |
recommended_title = gr.Markdown(get_text('chat_recommended_dialogues_title', initial_lang))
|
| 201 |
recommended_dataset = gr.Dataset(
|
| 202 |
components=[gr.Textbox(visible=False)],
|
| 203 |
-
samples=[[item["task"]] for item in
|
| 204 |
label=get_text('chat_recommended_dataset_label', initial_lang),
|
| 205 |
headers=[get_text('chat_recommended_dataset_header', initial_lang)],
|
| 206 |
)
|
|
@@ -219,8 +220,9 @@ def create_chat_tab(initial_lang: str, current_lang_state: gr.State):
|
|
| 219 |
# --- Event Handlers --- #
|
| 220 |
def on_select_recommendation(evt: gr.SelectData, history, current_conv_id, lang):
|
| 221 |
selected_task = evt.value[0]
|
| 222 |
-
item = next((i for i in
|
| 223 |
-
if not item:
|
|
|
|
| 224 |
|
| 225 |
new_id, new_history, new_messages, history_df_update = handle_new_chat(history, current_conv_id, lang)
|
| 226 |
|
|
@@ -322,7 +324,11 @@ def update_language(lang: str, components: dict):
|
|
| 322 |
components["textbox"]: gr.update(placeholder=get_text('chat_textbox_placeholder', lang)),
|
| 323 |
components["submit_btn"]: gr.update(value=get_text('chat_submit_button', lang)),
|
| 324 |
components["recommended_title"]: gr.update(value=get_text('chat_recommended_dialogues_title', lang)),
|
| 325 |
-
components["recommended_dataset"]: gr.update(
|
|
|
|
|
|
|
|
|
|
|
|
|
| 326 |
components["system_prompt_textbox"]: gr.update(label=get_text('chat_system_prompt_label', lang), placeholder=get_text('chat_system_prompt_placeholder', lang)),
|
| 327 |
components["temperature_slider"]: gr.update(label=get_text('chat_temperature_slider_label', lang)),
|
| 328 |
}
|
|
|
|
| 1 |
+
from mimetypes import init
|
| 2 |
import gradio as gr
|
| 3 |
import uuid
|
| 4 |
from datetime import datetime
|
|
|
|
| 6 |
import re
|
| 7 |
from model_handler import ModelHandler
|
| 8 |
from config import CHAT_MODEL_SPECS, LING_1T
|
| 9 |
+
from recommand_config import get_recommended_inputs
|
| 10 |
from ui_components.model_selector import create_model_selector
|
| 11 |
from i18n import get_text
|
| 12 |
|
|
|
|
| 201 |
recommended_title = gr.Markdown(get_text('chat_recommended_dialogues_title', initial_lang))
|
| 202 |
recommended_dataset = gr.Dataset(
|
| 203 |
components=[gr.Textbox(visible=False)],
|
| 204 |
+
samples=[[item["task"]] for item in get_recommended_inputs(initial_lang)],
|
| 205 |
label=get_text('chat_recommended_dataset_label', initial_lang),
|
| 206 |
headers=[get_text('chat_recommended_dataset_header', initial_lang)],
|
| 207 |
)
|
|
|
|
| 220 |
# --- Event Handlers --- #
|
| 221 |
def on_select_recommendation(evt: gr.SelectData, history, current_conv_id, lang):
|
| 222 |
selected_task = evt.value[0]
|
| 223 |
+
item = next((i for i in get_recommended_inputs(lang) if i["task"] == selected_task), None)
|
| 224 |
+
if not item:
|
| 225 |
+
return gr.update(), gr.update(), gr.update(), gr.update(), gr.update(), gr.update(), gr.update(), gr.update()
|
| 226 |
|
| 227 |
new_id, new_history, new_messages, history_df_update = handle_new_chat(history, current_conv_id, lang)
|
| 228 |
|
|
|
|
| 324 |
components["textbox"]: gr.update(placeholder=get_text('chat_textbox_placeholder', lang)),
|
| 325 |
components["submit_btn"]: gr.update(value=get_text('chat_submit_button', lang)),
|
| 326 |
components["recommended_title"]: gr.update(value=get_text('chat_recommended_dialogues_title', lang)),
|
| 327 |
+
components["recommended_dataset"]: gr.update(
|
| 328 |
+
samples=[[item["task"]] for item in get_recommended_inputs(lang)],
|
| 329 |
+
label=get_text('chat_recommended_dataset_label', lang),
|
| 330 |
+
headers=[get_text('chat_recommended_dataset_header', lang)],
|
| 331 |
+
),
|
| 332 |
components["system_prompt_textbox"]: gr.update(label=get_text('chat_system_prompt_label', lang), placeholder=get_text('chat_system_prompt_placeholder', lang)),
|
| 333 |
components["temperature_slider"]: gr.update(label=get_text('chat_temperature_slider_label', lang)),
|
| 334 |
}
|