核心插件是 GPT Academic 系统功能的基本构建块。与可能涉及多个步骤或外部处理的更复杂的插件不同,核心插件主要通过在发送给语言模型之前添加预定义的提示(前缀和后缀)来转换用户输入。
有关开发自定义插件的信息,请参阅 插件开发。有关特定于学术的插件,请参阅 学术插件。
核心插件在 core_functional.py 中定义为一个插件配置字典。每个插件都有其独特purpose,并旨在高效处理特定的文本处理任务。
注册表中的每个核心插件都具有以下属性
Prefix:添加到用户输入前面的文本Suffix:附加到用户输入的文本Color:UI 中的按钮颜色(例如,“secondary”)Visible:插件是否显示在 UI 中(默认:True)AutoClearHistory:调用时是否清除聊天记录(默认:False)PreProcess:转换用户输入的可选函数ModelOverride:用于替代全局模型的可选模型当用户选择一个核心插件时,handle_core_functionality() 函数会处理输入
核心插件可以利用文本掩码系统,根据用户的语言显示不同的提示。这是通过使用指定英语和中文用户不同文本版本的特殊标签来实现的。
掩码系统在 shared_utils/text_mask.py 中实现,并使用类似 XML 的标签
<gpt_academic_string_mask>
<lang_english>English text</lang_english>
<lang_chinese>Chinese text</lang_chinese>
</gpt_academic_string_mask>
该系统会自动检测用户输入的语言并选择相应的提示文本。
来源:shared_utils/text_mask.py53-94 core_functional.py16-26 core_functional.py99-116
系统中包含以下核心插件
通过增强语法、清晰度和可读性来改进学术写作。
特性
生成输入文本的可视化摘要,作为 mermaid 流程图。
特性
识别文本中的语法和拼写错误。
特性
提供多种翻译插件
根据文本描述检索图片。
特性
提供代码片段的详细解释。
特性
将学术参考文献转换为 BibTeX 格式。
特性
系统允许定义自定义核心插件。自定义插件可以添加到 customize_fn_overwrite cookie 中,以覆盖或扩展内置功能。
当激活一个核心插件时,系统会首先检查它是否存在于自定义插件注册表中。如果找到,则使用自定义定义;否则,它会回退到内置定义。
核心插件作为按钮集成到 Gradio UI 中,用户可以单击这些按钮来激活特定的功能。每个插件中定义的属性(例如 Color 和 Visible)控制这些按钮在界面中的外观。
当单击插件按钮时,它会触发上述的处理流程,在将用户输入发送到语言模型之前,将其应用于用户输入。