菜单

高级特性

相关源文件

本文档介绍了GPT Academic系统的先进功能,这些功能扩展了其超越基本功能的能力。其中包括对复杂文本格式的专门处理、用于实时信息检索的互联网连接,以及用于系统配置和管理的工具。有关插件开发的信息,请参阅插件开发

1. Void Terminal

Void Terminal是GPT Academic中一个强大的类似命令行的接口,它允许通过自然语言命令执行高级操作。它无需通过常规UI导航即可直接访问系统功能和插件执行。

Void Terminal在交互之间维护状态,支持多步操作。它使用LLM来解释自然语言命令,并将其路由到相应的系统功能。

1.1 Terminal状态管理

Terminal使用在VoidTerminalState类中实现的专用状态管理系统来跨交互维护状态。

状态被序列化并存储在cookie中,以在交互之间保持上下文,从而使Terminal能够记住先前的命令和上下文。

来源: crazy_functions/vt_fns/vt_state.py1-27

1.2 动态插件执行

Terminal可以根据自然语言命令动态执行插件。它分析用户的请求并选择最合适的插件。

Void Terminal作为用户意图和系统能力之间的中介,利用LLM连接自然语言和特定代码函数之间的桥梁。

来源: crazy_functions/vt_fns/vt_call_plugin.py9-113

1.3 配置修改

Terminal允许通过自然语言命令直接修改系统配置。

这些命令由LLM处理,以提取特定的配置参数和期望值,然后根据参数立即或重启后应用于系统配置。

来源: crazy_functions/vt_fns/vt_modify_config.py9-82

2. 高级Markdown处理

GPT Academic包含一个复杂的Markdown处理系统,可以处理复杂的格式,包括LaTeX方程、带语法高亮的markdown代码块以及交互式元素。

Markdown处理管道包括对各种内容类型的专门处理,以确保正确渲染和功能。

2.1 LaTeX公式处理

系统为LaTeX数学公式提供特殊处理。

  1. 检测文本中的公式模式。
  2. 将公式转换为MathML以进行可视化渲染。
  3. 生成易于复制的纯文本版本公式。
  4. 支持行内($...$)和块状($$...$$)公式格式。

这种双重表示确保公式在UI中正确渲染,并且易于复制和操作。

来源: shared_utils/advanced_markdown_format.py53-90 shared_utils/advanced_markdown_format.py351-385

2.2 代码块增强

代码块享有特殊待遇。

  1. 基于语言的语法高亮。
  2. 流式传输期间自动补全未闭合的代码块。
  3. 支持代码块标题和文件名。
  4. 对mermaid图表的特殊处理。

系统在流式响应期间自动检测不完整的代码块,并添加闭合标记以确保正确渲染。

来源: shared_utils/advanced_markdown_format.py404-453 shared_utils/advanced_markdown_format.py16-51

2.3 HTML输出生成

Markdown处理最终会产生带有多个增强功能的HTML输出。

  1. 嵌入式样式表,用于一致的渲染。
  2. 原始文本编码,用于复制粘贴功能。
  3. 对非markdown输入的特殊处理。
  4. LRU缓存,以提高重复转换的性能。

此处理管道确保包括数学、代码和图表在内的复杂内容在UI中正确渲染。

来源: shared_utils/advanced_markdown_format.py272-351 shared_utils/advanced_markdown_format.py481-540

3. 联网LLM响应

GPT Academic可以扩展语言模型以支持互联网搜索功能,使其能够在响应中纳入最新的信息。

该系统允许LLM通过整合网络搜索结果来提供更及时、更准确的信息。

3.1 搜索查询优化

系统使用LLM本身来优化搜索查询。

  1. 分析用户问题和历史上下文。
  2. 生成多个优化的搜索查询以涵盖不同方面。
  3. 构建查询以最大化搜索引擎的相关结果。

这个过程通过聚焦于所需特定信息,显著提高了搜索结果的质量。

来源: crazy_functions/Internet_GPT.py16-105 crazy_functions/prompts/internet.py1-86

3.2 并行网页内容检索

系统高效地检索和处理网页内容。

  1. 向SearxNG(一个注重隐私的元搜索引擎)发出多个搜索请求。
  2. 从结果网页中抓取和提取干净的文本。
  3. 使用多线程并行执行这些操作。
  4. 根据相关性对结果进行去重和排序。

这提供了全面的信息集,以增强LLM的响应。

来源: crazy_functions/Internet_GPT.py107-201 crazy_functions/Internet_GPT.py293-320

3.3 与UI集成

互联网搜索功能已集成到UI中,提供了用户友好的体验。

  1. 在可折叠的UI元素中显示搜索进度和结果。
  2. 显示检索内容的来源和片段。
  3. 展示基于搜索结果的AI综合最终响应。

可以通过常规UI和Void Terminal访问此插件。

来源: crazy_functions/Internet_GPT.py254-336 crazy_functions/Internet_GPT_Wrap.py1-49

4. Pydantic处理JSON结构

GPT Academic使用一个强大的系统,基于Pydantic模型,在应用程序和LLM之间处理结构化的JSON数据。

该系统提供了一种从LLM获取结构化数据的健壮方法,并自动处理格式错误的响应。

4.1 定义预期结构

系统使用Pydantic模型来定义LLM响应的预期结构。

这些模型不仅定义了结构,还提供了描述,这些描述被包含在LLM提示中以指导响应生成。

来源: crazy_functions/json_fns/pydantic_io.py1-25 crazy_functions/vt_fns/vt_call_plugin.py54-56

4.2 验证和自动修复

系统包含针对JSON响应的健壮错误处理。

  1. 尝试从LLM响应中提取和解析JSON。
  2. 将解析的JSON与Pydantic模型进行验证。
  3. 如果验证失败,则生成一个解释错误的修复提示。
  4. 将修复提示发送给LLM以修复JSON。
  5. 再次尝试使用修复后的JSON进行验证。

此自动修复过程显著提高了从LLM提取结构化数据的可靠性。

来源: crazy_functions/json_fns/pydantic_io.py93-110 crazy_functions/vt_fns/vt_call_plugin.py67-84

5. 媒体处理功能

GPT Academic包含各种先进功能,用于处理媒体内容,包括音频文本转语音(TTS)、视频资源和图像处理。

5.1 文本转语音集成

系统支持多种TTS后端。

  1. Edge TTS - 微软提供的简单有效的TTS系统。
  2. SoVITS - 更先进的GPU加速语音克隆系统。

这些可以在系统设置中配置,为AI响应提供语音输出。

来源: docs/use_tts.md1-57

5.2 音频和视频资源

GPT Academic可以与音频和视频内容进行交互。

  1. 处理口语音频输入。
  2. 分析视频内容。
  3. 搜索和检索多媒体资源。

这些功能可通过专用插件访问。

来源: tests/test_media.py1-65

总结

GPT Academic的高级功能显著扩展了其超越基本LLM交互的能力。Void Terminal提供了一个强大的命令接口,高级Markdown处理实现了丰富的内容显示,互联网连接带来了实时信息,而结构化JSON处理则实现了可靠的复杂交互。这些功能相结合,为学术和技术领域的大型语言模型工作平台创造了一个多功能且强大的平台。