mirror of
https://github.com/hwchase17/langchain
synced 2024-11-02 09:40:22 +00:00
bump openai support (#13262)
This commit is contained in:
parent
9545f0666d
commit
38180ad25f
@ -180,8 +180,8 @@ class ChatOpenAI(BaseChatModel):
|
|||||||
"""Return whether this model can be serialized by Langchain."""
|
"""Return whether this model can be serialized by Langchain."""
|
||||||
return True
|
return True
|
||||||
|
|
||||||
client: Any = None #: :meta private:
|
client: Any = Field(default=None, exclude=True) #: :meta private:
|
||||||
async_client: Any = None #: :meta private:
|
async_client: Any = Field(default=None, exclude=True) #: :meta private:
|
||||||
model_name: str = Field(default="gpt-3.5-turbo", alias="model")
|
model_name: str = Field(default="gpt-3.5-turbo", alias="model")
|
||||||
"""Model name to use."""
|
"""Model name to use."""
|
||||||
temperature: float = 0.7
|
temperature: float = 0.7
|
||||||
@ -307,12 +307,17 @@ class ChatOpenAI(BaseChatModel):
|
|||||||
"default_query": values["default_query"],
|
"default_query": values["default_query"],
|
||||||
"http_client": values["http_client"],
|
"http_client": values["http_client"],
|
||||||
}
|
}
|
||||||
values["client"] = openai.OpenAI(**client_params).chat.completions
|
|
||||||
values["async_client"] = openai.AsyncOpenAI(
|
if not values.get("client"):
|
||||||
**client_params
|
values["client"] = openai.OpenAI(**client_params).chat.completions
|
||||||
).chat.completions
|
if not values.get("async_client"):
|
||||||
else:
|
values["async_client"] = openai.AsyncOpenAI(
|
||||||
|
**client_params
|
||||||
|
).chat.completions
|
||||||
|
elif not values.get("client"):
|
||||||
values["client"] = openai.ChatCompletion
|
values["client"] = openai.ChatCompletion
|
||||||
|
else:
|
||||||
|
pass
|
||||||
return values
|
return values
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
@ -175,8 +175,8 @@ class OpenAIEmbeddings(BaseModel, Embeddings):
|
|||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
client: Any = None #: :meta private:
|
client: Any = Field(default=None, exclude=True) #: :meta private:
|
||||||
async_client: Any = None #: :meta private:
|
async_client: Any = Field(default=None, exclude=True) #: :meta private:
|
||||||
model: str = "text-embedding-ada-002"
|
model: str = "text-embedding-ada-002"
|
||||||
# to support Azure OpenAI Service custom deployment names
|
# to support Azure OpenAI Service custom deployment names
|
||||||
deployment: Optional[str] = model
|
deployment: Optional[str] = model
|
||||||
@ -330,10 +330,16 @@ class OpenAIEmbeddings(BaseModel, Embeddings):
|
|||||||
"default_query": values["default_query"],
|
"default_query": values["default_query"],
|
||||||
"http_client": values["http_client"],
|
"http_client": values["http_client"],
|
||||||
}
|
}
|
||||||
values["client"] = openai.OpenAI(**client_params).embeddings
|
if not values.get("client"):
|
||||||
values["async_client"] = openai.AsyncOpenAI(**client_params).embeddings
|
values["client"] = openai.OpenAI(**client_params).embeddings
|
||||||
else:
|
if not values.get("async_client"):
|
||||||
|
values["async_client"] = openai.AsyncOpenAI(
|
||||||
|
**client_params
|
||||||
|
).embeddings
|
||||||
|
elif not values.get("client"):
|
||||||
values["client"] = openai.Embedding
|
values["client"] = openai.Embedding
|
||||||
|
else:
|
||||||
|
pass
|
||||||
return values
|
return values
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
@ -166,8 +166,8 @@ class BaseOpenAI(BaseLLM):
|
|||||||
def is_lc_serializable(cls) -> bool:
|
def is_lc_serializable(cls) -> bool:
|
||||||
return True
|
return True
|
||||||
|
|
||||||
client: Any = None #: :meta private:
|
client: Any = Field(default=None, exclude=True) #: :meta private:
|
||||||
async_client: Any = None #: :meta private:
|
async_client: Any = Field(default=None, exclude=True) #: :meta private:
|
||||||
model_name: str = Field(default="text-davinci-003", alias="model")
|
model_name: str = Field(default="text-davinci-003", alias="model")
|
||||||
"""Model name to use."""
|
"""Model name to use."""
|
||||||
temperature: float = 0.7
|
temperature: float = 0.7
|
||||||
@ -309,10 +309,14 @@ class BaseOpenAI(BaseLLM):
|
|||||||
"default_query": values["default_query"],
|
"default_query": values["default_query"],
|
||||||
"http_client": values["http_client"],
|
"http_client": values["http_client"],
|
||||||
}
|
}
|
||||||
values["client"] = openai.OpenAI(**client_params).completions
|
if not values.get("client"):
|
||||||
values["async_client"] = openai.AsyncOpenAI(**client_params).completions
|
values["client"] = openai.OpenAI(**client_params).completions
|
||||||
else:
|
if not values.get("async_client"):
|
||||||
|
values["async_client"] = openai.AsyncOpenAI(**client_params).completions
|
||||||
|
elif not values.get("client"):
|
||||||
values["client"] = openai.Completion
|
values["client"] = openai.Completion
|
||||||
|
else:
|
||||||
|
pass
|
||||||
|
|
||||||
return values
|
return values
|
||||||
|
|
||||||
@ -946,10 +950,8 @@ class OpenAIChat(BaseLLM):
|
|||||||
openaichat = OpenAIChat(model_name="gpt-3.5-turbo")
|
openaichat = OpenAIChat(model_name="gpt-3.5-turbo")
|
||||||
"""
|
"""
|
||||||
|
|
||||||
client: Any #: :meta private:
|
client: Any = Field(default=None, exclude=True) #: :meta private:
|
||||||
|
async_client: Any = Field(default=None, exclude=True) #: :meta private:
|
||||||
# this is for compatibility with Union types in helper functions
|
|
||||||
async_client: Any #: :meta private:
|
|
||||||
model_name: str = "gpt-3.5-turbo"
|
model_name: str = "gpt-3.5-turbo"
|
||||||
"""Model name to use."""
|
"""Model name to use."""
|
||||||
model_kwargs: Dict[str, Any] = Field(default_factory=dict)
|
model_kwargs: Dict[str, Any] = Field(default_factory=dict)
|
||||||
|
45
libs/langchain/poetry.lock
generated
45
libs/langchain/poetry.lock
generated
@ -958,8 +958,8 @@ files = [
|
|||||||
jmespath = ">=0.7.1,<2.0.0"
|
jmespath = ">=0.7.1,<2.0.0"
|
||||||
python-dateutil = ">=2.1,<3.0.0"
|
python-dateutil = ">=2.1,<3.0.0"
|
||||||
urllib3 = [
|
urllib3 = [
|
||||||
{version = ">=1.25.4,<1.27", markers = "python_version < \"3.10\""},
|
|
||||||
{version = ">=1.25.4,<2.1", markers = "python_version >= \"3.10\""},
|
{version = ">=1.25.4,<2.1", markers = "python_version >= \"3.10\""},
|
||||||
|
{version = ">=1.25.4,<1.27", markers = "python_version < \"3.10\""},
|
||||||
]
|
]
|
||||||
|
|
||||||
[package.extras]
|
[package.extras]
|
||||||
@ -1771,8 +1771,8 @@ files = [
|
|||||||
[package.dependencies]
|
[package.dependencies]
|
||||||
aiohttp = ">=3.1.0,<4.0.0"
|
aiohttp = ">=3.1.0,<4.0.0"
|
||||||
grpcio = [
|
grpcio = [
|
||||||
{version = ">=1.22.0", markers = "python_version < \"3.11\""},
|
|
||||||
{version = ">=1.49.1", markers = "python_version >= \"3.11\""},
|
{version = ">=1.49.1", markers = "python_version >= \"3.11\""},
|
||||||
|
{version = ">=1.22.0", markers = "python_version < \"3.11\""},
|
||||||
]
|
]
|
||||||
numpy = "*"
|
numpy = "*"
|
||||||
protobuf = ">=3.8.0,<4.0.0"
|
protobuf = ">=3.8.0,<4.0.0"
|
||||||
@ -2763,8 +2763,8 @@ files = [
|
|||||||
[package.dependencies]
|
[package.dependencies]
|
||||||
google-api-core = {version = ">=1.34.0,<2.0.dev0 || >=2.11.dev0,<3.0.0dev", extras = ["grpc"]}
|
google-api-core = {version = ">=1.34.0,<2.0.dev0 || >=2.11.dev0,<3.0.0dev", extras = ["grpc"]}
|
||||||
proto-plus = [
|
proto-plus = [
|
||||||
{version = ">=1.22.0,<2.0.0dev", markers = "python_version < \"3.11\""},
|
|
||||||
{version = ">=1.22.2,<2.0.0dev", markers = "python_version >= \"3.11\""},
|
{version = ">=1.22.2,<2.0.0dev", markers = "python_version >= \"3.11\""},
|
||||||
|
{version = ">=1.22.0,<2.0.0dev", markers = "python_version < \"3.11\""},
|
||||||
]
|
]
|
||||||
protobuf = ">=3.19.5,<3.20.0 || >3.20.0,<3.20.1 || >3.20.1,<4.21.0 || >4.21.0,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<5.0.0dev"
|
protobuf = ">=3.19.5,<3.20.0 || >3.20.0,<3.20.1 || >3.20.1,<4.21.0 || >4.21.0,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<5.0.0dev"
|
||||||
|
|
||||||
@ -2892,7 +2892,7 @@ files = [
|
|||||||
{file = "greenlet-3.0.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0b72b802496cccbd9b31acea72b6f87e7771ccfd7f7927437d592e5c92ed703c"},
|
{file = "greenlet-3.0.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0b72b802496cccbd9b31acea72b6f87e7771ccfd7f7927437d592e5c92ed703c"},
|
||||||
{file = "greenlet-3.0.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:527cd90ba3d8d7ae7dceb06fda619895768a46a1b4e423bdb24c1969823b8362"},
|
{file = "greenlet-3.0.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:527cd90ba3d8d7ae7dceb06fda619895768a46a1b4e423bdb24c1969823b8362"},
|
||||||
{file = "greenlet-3.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:37f60b3a42d8b5499be910d1267b24355c495064f271cfe74bf28b17b099133c"},
|
{file = "greenlet-3.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:37f60b3a42d8b5499be910d1267b24355c495064f271cfe74bf28b17b099133c"},
|
||||||
{file = "greenlet-3.0.0-cp311-universal2-macosx_10_9_universal2.whl", hash = "sha256:c3692ecf3fe754c8c0f2c95ff19626584459eab110eaab66413b1e7425cd84e9"},
|
{file = "greenlet-3.0.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:1482fba7fbed96ea7842b5a7fc11d61727e8be75a077e603e8ab49d24e234383"},
|
||||||
{file = "greenlet-3.0.0-cp312-cp312-macosx_13_0_arm64.whl", hash = "sha256:be557119bf467d37a8099d91fbf11b2de5eb1fd5fc5b91598407574848dc910f"},
|
{file = "greenlet-3.0.0-cp312-cp312-macosx_13_0_arm64.whl", hash = "sha256:be557119bf467d37a8099d91fbf11b2de5eb1fd5fc5b91598407574848dc910f"},
|
||||||
{file = "greenlet-3.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:73b2f1922a39d5d59cc0e597987300df3396b148a9bd10b76a058a2f2772fc04"},
|
{file = "greenlet-3.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:73b2f1922a39d5d59cc0e597987300df3396b148a9bd10b76a058a2f2772fc04"},
|
||||||
{file = "greenlet-3.0.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d1e22c22f7826096ad503e9bb681b05b8c1f5a8138469b255eb91f26a76634f2"},
|
{file = "greenlet-3.0.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d1e22c22f7826096ad503e9bb681b05b8c1f5a8138469b255eb91f26a76634f2"},
|
||||||
@ -2902,7 +2902,6 @@ files = [
|
|||||||
{file = "greenlet-3.0.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:952256c2bc5b4ee8df8dfc54fc4de330970bf5d79253c863fb5e6761f00dda35"},
|
{file = "greenlet-3.0.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:952256c2bc5b4ee8df8dfc54fc4de330970bf5d79253c863fb5e6761f00dda35"},
|
||||||
{file = "greenlet-3.0.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:269d06fa0f9624455ce08ae0179430eea61085e3cf6457f05982b37fd2cefe17"},
|
{file = "greenlet-3.0.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:269d06fa0f9624455ce08ae0179430eea61085e3cf6457f05982b37fd2cefe17"},
|
||||||
{file = "greenlet-3.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:9adbd8ecf097e34ada8efde9b6fec4dd2a903b1e98037adf72d12993a1c80b51"},
|
{file = "greenlet-3.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:9adbd8ecf097e34ada8efde9b6fec4dd2a903b1e98037adf72d12993a1c80b51"},
|
||||||
{file = "greenlet-3.0.0-cp312-universal2-macosx_10_9_universal2.whl", hash = "sha256:553d6fb2324e7f4f0899e5ad2c427a4579ed4873f42124beba763f16032959af"},
|
|
||||||
{file = "greenlet-3.0.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c6b5ce7f40f0e2f8b88c28e6691ca6806814157ff05e794cdd161be928550f4c"},
|
{file = "greenlet-3.0.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c6b5ce7f40f0e2f8b88c28e6691ca6806814157ff05e794cdd161be928550f4c"},
|
||||||
{file = "greenlet-3.0.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ecf94aa539e97a8411b5ea52fc6ccd8371be9550c4041011a091eb8b3ca1d810"},
|
{file = "greenlet-3.0.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ecf94aa539e97a8411b5ea52fc6ccd8371be9550c4041011a091eb8b3ca1d810"},
|
||||||
{file = "greenlet-3.0.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:80dcd3c938cbcac986c5c92779db8e8ce51a89a849c135172c88ecbdc8c056b7"},
|
{file = "greenlet-3.0.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:80dcd3c938cbcac986c5c92779db8e8ce51a89a849c135172c88ecbdc8c056b7"},
|
||||||
@ -2935,6 +2934,7 @@ files = [
|
|||||||
{file = "greenlet-3.0.0-cp39-cp39-win32.whl", hash = "sha256:0d3f83ffb18dc57243e0151331e3c383b05e5b6c5029ac29f754745c800f8ed9"},
|
{file = "greenlet-3.0.0-cp39-cp39-win32.whl", hash = "sha256:0d3f83ffb18dc57243e0151331e3c383b05e5b6c5029ac29f754745c800f8ed9"},
|
||||||
{file = "greenlet-3.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:831d6f35037cf18ca5e80a737a27d822d87cd922521d18ed3dbc8a6967be50ce"},
|
{file = "greenlet-3.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:831d6f35037cf18ca5e80a737a27d822d87cd922521d18ed3dbc8a6967be50ce"},
|
||||||
{file = "greenlet-3.0.0-cp39-universal2-macosx_11_0_x86_64.whl", hash = "sha256:a048293392d4e058298710a54dfaefcefdf49d287cd33fb1f7d63d55426e4355"},
|
{file = "greenlet-3.0.0-cp39-universal2-macosx_11_0_x86_64.whl", hash = "sha256:a048293392d4e058298710a54dfaefcefdf49d287cd33fb1f7d63d55426e4355"},
|
||||||
|
{file = "greenlet-3.0.0.tar.gz", hash = "sha256:19834e3f91f485442adc1ee440171ec5d9a4840a1f7bd5ed97833544719ce10b"},
|
||||||
]
|
]
|
||||||
|
|
||||||
[package.extras]
|
[package.extras]
|
||||||
@ -5723,25 +5723,25 @@ sympy = "*"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "openai"
|
name = "openai"
|
||||||
version = "0.27.10"
|
version = "1.2.4"
|
||||||
description = "Python client library for the OpenAI API"
|
description = "The official Python library for the openai API"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7.1"
|
python-versions = ">=3.7.1"
|
||||||
files = [
|
files = [
|
||||||
{file = "openai-0.27.10-py3-none-any.whl", hash = "sha256:beabd1757e3286fa166dde3b70ebb5ad8081af046876b47c14c41e203ed22a14"},
|
{file = "openai-1.2.4-py3-none-any.whl", hash = "sha256:53927a2ca276eec0a0efdc1ae829f74a51f49b7d3e14cc6f820aeafb0abfd802"},
|
||||||
{file = "openai-0.27.10.tar.gz", hash = "sha256:60e09edf7100080283688748c6803b7b3b52d5a55d21890f3815292a0552d83b"},
|
{file = "openai-1.2.4.tar.gz", hash = "sha256:d99a474049376be431d9b4dec3a5c895dd76e19165748c5944e80b7905d1b1ff"},
|
||||||
]
|
]
|
||||||
|
|
||||||
[package.dependencies]
|
[package.dependencies]
|
||||||
aiohttp = "*"
|
anyio = ">=3.5.0,<4"
|
||||||
requests = ">=2.20"
|
distro = ">=1.7.0,<2"
|
||||||
tqdm = "*"
|
httpx = ">=0.23.0,<1"
|
||||||
|
pydantic = ">=1.9.0,<3"
|
||||||
|
tqdm = ">4"
|
||||||
|
typing-extensions = ">=4.5,<5"
|
||||||
|
|
||||||
[package.extras]
|
[package.extras]
|
||||||
datalib = ["numpy", "openpyxl (>=3.0.7)", "pandas (>=1.2.3)", "pandas-stubs (>=1.1.0.11)"]
|
datalib = ["numpy (>=1)", "pandas (>=1.2.3)", "pandas-stubs (>=1.1.0.11)"]
|
||||||
dev = ["black (>=21.6b0,<22.0)", "pytest (==6.*)", "pytest-asyncio", "pytest-mock"]
|
|
||||||
embeddings = ["matplotlib", "numpy", "openpyxl (>=3.0.7)", "pandas (>=1.2.3)", "pandas-stubs (>=1.1.0.11)", "plotly", "scikit-learn (>=1.0.2)", "scipy", "tenacity (>=8.0.1)"]
|
|
||||||
wandb = ["numpy", "openpyxl (>=3.0.7)", "pandas (>=1.2.3)", "pandas-stubs (>=1.1.0.11)", "wandb"]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "openapi-pydantic"
|
name = "openapi-pydantic"
|
||||||
@ -5775,12 +5775,12 @@ files = [
|
|||||||
|
|
||||||
[package.dependencies]
|
[package.dependencies]
|
||||||
numpy = [
|
numpy = [
|
||||||
|
{version = ">=1.23.5", markers = "python_version >= \"3.11\""},
|
||||||
{version = ">=1.21.0", markers = "python_version <= \"3.9\" and platform_system == \"Darwin\" and platform_machine == \"arm64\" and python_version >= \"3.8\""},
|
{version = ">=1.21.0", markers = "python_version <= \"3.9\" and platform_system == \"Darwin\" and platform_machine == \"arm64\" and python_version >= \"3.8\""},
|
||||||
{version = ">=1.19.3", markers = "platform_system == \"Linux\" and platform_machine == \"aarch64\" and python_version >= \"3.8\" and python_version < \"3.10\" or python_version > \"3.9\" and python_version < \"3.10\" or python_version >= \"3.9\" and platform_system != \"Darwin\" and python_version < \"3.10\" or python_version >= \"3.9\" and platform_machine != \"arm64\" and python_version < \"3.10\""},
|
{version = ">=1.19.3", markers = "platform_system == \"Linux\" and platform_machine == \"aarch64\" and python_version >= \"3.8\" and python_version < \"3.10\" or python_version > \"3.9\" and python_version < \"3.10\" or python_version >= \"3.9\" and platform_system != \"Darwin\" and python_version < \"3.10\" or python_version >= \"3.9\" and platform_machine != \"arm64\" and python_version < \"3.10\""},
|
||||||
{version = ">=1.23.5", markers = "python_version >= \"3.11\""},
|
{version = ">=1.17.3", markers = "(platform_system != \"Darwin\" and platform_system != \"Linux\") and python_version >= \"3.8\" and python_version < \"3.9\" or platform_system != \"Darwin\" and python_version >= \"3.8\" and python_version < \"3.9\" and platform_machine != \"aarch64\" or platform_machine != \"arm64\" and python_version >= \"3.8\" and python_version < \"3.9\" and platform_system != \"Linux\" or (platform_machine != \"arm64\" and platform_machine != \"aarch64\") and python_version >= \"3.8\" and python_version < \"3.9\""},
|
||||||
{version = ">=1.21.4", markers = "python_version >= \"3.10\" and platform_system == \"Darwin\" and python_version < \"3.11\""},
|
{version = ">=1.21.4", markers = "python_version >= \"3.10\" and platform_system == \"Darwin\" and python_version < \"3.11\""},
|
||||||
{version = ">=1.21.2", markers = "platform_system != \"Darwin\" and python_version >= \"3.10\" and python_version < \"3.11\""},
|
{version = ">=1.21.2", markers = "platform_system != \"Darwin\" and python_version >= \"3.10\" and python_version < \"3.11\""},
|
||||||
{version = ">=1.17.3", markers = "(platform_system != \"Darwin\" and platform_system != \"Linux\") and python_version >= \"3.8\" and python_version < \"3.9\" or platform_system != \"Darwin\" and python_version >= \"3.8\" and python_version < \"3.9\" and platform_machine != \"aarch64\" or platform_machine != \"arm64\" and python_version >= \"3.8\" and python_version < \"3.9\" and platform_system != \"Linux\" or (platform_machine != \"arm64\" and platform_machine != \"aarch64\") and python_version >= \"3.8\" and python_version < \"3.9\""},
|
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -5956,8 +5956,8 @@ files = [
|
|||||||
|
|
||||||
[package.dependencies]
|
[package.dependencies]
|
||||||
numpy = [
|
numpy = [
|
||||||
{version = ">=1.20.3", markers = "python_version < \"3.10\""},
|
|
||||||
{version = ">=1.23.2", markers = "python_version >= \"3.11\""},
|
{version = ">=1.23.2", markers = "python_version >= \"3.11\""},
|
||||||
|
{version = ">=1.20.3", markers = "python_version < \"3.10\""},
|
||||||
{version = ">=1.21.0", markers = "python_version >= \"3.10\" and python_version < \"3.11\""},
|
{version = ">=1.21.0", markers = "python_version >= \"3.10\" and python_version < \"3.11\""},
|
||||||
]
|
]
|
||||||
python-dateutil = ">=2.8.2"
|
python-dateutil = ">=2.8.2"
|
||||||
@ -6469,8 +6469,6 @@ files = [
|
|||||||
{file = "psycopg2-2.9.9-cp310-cp310-win_amd64.whl", hash = "sha256:426f9f29bde126913a20a96ff8ce7d73fd8a216cfb323b1f04da402d452853c3"},
|
{file = "psycopg2-2.9.9-cp310-cp310-win_amd64.whl", hash = "sha256:426f9f29bde126913a20a96ff8ce7d73fd8a216cfb323b1f04da402d452853c3"},
|
||||||
{file = "psycopg2-2.9.9-cp311-cp311-win32.whl", hash = "sha256:ade01303ccf7ae12c356a5e10911c9e1c51136003a9a1d92f7aa9d010fb98372"},
|
{file = "psycopg2-2.9.9-cp311-cp311-win32.whl", hash = "sha256:ade01303ccf7ae12c356a5e10911c9e1c51136003a9a1d92f7aa9d010fb98372"},
|
||||||
{file = "psycopg2-2.9.9-cp311-cp311-win_amd64.whl", hash = "sha256:121081ea2e76729acfb0673ff33755e8703d45e926e416cb59bae3a86c6a4981"},
|
{file = "psycopg2-2.9.9-cp311-cp311-win_amd64.whl", hash = "sha256:121081ea2e76729acfb0673ff33755e8703d45e926e416cb59bae3a86c6a4981"},
|
||||||
{file = "psycopg2-2.9.9-cp312-cp312-win32.whl", hash = "sha256:d735786acc7dd25815e89cc4ad529a43af779db2e25aa7c626de864127e5a024"},
|
|
||||||
{file = "psycopg2-2.9.9-cp312-cp312-win_amd64.whl", hash = "sha256:a7653d00b732afb6fc597e29c50ad28087dcb4fbfb28e86092277a559ae4e693"},
|
|
||||||
{file = "psycopg2-2.9.9-cp37-cp37m-win32.whl", hash = "sha256:5e0d98cade4f0e0304d7d6f25bbfbc5bd186e07b38eac65379309c4ca3193efa"},
|
{file = "psycopg2-2.9.9-cp37-cp37m-win32.whl", hash = "sha256:5e0d98cade4f0e0304d7d6f25bbfbc5bd186e07b38eac65379309c4ca3193efa"},
|
||||||
{file = "psycopg2-2.9.9-cp37-cp37m-win_amd64.whl", hash = "sha256:7e2dacf8b009a1c1e843b5213a87f7c544b2b042476ed7755be813eaf4e8347a"},
|
{file = "psycopg2-2.9.9-cp37-cp37m-win_amd64.whl", hash = "sha256:7e2dacf8b009a1c1e843b5213a87f7c544b2b042476ed7755be813eaf4e8347a"},
|
||||||
{file = "psycopg2-2.9.9-cp38-cp38-win32.whl", hash = "sha256:ff432630e510709564c01dafdbe996cb552e0b9f3f065eb89bdce5bd31fabf4c"},
|
{file = "psycopg2-2.9.9-cp38-cp38-win32.whl", hash = "sha256:ff432630e510709564c01dafdbe996cb552e0b9f3f065eb89bdce5bd31fabf4c"},
|
||||||
@ -6513,7 +6511,6 @@ files = [
|
|||||||
{file = "psycopg2_binary-2.9.9-cp311-cp311-win32.whl", hash = "sha256:dc4926288b2a3e9fd7b50dc6a1909a13bbdadfc67d93f3374d984e56f885579d"},
|
{file = "psycopg2_binary-2.9.9-cp311-cp311-win32.whl", hash = "sha256:dc4926288b2a3e9fd7b50dc6a1909a13bbdadfc67d93f3374d984e56f885579d"},
|
||||||
{file = "psycopg2_binary-2.9.9-cp311-cp311-win_amd64.whl", hash = "sha256:b76bedd166805480ab069612119ea636f5ab8f8771e640ae103e05a4aae3e417"},
|
{file = "psycopg2_binary-2.9.9-cp311-cp311-win_amd64.whl", hash = "sha256:b76bedd166805480ab069612119ea636f5ab8f8771e640ae103e05a4aae3e417"},
|
||||||
{file = "psycopg2_binary-2.9.9-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:8532fd6e6e2dc57bcb3bc90b079c60de896d2128c5d9d6f24a63875a95a088cf"},
|
{file = "psycopg2_binary-2.9.9-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:8532fd6e6e2dc57bcb3bc90b079c60de896d2128c5d9d6f24a63875a95a088cf"},
|
||||||
{file = "psycopg2_binary-2.9.9-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b0605eaed3eb239e87df0d5e3c6489daae3f7388d455d0c0b4df899519c6a38d"},
|
|
||||||
{file = "psycopg2_binary-2.9.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f8544b092a29a6ddd72f3556a9fcf249ec412e10ad28be6a0c0d948924f2212"},
|
{file = "psycopg2_binary-2.9.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f8544b092a29a6ddd72f3556a9fcf249ec412e10ad28be6a0c0d948924f2212"},
|
||||||
{file = "psycopg2_binary-2.9.9-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2d423c8d8a3c82d08fe8af900ad5b613ce3632a1249fd6a223941d0735fce493"},
|
{file = "psycopg2_binary-2.9.9-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2d423c8d8a3c82d08fe8af900ad5b613ce3632a1249fd6a223941d0735fce493"},
|
||||||
{file = "psycopg2_binary-2.9.9-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2e5afae772c00980525f6d6ecf7cbca55676296b580c0e6abb407f15f3706996"},
|
{file = "psycopg2_binary-2.9.9-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2e5afae772c00980525f6d6ecf7cbca55676296b580c0e6abb407f15f3706996"},
|
||||||
@ -6522,8 +6519,6 @@ files = [
|
|||||||
{file = "psycopg2_binary-2.9.9-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:cb16c65dcb648d0a43a2521f2f0a2300f40639f6f8c1ecbc662141e4e3e1ee07"},
|
{file = "psycopg2_binary-2.9.9-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:cb16c65dcb648d0a43a2521f2f0a2300f40639f6f8c1ecbc662141e4e3e1ee07"},
|
||||||
{file = "psycopg2_binary-2.9.9-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:911dda9c487075abd54e644ccdf5e5c16773470a6a5d3826fda76699410066fb"},
|
{file = "psycopg2_binary-2.9.9-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:911dda9c487075abd54e644ccdf5e5c16773470a6a5d3826fda76699410066fb"},
|
||||||
{file = "psycopg2_binary-2.9.9-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:57fede879f08d23c85140a360c6a77709113efd1c993923c59fde17aa27599fe"},
|
{file = "psycopg2_binary-2.9.9-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:57fede879f08d23c85140a360c6a77709113efd1c993923c59fde17aa27599fe"},
|
||||||
{file = "psycopg2_binary-2.9.9-cp312-cp312-win32.whl", hash = "sha256:64cf30263844fa208851ebb13b0732ce674d8ec6a0c86a4e160495d299ba3c93"},
|
|
||||||
{file = "psycopg2_binary-2.9.9-cp312-cp312-win_amd64.whl", hash = "sha256:81ff62668af011f9a48787564ab7eded4e9fb17a4a6a74af5ffa6a457400d2ab"},
|
|
||||||
{file = "psycopg2_binary-2.9.9-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2293b001e319ab0d869d660a704942c9e2cce19745262a8aba2115ef41a0a42a"},
|
{file = "psycopg2_binary-2.9.9-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2293b001e319ab0d869d660a704942c9e2cce19745262a8aba2115ef41a0a42a"},
|
||||||
{file = "psycopg2_binary-2.9.9-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:03ef7df18daf2c4c07e2695e8cfd5ee7f748a1d54d802330985a78d2a5a6dca9"},
|
{file = "psycopg2_binary-2.9.9-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:03ef7df18daf2c4c07e2695e8cfd5ee7f748a1d54d802330985a78d2a5a6dca9"},
|
||||||
{file = "psycopg2_binary-2.9.9-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a602ea5aff39bb9fac6308e9c9d82b9a35c2bf288e184a816002c9fae930b77"},
|
{file = "psycopg2_binary-2.9.9-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a602ea5aff39bb9fac6308e9c9d82b9a35c2bf288e184a816002c9fae930b77"},
|
||||||
@ -11039,4 +11034,4 @@ text-helpers = ["chardet"]
|
|||||||
[metadata]
|
[metadata]
|
||||||
lock-version = "2.0"
|
lock-version = "2.0"
|
||||||
python-versions = ">=3.8.1,<4.0"
|
python-versions = ">=3.8.1,<4.0"
|
||||||
content-hash = "081a3172b585398f728ddaf7316fb3f11bc647e3d3bcc5071691add5413a636e"
|
content-hash = "0de210131fb5fcade99199b0da7331f4b4de8d624ffa5cf50f0ab99b949d7841"
|
||||||
|
@ -46,7 +46,7 @@ dataclasses-json = ">= 0.5.7, < 0.7"
|
|||||||
tensorflow-text = {version = "^2.11.0", optional = true, python = "^3.10, <3.12"}
|
tensorflow-text = {version = "^2.11.0", optional = true, python = "^3.10, <3.12"}
|
||||||
tenacity = "^8.1.0"
|
tenacity = "^8.1.0"
|
||||||
cohere = {version = "^4", optional = true}
|
cohere = {version = "^4", optional = true}
|
||||||
openai = {version = "^0", optional = true}
|
openai = {version = "<2", optional = true}
|
||||||
nlpcloud = {version = "^1", optional = true}
|
nlpcloud = {version = "^1", optional = true}
|
||||||
nomic = {version = "^1.0.43", optional = true}
|
nomic = {version = "^1.0.43", optional = true}
|
||||||
huggingface_hub = {version = "^0", optional = true}
|
huggingface_hub = {version = "^0", optional = true}
|
||||||
@ -186,7 +186,7 @@ optional = true
|
|||||||
# https://github.com/langchain-ai/langchain/blob/master/.github/CONTRIBUTING.md#working-with-optional-dependencies
|
# https://github.com/langchain-ai/langchain/blob/master/.github/CONTRIBUTING.md#working-with-optional-dependencies
|
||||||
pytest-vcr = "^1.0.2"
|
pytest-vcr = "^1.0.2"
|
||||||
wrapt = "^1.15.0"
|
wrapt = "^1.15.0"
|
||||||
openai = "^0.27.4"
|
openai = "^1"
|
||||||
python-dotenv = "^1.0.0"
|
python-dotenv = "^1.0.0"
|
||||||
cassio = "^0.1.0"
|
cassio = "^0.1.0"
|
||||||
tiktoken = "^0.3.2"
|
tiktoken = "^0.3.2"
|
||||||
|
@ -5,6 +5,14 @@ from pytest import MonkeyPatch
|
|||||||
|
|
||||||
from langchain.llms.gooseai import GooseAI
|
from langchain.llms.gooseai import GooseAI
|
||||||
from langchain.pydantic_v1 import SecretStr
|
from langchain.pydantic_v1 import SecretStr
|
||||||
|
from langchain.utils.openai import is_openai_v1
|
||||||
|
|
||||||
|
|
||||||
|
def _openai_v1_installed() -> bool:
|
||||||
|
try:
|
||||||
|
return is_openai_v1()
|
||||||
|
except Exception as _:
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.requires("openai")
|
@pytest.mark.requires("openai")
|
||||||
@ -14,6 +22,9 @@ def test_api_key_is_secret_string() -> None:
|
|||||||
assert llm.gooseai_api_key.get_secret_value() == "secret-api-key"
|
assert llm.gooseai_api_key.get_secret_value() == "secret-api-key"
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.skipif(
|
||||||
|
_openai_v1_installed(), reason="GooseAI currently only works with openai<1"
|
||||||
|
)
|
||||||
@pytest.mark.requires("openai")
|
@pytest.mark.requires("openai")
|
||||||
def test_api_key_masked_when_passed_via_constructor() -> None:
|
def test_api_key_masked_when_passed_via_constructor() -> None:
|
||||||
llm = GooseAI(gooseai_api_key="secret-api-key")
|
llm = GooseAI(gooseai_api_key="secret-api-key")
|
||||||
@ -22,6 +33,9 @@ def test_api_key_masked_when_passed_via_constructor() -> None:
|
|||||||
assert "secret-api-key" not in repr(llm)
|
assert "secret-api-key" not in repr(llm)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.skipif(
|
||||||
|
_openai_v1_installed(), reason="GooseAI currently only works with openai<1"
|
||||||
|
)
|
||||||
@pytest.mark.requires("openai")
|
@pytest.mark.requires("openai")
|
||||||
def test_api_key_masked_when_passed_from_env() -> None:
|
def test_api_key_masked_when_passed_from_env() -> None:
|
||||||
with MonkeyPatch.context() as mp:
|
with MonkeyPatch.context() as mp:
|
||||||
|
@ -8,6 +8,7 @@ from tenacity import wait_none
|
|||||||
|
|
||||||
from langchain.llms import base
|
from langchain.llms import base
|
||||||
from langchain.llms.openai import OpenAI
|
from langchain.llms.openai import OpenAI
|
||||||
|
from langchain.utils.openai import is_openai_v1
|
||||||
from tests.unit_tests.callbacks.fake_callback_handler import (
|
from tests.unit_tests.callbacks.fake_callback_handler import (
|
||||||
FakeAsyncCallbackHandler,
|
FakeAsyncCallbackHandler,
|
||||||
FakeCallbackHandler,
|
FakeCallbackHandler,
|
||||||
@ -16,6 +17,13 @@ from tests.unit_tests.callbacks.fake_callback_handler import (
|
|||||||
os.environ["OPENAI_API_KEY"] = "foo"
|
os.environ["OPENAI_API_KEY"] = "foo"
|
||||||
|
|
||||||
|
|
||||||
|
def _openai_v1_installed() -> bool:
|
||||||
|
try:
|
||||||
|
return is_openai_v1()
|
||||||
|
except Exception as _:
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.requires("openai")
|
@pytest.mark.requires("openai")
|
||||||
def test_openai_model_param() -> None:
|
def test_openai_model_param() -> None:
|
||||||
llm = OpenAI(model="foo")
|
llm = OpenAI(model="foo")
|
||||||
@ -67,6 +75,9 @@ def _patched_retry(*args: Any, **kwargs: Any) -> Any:
|
|||||||
return r
|
return r
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.skipif(
|
||||||
|
_openai_v1_installed(), reason="Retries only handled by LangChain for openai<1"
|
||||||
|
)
|
||||||
@pytest.mark.requires("openai")
|
@pytest.mark.requires("openai")
|
||||||
def test_openai_retries(mock_completion: dict) -> None:
|
def test_openai_retries(mock_completion: dict) -> None:
|
||||||
llm = OpenAI()
|
llm = OpenAI()
|
||||||
@ -100,6 +111,9 @@ def test_openai_retries(mock_completion: dict) -> None:
|
|||||||
assert callback_handler.retries == 1
|
assert callback_handler.retries == 1
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.skipif(
|
||||||
|
_openai_v1_installed(), reason="Retries only handled by LangChain for openai<1"
|
||||||
|
)
|
||||||
@pytest.mark.requires("openai")
|
@pytest.mark.requires("openai")
|
||||||
@pytest.mark.asyncio
|
@pytest.mark.asyncio
|
||||||
async def test_openai_async_retries(mock_completion: dict) -> None:
|
async def test_openai_async_retries(mock_completion: dict) -> None:
|
||||||
|
@ -226,17 +226,6 @@
|
|||||||
"id": [
|
"id": [
|
||||||
"OPENAI_API_KEY"
|
"OPENAI_API_KEY"
|
||||||
]
|
]
|
||||||
},
|
|
||||||
"client": {
|
|
||||||
"lc": 1,
|
|
||||||
"type": "not_implemented",
|
|
||||||
"id": [
|
|
||||||
"openai",
|
|
||||||
"api_resources",
|
|
||||||
"completion",
|
|
||||||
"Completion"
|
|
||||||
],
|
|
||||||
"repr": "<class 'openai.api_resources.completion.Completion'>"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -69,7 +69,7 @@ def test_loads_llmchain_with_non_serializable_arg() -> None:
|
|||||||
model="davinci",
|
model="davinci",
|
||||||
temperature=0.5,
|
temperature=0.5,
|
||||||
openai_api_key="hello",
|
openai_api_key="hello",
|
||||||
client=NotSerializable,
|
http_client=NotSerializable,
|
||||||
)
|
)
|
||||||
prompt = PromptTemplate.from_template("hello {name}!")
|
prompt = PromptTemplate.from_template("hello {name}!")
|
||||||
chain = LLMChain(llm=llm, prompt=prompt)
|
chain = LLMChain(llm=llm, prompt=prompt)
|
||||||
@ -134,7 +134,7 @@ def test_load_llmchain_with_non_serializable_arg() -> None:
|
|||||||
model="davinci",
|
model="davinci",
|
||||||
temperature=0.5,
|
temperature=0.5,
|
||||||
openai_api_key="hello",
|
openai_api_key="hello",
|
||||||
client=NotSerializable,
|
http_client=NotSerializable,
|
||||||
)
|
)
|
||||||
prompt = PromptTemplate.from_template("hello {name}!")
|
prompt = PromptTemplate.from_template("hello {name}!")
|
||||||
chain = LLMChain(llm=llm, prompt=prompt)
|
chain = LLMChain(llm=llm, prompt=prompt)
|
||||||
|
Loading…
Reference in New Issue
Block a user