[core] langauge model like (#15180)

This commit is contained in:
Harrison Chase 2023-12-26 12:19:50 -08:00 committed by GitHub
parent e6f0cee896
commit 63916cfe35
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 8 additions and 3 deletions

View File

@ -1,6 +1,7 @@
from langchain_core.language_models.base import ( from langchain_core.language_models.base import (
BaseLanguageModel, BaseLanguageModel,
LanguageModelInput, LanguageModelInput,
LanguageModelLike,
LanguageModelOutput, LanguageModelOutput,
get_tokenizer, get_tokenizer,
) )
@ -16,4 +17,5 @@ __all__ = [
"LanguageModelInput", "LanguageModelInput",
"get_tokenizer", "get_tokenizer",
"LanguageModelOutput", "LanguageModelOutput",
"LanguageModelLike",
] ]

View File

@ -17,7 +17,7 @@ from typing_extensions import TypeAlias
from langchain_core.messages import AnyMessage, BaseMessage, get_buffer_string from langchain_core.messages import AnyMessage, BaseMessage, get_buffer_string
from langchain_core.prompt_values import PromptValue from langchain_core.prompt_values import PromptValue
from langchain_core.runnables import RunnableSerializable from langchain_core.runnables import Runnable, RunnableSerializable
from langchain_core.utils import get_pydantic_field_names from langchain_core.utils import get_pydantic_field_names
if TYPE_CHECKING: if TYPE_CHECKING:
@ -49,11 +49,13 @@ def _get_token_ids_default_method(text: str) -> List[int]:
LanguageModelInput = Union[PromptValue, str, List[BaseMessage]] LanguageModelInput = Union[PromptValue, str, List[BaseMessage]]
LanguageModelOutput = TypeVar("LanguageModelOutput") LanguageModelOutput = Union[BaseMessage, str]
LanguageModelLike = Runnable[LanguageModelInput, LanguageModelOutput]
LanguageModelOutputVar = TypeVar("LanguageModelOutputVar", BaseMessage, str)
class BaseLanguageModel( class BaseLanguageModel(
RunnableSerializable[LanguageModelInput, LanguageModelOutput], ABC RunnableSerializable[LanguageModelInput, LanguageModelOutputVar], ABC
): ):
"""Abstract base class for interfacing with language models. """Abstract base class for interfacing with language models.

View File

@ -9,6 +9,7 @@ EXPECTED_ALL = [
"LanguageModelInput", "LanguageModelInput",
"LanguageModelOutput", "LanguageModelOutput",
"get_tokenizer", "get_tokenizer",
"LanguageModelLike",
] ]