Source code for langchain_core.example_selectors.base

"""Interface for selecting examples to include in prompts."""
from abc import ABC, abstractmethod
from typing import Any, Dict, List

from langchain_core.runnables import run_in_executor


[docs]class BaseExampleSelector(ABC): """Interface for selecting examples to include in prompts."""
[docs] @abstractmethod def add_example(self, example: Dict[str, str]) -> Any: """Add new example to store."""
[docs] async def aadd_example(self, example: Dict[str, str]) -> Any: """Add new example to store.""" return await run_in_executor(None, self.add_example, example)
[docs] @abstractmethod def select_examples(self, input_variables: Dict[str, str]) -> List[dict]: """Select which examples to use based on the inputs."""
[docs] async def aselect_examples(self, input_variables: Dict[str, str]) -> List[dict]: """Select which examples to use based on the inputs.""" return await run_in_executor(None, self.select_examples, input_variables)