mirror of
https://github.com/langchain-ai/langchain.git
synced 2026-10-10 03:45:17 +03:00
4.1 KiB
4.1 KiB
In [1]:
from langchain.prompts.example_selector.base import BaseExampleSelector
from typing import Dict, List
import numpy as npIn [2]:
class CustomExampleSelector(BaseExampleSelector):
def __init__(self, examples: List[Dict[str, str]]):
self.examples = examples
def add_example(self, example: Dict[str, str]) -> None:
"""Add new example to store for a key."""
self.examples.append(example)
def select_examples(self, input_variables: Dict[str, str]) -> List[dict]:
"""Select which examples to use based on the inputs."""
return np.random.choice(self.examples, size=2, replace=False)In [3]:
examples = [{"foo": "1"}, {"foo": "2"}, {"foo": "3"}]
example_selector = CustomExampleSelector(examples)In [4]:
example_selector.select_examples({"foo": "foo"})Out [4]:
array([{'foo': '2'}, {'foo': '3'}], dtype=object)In [5]:
example_selector.add_example({"foo": "4"})In [6]:
example_selector.examplesOut [6]:
[{'foo': '1'}, {'foo': '2'}, {'foo': '3'}, {'foo': '4'}]In [7]:
example_selector.select_examples({"foo": "foo"})Out [7]:
array([{'foo': '1'}, {'foo': '4'}], dtype=object)In [ ]: