Example selectors #
https://python.langchain.com/docs/concepts/#example-selectors
示例选择器 - 一种常见的提示技巧是将示例作为提示的一部分来提高性能,这被称为少样本提示(few-shot prompting)。这为语言模型提供了具体的行为示例。
有时这些示例是硬编码到提示中的,但在更高级的情况下,可能需要动态选择它们。示例选择器是负责选择并将示例格式化为提示(prompts)的类。
有关如何使用示例选择器的具体说明,请参阅此处的相关操作指南。
classDiagram class PromptTemplate { +input_variables: list +template: str } class FewShotPromptTemplate { +example_selector: ExampleSelector +example_prompt: PromptTemplate +prefix: str +suffix: str +input_variables: list } class BaseExampleSelector { +add_example(example: dict) +select_examples(input_variables: dict): list } class LengthBasedExampleSelector { +examples: list +example_prompt: PromptTemplate +max_length: int +get_text_length: Callable } FewShotPromptTemplate --> BaseExampleSelector FewShotPromptTemplate --> PromptTemplate LengthBasedExampleSelector --|> BaseExampleSelector LengthBasedExampleSelector --> PromptTemplate class MaxMarginalRelevanceExampleSelector { +examples: list +embedding: Embeddings +vectorstore: VectorStore +k: int } MaxMarginalRelevanceExampleSelector --|> BaseExampleSelector class SemanticSimilarityExampleSelector { +examples: list +embedding: Embeddings +vectorstore: VectorStore +k: int } SemanticSimilarityExampleSelector --|> BaseExampleSelector class NGramOverlapExampleSelector { +examples: list +example_prompt: PromptTemplate +threshold: float } NGramOverlapExampleSelector --|> BaseExampleSelector