Prompt 提示¶
介绍¶
Prompt提示主要是整合Prompt提示词模板,依据不同的输入动态地构造为Prompt提示,用于LLM内容生成。
因为在整个TFRobot工作流程中,上下文会自动维护,所以结合上下文的不同内容,会有不同的Prompt提示子类,帮助使用者更容易地使用动态上下文中的内容。
Prompt子类¶
AdditionalInfoPrompt。此Prompt可以使用用户输入的Message中附加的additional_info字段作为其模板参数进行渲染。在每次向LLM发送内容前均会进行一次构建,因此,一旦用户修改了additional_info,则会自动更新Prompt提示。ConversationPrompt。此Prompt可以使用用户输入的Message中的对话历史作为其模板参数进行渲染。在因此随着用户与LLM会话的积累,模板内容可以动态地更新。ExamplePrompt。此Prompt可以管理示例,并且提供标准的Selector封装,用户可以使用不同的Select策略对示例进行召回,在降低LLM Context-Window的使用的前提下,保证一定的精确度。KnowledgePrompt。此Prompt可以动态地使用用户当前记忆召回的知识库内容进行模板构建,因此随着用户不同的输入而在记忆中召回的知识的变化,动态进行更新。MemoPrompt。此Prompt可以使用结合整个调用生命周中随时召回的文档相关记录进行模板构建,因此随着用户的不同输入,会有不同的文档记录召回,动态进行更新。ToolPrompt。此Prmpt可以结合工具集进行封装,比如对于一些不支持工具调用的开源模型,可以使用此ToolPrompt对标准工具封装为Prompt并且输入给大模型,同时ToolPrompt提供解析工具返回的手段,可以自动化地处理工具返回的抽取。ToolPrompt截止 2024-6-26 仍然是调用Claude API最有效的办法。虽然当前Claude提供了一个工具调用版本,但是调校仍然有些小问题,反而使用ToolPrompt的方式执行效果会更好一些。