openai[minor]: implement langchain-openai package (#15503)

Todo

- [x] copy over integration tests
- [x] update docs with new instructions in #15513 
- [x] add linear ticket to bump core -> community, community->langchain,
and core->openai deps
- [ ] (optional): add `pip install langchain-openai` command to each
notebook using it
- [x] Update docstrings to not need `openai` install
- [x] Add serialization
- [x] deprecate old models

Contributor steps:

- [x] Add secret names to manual integrations workflow in
.github/workflows/_integration_test.yml
- [x] Add secrets to release workflow (for pre-release testing) in
.github/workflows/_release.yml

Maintainer steps (Contributors should not do these):

- [x] set up pypi and test pypi projects
- [x] add credential secrets to Github Actions
- [ ] add package to conda-forge


Functional changes to existing classes:

- now relies on openai client v1 (1.6.1) via concrete dep in
langchain-openai package

Codebase organization

- some function calling stuff moved to
`langchain_core.utils.function_calling` in order to be used in both
community and langchain-openai
This commit is contained in:
Erick Friis
2024-01-05 15:03:28 -08:00
committed by GitHub
parent a7d023aaf0
commit ebc75c5ca7
64 changed files with 5997 additions and 387 deletions

View File

@@ -21,6 +21,7 @@ from typing import (
Union,
)
from langchain_core._api.deprecation import deprecated
from langchain_core.callbacks import (
AsyncCallbackManagerForLLMRun,
CallbackManagerForLLMRun,
@@ -724,6 +725,7 @@ class BaseOpenAI(BaseLLM):
return self.max_context_size - num_tokens
@deprecated(since="0.1.0", removal="0.2.0", alternative="langchain_openai.OpenAI")
class OpenAI(BaseOpenAI):
"""OpenAI large language models.
@@ -750,6 +752,7 @@ class OpenAI(BaseOpenAI):
return {**{"model": self.model_name}, **super()._invocation_params}
@deprecated(since="0.1.0", removal="0.2.0", alternative="langchain_openai.AzureOpenAI")
class AzureOpenAI(BaseOpenAI):
"""Azure-specific OpenAI large language models.
@@ -953,6 +956,7 @@ class AzureOpenAI(BaseOpenAI):
}
@deprecated(since="0.1.0", removal="0.2.0", alternative="langchain_openai.ChatOpenAI")
class OpenAIChat(BaseLLM):
"""OpenAI Chat large language models.