Fix subclassing OpenAIEmbeddings (#4500)

# Fix subclassing OpenAIEmbeddings

Fixes #4498 

## Before submitting

- Problem: Due to annotated type `Tuple[()]`.
- Fix: Change the annotated type to "Iterable[str]". Even though
tiktoken use
[Collection[str]](095924e02c/tiktoken/core.py (L80))
type annotation, but pydantic doesn't support Collection type, and
[Iterable](https://docs.pydantic.dev/latest/usage/types/#typing-iterables)
is the closest to Collection.
dynamic_agent_tools
Nguyen Trung Duc (john) 1 year ago committed by GitHub
parent 08df80bed6
commit 49e4aaf673
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -9,6 +9,7 @@ from typing import (
List,
Literal,
Optional,
Sequence,
Set,
Tuple,
Union,
@ -115,7 +116,7 @@ class OpenAIEmbeddings(BaseModel, Embeddings):
openai_api_key: Optional[str] = None
openai_organization: Optional[str] = None
allowed_special: Union[Literal["all"], Set[str]] = set()
disallowed_special: Union[Literal["all"], Set[str], Tuple[()]] = "all"
disallowed_special: Union[Literal["all"], Set[str], Sequence[str]] = "all"
chunk_size: int = 1000
"""Maximum number of texts to embed in each batch"""
max_retries: int = 6

Loading…
Cancel
Save