diff --git a/libs/core/langchain_core/language_models/chat_models.py b/libs/core/langchain_core/language_models/chat_models.py index aef634c57b2..abf7928d664 100644 --- a/libs/core/langchain_core/language_models/chat_models.py +++ b/libs/core/langchain_core/language_models/chat_models.py @@ -55,7 +55,7 @@ def _get_verbosity() -> bool: return get_verbose() -def _generate_from_stream(stream: Iterator[ChatGenerationChunk]) -> ChatResult: +def generate_from_stream(stream: Iterator[ChatGenerationChunk]) -> ChatResult: generation: Optional[ChatGenerationChunk] = None for chunk in stream: if generation is None: @@ -66,7 +66,7 @@ def _generate_from_stream(stream: Iterator[ChatGenerationChunk]) -> ChatResult: return ChatResult(generations=[generation]) -async def _agenerate_from_stream( +async def agenerate_from_stream( stream: AsyncIterator[ChatGenerationChunk], ) -> ChatResult: generation: Optional[ChatGenerationChunk] = None diff --git a/libs/core/langchain_core/utils/__init__.py b/libs/core/langchain_core/utils/__init__.py index 570e223d548..1a526328e51 100644 --- a/libs/core/langchain_core/utils/__init__.py +++ b/libs/core/langchain_core/utils/__init__.py @@ -13,6 +13,7 @@ from langchain_core.utils.input import ( ) from langchain_core.utils.loading import try_load_from_hub from langchain_core.utils.utils import ( + build_extra_kwargs, check_package_version, convert_to_secret_str, get_pydantic_field_names, @@ -37,4 +38,5 @@ __all__ = [ "raise_for_status_with_text", "xor_args", "try_load_from_hub", + "build_extra_kwargs", ] diff --git a/libs/core/tests/unit_tests/utils/test_imports.py b/libs/core/tests/unit_tests/utils/test_imports.py index c553a984e56..7592fcbe9b5 100644 --- a/libs/core/tests/unit_tests/utils/test_imports.py +++ b/libs/core/tests/unit_tests/utils/test_imports.py @@ -15,6 +15,7 @@ EXPECTED_ALL = [ "raise_for_status_with_text", "xor_args", "try_load_from_hub", + "build_extra_kwargs", ] diff --git a/libs/langchain/langchain/chat_models/anthropic.py b/libs/langchain/langchain/chat_models/anthropic.py index c9b396191e0..3e16835f1ef 100644 --- a/libs/langchain/langchain/chat_models/anthropic.py +++ b/libs/langchain/langchain/chat_models/anthropic.py @@ -17,8 +17,8 @@ from langchain.callbacks.manager import ( ) from langchain.chat_models.base import ( BaseChatModel, - _agenerate_from_stream, - _generate_from_stream, + agenerate_from_stream, + generate_from_stream, ) from langchain.llms.anthropic import _AnthropicCommon @@ -171,7 +171,7 @@ class ChatAnthropic(BaseChatModel, _AnthropicCommon): stream_iter = self._stream( messages, stop=stop, run_manager=run_manager, **kwargs ) - return _generate_from_stream(stream_iter) + return generate_from_stream(stream_iter) prompt = self._convert_messages_to_prompt( messages, ) @@ -198,7 +198,7 @@ class ChatAnthropic(BaseChatModel, _AnthropicCommon): stream_iter = self._astream( messages, stop=stop, run_manager=run_manager, **kwargs ) - return await _agenerate_from_stream(stream_iter) + return await agenerate_from_stream(stream_iter) prompt = self._convert_messages_to_prompt( messages, ) diff --git a/libs/langchain/langchain/chat_models/baichuan.py b/libs/langchain/langchain/chat_models/baichuan.py index 566adcee26e..88c95fc4c3f 100644 --- a/libs/langchain/langchain/chat_models/baichuan.py +++ b/libs/langchain/langchain/chat_models/baichuan.py @@ -23,7 +23,7 @@ from langchain_core.utils import ( ) from langchain.callbacks.manager import CallbackManagerForLLMRun -from langchain.chat_models.base import BaseChatModel, _generate_from_stream +from langchain.chat_models.base import BaseChatModel, generate_from_stream from langchain.utils import get_from_dict_or_env logger = logging.getLogger(__name__) @@ -198,7 +198,7 @@ class ChatBaichuan(BaseChatModel): stream_iter = self._stream( messages=messages, stop=stop, run_manager=run_manager, **kwargs ) - return _generate_from_stream(stream_iter) + return generate_from_stream(stream_iter) res = self._chat(messages, **kwargs) diff --git a/libs/langchain/langchain/chat_models/base.py b/libs/langchain/langchain/chat_models/base.py index 1da92ce9a79..d3ffc6b11fb 100644 --- a/libs/langchain/langchain/chat_models/base.py +++ b/libs/langchain/langchain/chat_models/base.py @@ -1,15 +1,15 @@ from langchain_core.language_models.chat_models import ( BaseChatModel, SimpleChatModel, - _agenerate_from_stream, - _generate_from_stream, _get_verbosity, + agenerate_from_stream, + generate_from_stream, ) __all__ = [ "BaseChatModel", "SimpleChatModel", - "_generate_from_stream", - "_agenerate_from_stream", + "generate_from_stream", + "agenerate_from_stream", "_get_verbosity", ] diff --git a/libs/langchain/langchain/chat_models/cohere.py b/libs/langchain/langchain/chat_models/cohere.py index dbb03d56a81..ba59cc7407d 100644 --- a/libs/langchain/langchain/chat_models/cohere.py +++ b/libs/langchain/langchain/chat_models/cohere.py @@ -16,8 +16,8 @@ from langchain.callbacks.manager import ( ) from langchain.chat_models.base import ( BaseChatModel, - _agenerate_from_stream, - _generate_from_stream, + agenerate_from_stream, + generate_from_stream, ) from langchain.llms.cohere import BaseCohere @@ -188,7 +188,7 @@ class ChatCohere(BaseChatModel, BaseCohere): stream_iter = self._stream( messages, stop=stop, run_manager=run_manager, **kwargs ) - return _generate_from_stream(stream_iter) + return generate_from_stream(stream_iter) request = get_cohere_chat_request(messages, **self._default_params, **kwargs) response = self.client.chat(**request) @@ -214,7 +214,7 @@ class ChatCohere(BaseChatModel, BaseCohere): stream_iter = self._astream( messages, stop=stop, run_manager=run_manager, **kwargs ) - return await _agenerate_from_stream(stream_iter) + return await agenerate_from_stream(stream_iter) request = get_cohere_chat_request(messages, **self._default_params, **kwargs) response = self.client.chat(**request, stream=False) diff --git a/libs/langchain/langchain/chat_models/gigachat.py b/libs/langchain/langchain/chat_models/gigachat.py index 9b9eabc7408..10abbfcd152 100644 --- a/libs/langchain/langchain/chat_models/gigachat.py +++ b/libs/langchain/langchain/chat_models/gigachat.py @@ -17,8 +17,8 @@ from langchain.callbacks.manager import ( ) from langchain.chat_models.base import ( BaseChatModel, - _agenerate_from_stream, - _generate_from_stream, + agenerate_from_stream, + generate_from_stream, ) from langchain.llms.gigachat import _BaseGigaChat @@ -115,7 +115,7 @@ class GigaChat(_BaseGigaChat, BaseChatModel): stream_iter = self._stream( messages, stop=stop, run_manager=run_manager, **kwargs ) - return _generate_from_stream(stream_iter) + return generate_from_stream(stream_iter) payload = self._build_payload(messages) response = self._client.chat(payload) @@ -135,7 +135,7 @@ class GigaChat(_BaseGigaChat, BaseChatModel): stream_iter = self._astream( messages, stop=stop, run_manager=run_manager, **kwargs ) - return await _agenerate_from_stream(stream_iter) + return await agenerate_from_stream(stream_iter) payload = self._build_payload(messages) response = await self._client.achat(payload) diff --git a/libs/langchain/langchain/chat_models/hunyuan.py b/libs/langchain/langchain/chat_models/hunyuan.py index baa2f7abde5..60da4b4bf62 100644 --- a/libs/langchain/langchain/chat_models/hunyuan.py +++ b/libs/langchain/langchain/chat_models/hunyuan.py @@ -26,7 +26,7 @@ from langchain_core.utils import ( ) from langchain.callbacks.manager import CallbackManagerForLLMRun -from langchain.chat_models.base import BaseChatModel, _generate_from_stream +from langchain.chat_models.base import BaseChatModel, generate_from_stream from langchain.utils import get_from_dict_or_env logger = logging.getLogger(__name__) @@ -242,7 +242,7 @@ class ChatHunyuan(BaseChatModel): stream_iter = self._stream( messages=messages, stop=stop, run_manager=run_manager, **kwargs ) - return _generate_from_stream(stream_iter) + return generate_from_stream(stream_iter) res = self._chat(messages, **kwargs) diff --git a/libs/langchain/langchain/chat_models/jinachat.py b/libs/langchain/langchain/chat_models/jinachat.py index 95aefaaf7bd..4ad241ea35d 100644 --- a/libs/langchain/langchain/chat_models/jinachat.py +++ b/libs/langchain/langchain/chat_models/jinachat.py @@ -46,8 +46,8 @@ from langchain.callbacks.manager import ( ) from langchain.chat_models.base import ( BaseChatModel, - _agenerate_from_stream, - _generate_from_stream, + agenerate_from_stream, + generate_from_stream, ) from langchain.utils import get_from_dict_or_env @@ -325,7 +325,7 @@ class JinaChat(BaseChatModel): stream_iter = self._stream( messages=messages, stop=stop, run_manager=run_manager, **kwargs ) - return _generate_from_stream(stream_iter) + return generate_from_stream(stream_iter) message_dicts, params = self._create_message_dicts(messages, stop) params = {**params, **kwargs} @@ -384,7 +384,7 @@ class JinaChat(BaseChatModel): stream_iter = self._astream( messages=messages, stop=stop, run_manager=run_manager, **kwargs ) - return await _agenerate_from_stream(stream_iter) + return await agenerate_from_stream(stream_iter) message_dicts, params = self._create_message_dicts(messages, stop) params = {**params, **kwargs} diff --git a/libs/langchain/langchain/chat_models/konko.py b/libs/langchain/langchain/chat_models/konko.py index 6e7c773f11b..eaafb108105 100644 --- a/libs/langchain/langchain/chat_models/konko.py +++ b/libs/langchain/langchain/chat_models/konko.py @@ -24,7 +24,7 @@ from langchain.adapters.openai import convert_dict_to_message, convert_message_t from langchain.callbacks.manager import ( CallbackManagerForLLMRun, ) -from langchain.chat_models.base import BaseChatModel, _generate_from_stream +from langchain.chat_models.base import BaseChatModel, generate_from_stream from langchain.chat_models.openai import _convert_delta_to_message_chunk from langchain.utils import get_from_dict_or_env @@ -229,7 +229,7 @@ class ChatKonko(BaseChatModel): stream_iter = self._stream( messages, stop=stop, run_manager=run_manager, **kwargs ) - return _generate_from_stream(stream_iter) + return generate_from_stream(stream_iter) message_dicts, params = self._create_message_dicts(messages, stop) params = {**params, **kwargs} diff --git a/libs/langchain/langchain/chat_models/litellm.py b/libs/langchain/langchain/chat_models/litellm.py index cf31721b19f..c2239d607e9 100644 --- a/libs/langchain/langchain/chat_models/litellm.py +++ b/libs/langchain/langchain/chat_models/litellm.py @@ -43,8 +43,8 @@ from langchain.callbacks.manager import ( ) from langchain.chat_models.base import ( BaseChatModel, - _agenerate_from_stream, - _generate_from_stream, + agenerate_from_stream, + generate_from_stream, ) from langchain.llms.base import create_base_retry_decorator from langchain.utils import get_from_dict_or_env @@ -300,7 +300,7 @@ class ChatLiteLLM(BaseChatModel): stream_iter = self._stream( messages, stop=stop, run_manager=run_manager, **kwargs ) - return _generate_from_stream(stream_iter) + return generate_from_stream(stream_iter) message_dicts, params = self._create_message_dicts(messages, stop) params = {**params, **kwargs} @@ -395,7 +395,7 @@ class ChatLiteLLM(BaseChatModel): stream_iter = self._astream( messages=messages, stop=stop, run_manager=run_manager, **kwargs ) - return await _agenerate_from_stream(stream_iter) + return await agenerate_from_stream(stream_iter) message_dicts, params = self._create_message_dicts(messages, stop) params = {**params, **kwargs} diff --git a/libs/langchain/langchain/chat_models/openai.py b/libs/langchain/langchain/chat_models/openai.py index a58427f491d..46de2d70f91 100644 --- a/libs/langchain/langchain/chat_models/openai.py +++ b/libs/langchain/langchain/chat_models/openai.py @@ -45,8 +45,8 @@ from langchain.callbacks.manager import ( ) from langchain.chat_models.base import ( BaseChatModel, - _agenerate_from_stream, - _generate_from_stream, + agenerate_from_stream, + generate_from_stream, ) from langchain.llms.base import create_base_retry_decorator from langchain.utils import get_from_dict_or_env @@ -416,7 +416,7 @@ class ChatOpenAI(BaseChatModel): stream_iter = self._stream( messages, stop=stop, run_manager=run_manager, **kwargs ) - return _generate_from_stream(stream_iter) + return generate_from_stream(stream_iter) message_dicts, params = self._create_message_dicts(messages, stop) params = {**params, **kwargs} response = self.completion_with_retry( @@ -499,7 +499,7 @@ class ChatOpenAI(BaseChatModel): stream_iter = self._astream( messages, stop=stop, run_manager=run_manager, **kwargs ) - return await _agenerate_from_stream(stream_iter) + return await agenerate_from_stream(stream_iter) message_dicts, params = self._create_message_dicts(messages, stop) params = {**params, **kwargs} diff --git a/libs/langchain/langchain/chat_models/tongyi.py b/libs/langchain/langchain/chat_models/tongyi.py index 3befee80046..01c2a5491ad 100644 --- a/libs/langchain/langchain/chat_models/tongyi.py +++ b/libs/langchain/langchain/chat_models/tongyi.py @@ -46,7 +46,7 @@ from tenacity import ( from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.chat_models.base import ( BaseChatModel, - _generate_from_stream, + generate_from_stream, ) from langchain.utils import get_from_dict_or_env @@ -321,7 +321,7 @@ class ChatTongyi(BaseChatModel): stream_iter = self._stream( messages, stop=stop, run_manager=run_manager, **kwargs ) - return _generate_from_stream(stream_iter) + return generate_from_stream(stream_iter) if not messages: raise ValueError("No messages provided.") diff --git a/libs/langchain/langchain/chat_models/vertexai.py b/libs/langchain/langchain/chat_models/vertexai.py index d0260b5ab98..dbe9919db2b 100644 --- a/libs/langchain/langchain/chat_models/vertexai.py +++ b/libs/langchain/langchain/chat_models/vertexai.py @@ -19,7 +19,7 @@ from langchain.callbacks.manager import ( AsyncCallbackManagerForLLMRun, CallbackManagerForLLMRun, ) -from langchain.chat_models.base import BaseChatModel, _generate_from_stream +from langchain.chat_models.base import BaseChatModel, generate_from_stream from langchain.llms.vertexai import _VertexAICommon, is_codey_model from langchain.utilities.vertexai import raise_vertex_import_error @@ -172,7 +172,7 @@ class ChatVertexAI(_VertexAICommon, BaseChatModel): stream_iter = self._stream( messages, stop=stop, run_manager=run_manager, **kwargs ) - return _generate_from_stream(stream_iter) + return generate_from_stream(stream_iter) question = _get_question(messages) history = _parse_chat_history(messages[:-1]) diff --git a/libs/langchain/tests/unit_tests/chat_models/test_base.py b/libs/langchain/tests/unit_tests/chat_models/test_base.py index 51576f20818..e0c7550ce33 100644 --- a/libs/langchain/tests/unit_tests/chat_models/test_base.py +++ b/libs/langchain/tests/unit_tests/chat_models/test_base.py @@ -3,8 +3,8 @@ from langchain.chat_models.base import __all__ EXPECTED_ALL = [ "BaseChatModel", "SimpleChatModel", - "_agenerate_from_stream", - "_generate_from_stream", + "agenerate_from_stream", + "generate_from_stream", "_get_verbosity", ]