Skip to main content

提示选择器

通常, 根据链中使用的模型类型,您会想要以编程方式选择提示。特别是在交换聊天模型和LLM时,这尤其重要。

提示选择器的界面非常简单。:

abstract class BasePromptSelector {

abstract getPrompt(llm: BaseLanguageModel): BasePromptTemplate;

}

getPrompt方法接受一个语言模型并返回一个适当的提示模板。

我们目前提供了一个ConditionalPromptSelector,允许您指定一组条件和提示模板。评估为true的第一个条件将用于选择提示模板。

const QA_PROMPT_SELECTOR = new ConditionalPromptSelector(DEFAULT_QA_PROMPT, [

[isChatModel, CHAT_PROMPT],

]);

如果该模型不是聊天模型,则返回DEFAULT_QA_PROMPT,如果是,则返回CHAT_PROMPT

下面的示例展示了如何在加载链时使用提示选择器。:


const loadQAStuffChain = (

llm: BaseLanguageModel,

params: StuffQAChainParams = {}

) => {

const { prompt = QA_PROMPT_SELECTOR.getPrompt(llm) } = params;

const llmChain = new LLMChain({ prompt, llm });

const chain = new StuffDocumentsChain({ llmChain });

return chain;

};