core: Add async methods to LengthBasedExampleSelector (#19640)

pull/19662/head
Christophe Bornet 3 months ago committed by GitHub
parent c7f1962f73
commit 409c6eeb0b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -34,6 +34,10 @@ class LengthBasedExampleSelector(BaseExampleSelector, BaseModel):
string_example = self.example_prompt.format(**example)
self.example_text_lengths.append(self.get_text_length(string_example))
async def aadd_example(self, example: Dict[str, str]) -> None:
"""Add new example to list."""
self.add_example(example)
@validator("example_text_lengths", always=True)
def calculate_example_text_lengths(cls, v: List[int], values: Dict) -> List[int]:
"""Calculate text lengths if they don't exist."""
@ -61,3 +65,7 @@ class LengthBasedExampleSelector(BaseExampleSelector, BaseModel):
remaining_length = new_length
i += 1
return examples
async def aselect_examples(self, input_variables: Dict[str, str]) -> List[dict]:
"""Select which examples to use based on the input lengths."""
return self.select_examples(input_variables)

Loading…
Cancel
Save