mirror of
https://github.com/hwchase17/langchain.git
synced 2025-09-26 22:05:29 +00:00
core[patch]: fix ChatPromptValueConcrete typing (#26106)
Thank you for contributing to LangChain! - [ ] **PR title**: "package: description" - Where "package" is whichever of langchain, community, core, experimental, etc. is being modified. Use "docs: ..." for purely docs changes, "templates: ..." for template changes, "infra: ..." for CI changes. - Example: "community: add foobar LLM" - [ ] **PR message**: ***Delete this entire checklist*** and replace with - **Description:** a description of the change - **Issue:** the issue # it fixes, if applicable - **Dependencies:** any dependencies required for this change - **Twitter handle:** if your PR gets announced, and you'd like a mention, we'll gladly shout you out! - [ ] **Add tests and docs**: If you're adding a new integration, please include 1. a test for the integration, preferably unit tests that do not rely on network access, 2. an example notebook showing its use. It lives in `docs/docs/integrations` directory. - [ ] **Lint and test**: Run `make format`, `make lint` and `make test` from the root of the package(s) you've modified. See contribution guidelines for more: https://python.langchain.com/docs/contributing/ Additional guidelines: - Make sure optional dependencies are imported within a function. - Please do not add dependencies to pyproject.toml files (even optional ones) unless they are required for unit tests. - Most PRs should not touch more than one package. - Changes should be backwards compatible. - If you are adding something to community, do not re-import it in langchain. If no one reviews your PR within a few days, please @-mention one of baskaryan, efriis, eyurtsev, ccurme, vbarda, hwchase17.
This commit is contained in:
@@ -29,6 +29,9 @@ from typing import (
|
||||
overload,
|
||||
)
|
||||
|
||||
from pydantic import Discriminator, Field
|
||||
from typing_extensions import Annotated
|
||||
|
||||
from langchain_core.messages.ai import AIMessage, AIMessageChunk
|
||||
from langchain_core.messages.base import BaseMessage, BaseMessageChunk
|
||||
from langchain_core.messages.chat import ChatMessage, ChatMessageChunk
|
||||
@@ -45,19 +48,23 @@ if TYPE_CHECKING:
|
||||
from langchain_core.prompt_values import PromptValue
|
||||
from langchain_core.runnables.base import Runnable
|
||||
|
||||
AnyMessage = Union[
|
||||
AIMessage,
|
||||
HumanMessage,
|
||||
ChatMessage,
|
||||
SystemMessage,
|
||||
FunctionMessage,
|
||||
ToolMessage,
|
||||
AIMessageChunk,
|
||||
HumanMessageChunk,
|
||||
ChatMessageChunk,
|
||||
SystemMessageChunk,
|
||||
FunctionMessageChunk,
|
||||
ToolMessageChunk,
|
||||
|
||||
AnyMessage = Annotated[
|
||||
Union[
|
||||
AIMessage,
|
||||
HumanMessage,
|
||||
ChatMessage,
|
||||
SystemMessage,
|
||||
FunctionMessage,
|
||||
ToolMessage,
|
||||
AIMessageChunk,
|
||||
HumanMessageChunk,
|
||||
ChatMessageChunk,
|
||||
SystemMessageChunk,
|
||||
FunctionMessageChunk,
|
||||
ToolMessageChunk,
|
||||
],
|
||||
Field(discriminator=Discriminator("type")),
|
||||
]
|
||||
|
||||
|
||||
|
@@ -1349,7 +1349,24 @@
|
||||
'history': dict({
|
||||
'default': None,
|
||||
'items': dict({
|
||||
'anyOf': list([
|
||||
'discriminator': dict({
|
||||
'mapping': dict({
|
||||
'AIMessageChunk': '#/$defs/AIMessageChunk',
|
||||
'ChatMessageChunk': '#/$defs/ChatMessageChunk',
|
||||
'FunctionMessageChunk': '#/$defs/FunctionMessageChunk',
|
||||
'HumanMessageChunk': '#/$defs/HumanMessageChunk',
|
||||
'SystemMessageChunk': '#/$defs/SystemMessageChunk',
|
||||
'ToolMessageChunk': '#/$defs/ToolMessageChunk',
|
||||
'ai': '#/$defs/AIMessage',
|
||||
'chat': '#/$defs/ChatMessage',
|
||||
'function': '#/$defs/FunctionMessage',
|
||||
'human': '#/$defs/HumanMessage',
|
||||
'system': '#/$defs/SystemMessage',
|
||||
'tool': '#/$defs/ToolMessage',
|
||||
}),
|
||||
'propertyName': 'type',
|
||||
}),
|
||||
'oneOf': list([
|
||||
dict({
|
||||
'$ref': '#/$defs/AIMessage',
|
||||
}),
|
||||
@@ -2752,7 +2769,24 @@
|
||||
'properties': dict({
|
||||
'history': dict({
|
||||
'items': dict({
|
||||
'anyOf': list([
|
||||
'discriminator': dict({
|
||||
'mapping': dict({
|
||||
'AIMessageChunk': '#/$defs/AIMessageChunk',
|
||||
'ChatMessageChunk': '#/$defs/ChatMessageChunk',
|
||||
'FunctionMessageChunk': '#/$defs/FunctionMessageChunk',
|
||||
'HumanMessageChunk': '#/$defs/HumanMessageChunk',
|
||||
'SystemMessageChunk': '#/$defs/SystemMessageChunk',
|
||||
'ToolMessageChunk': '#/$defs/ToolMessageChunk',
|
||||
'ai': '#/$defs/AIMessage',
|
||||
'chat': '#/$defs/ChatMessage',
|
||||
'function': '#/$defs/FunctionMessage',
|
||||
'human': '#/$defs/HumanMessage',
|
||||
'system': '#/$defs/SystemMessage',
|
||||
'tool': '#/$defs/ToolMessage',
|
||||
}),
|
||||
'propertyName': 'type',
|
||||
}),
|
||||
'oneOf': list([
|
||||
dict({
|
||||
'$ref': '#/$defs/AIMessage',
|
||||
}),
|
||||
|
@@ -1710,40 +1710,61 @@
|
||||
'type': 'string',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/$defs/AIMessage',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/$defs/HumanMessage',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/$defs/ChatMessage',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/$defs/SystemMessage',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/$defs/FunctionMessage',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/$defs/ToolMessage',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/$defs/AIMessageChunk',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/$defs/HumanMessageChunk',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/$defs/ChatMessageChunk',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/$defs/SystemMessageChunk',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/$defs/FunctionMessageChunk',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/$defs/ToolMessageChunk',
|
||||
'discriminator': dict({
|
||||
'mapping': dict({
|
||||
'AIMessageChunk': '#/$defs/AIMessageChunk',
|
||||
'ChatMessageChunk': '#/$defs/ChatMessageChunk',
|
||||
'FunctionMessageChunk': '#/$defs/FunctionMessageChunk',
|
||||
'HumanMessageChunk': '#/$defs/HumanMessageChunk',
|
||||
'SystemMessageChunk': '#/$defs/SystemMessageChunk',
|
||||
'ToolMessageChunk': '#/$defs/ToolMessageChunk',
|
||||
'ai': '#/$defs/AIMessage',
|
||||
'chat': '#/$defs/ChatMessage',
|
||||
'function': '#/$defs/FunctionMessage',
|
||||
'human': '#/$defs/HumanMessage',
|
||||
'system': '#/$defs/SystemMessage',
|
||||
'tool': '#/$defs/ToolMessage',
|
||||
}),
|
||||
'propertyName': 'type',
|
||||
}),
|
||||
'oneOf': list([
|
||||
dict({
|
||||
'$ref': '#/$defs/AIMessage',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/$defs/HumanMessage',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/$defs/ChatMessage',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/$defs/SystemMessage',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/$defs/FunctionMessage',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/$defs/ToolMessage',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/$defs/AIMessageChunk',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/$defs/HumanMessageChunk',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/$defs/ChatMessageChunk',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/$defs/SystemMessageChunk',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/$defs/FunctionMessageChunk',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/$defs/ToolMessageChunk',
|
||||
}),
|
||||
]),
|
||||
}),
|
||||
]),
|
||||
'title': 'RunnableParallel<as_list,as_str>Input',
|
||||
|
@@ -6525,7 +6525,24 @@
|
||||
'properties': dict({
|
||||
'history': dict({
|
||||
'items': dict({
|
||||
'anyOf': list([
|
||||
'discriminator': dict({
|
||||
'mapping': dict({
|
||||
'AIMessageChunk': '#/$defs/AIMessageChunk',
|
||||
'ChatMessageChunk': '#/$defs/ChatMessageChunk',
|
||||
'FunctionMessageChunk': '#/$defs/FunctionMessageChunk',
|
||||
'HumanMessageChunk': '#/$defs/HumanMessageChunk',
|
||||
'SystemMessageChunk': '#/$defs/SystemMessageChunk',
|
||||
'ToolMessageChunk': '#/$defs/ToolMessageChunk',
|
||||
'ai': '#/$defs/AIMessage',
|
||||
'chat': '#/$defs/ChatMessage',
|
||||
'function': '#/$defs/FunctionMessage',
|
||||
'human': '#/$defs/HumanMessage',
|
||||
'system': '#/$defs/SystemMessage',
|
||||
'tool': '#/$defs/ToolMessage',
|
||||
}),
|
||||
'propertyName': 'type',
|
||||
}),
|
||||
'oneOf': list([
|
||||
dict({
|
||||
'$ref': '#/$defs/AIMessage',
|
||||
}),
|
||||
@@ -6973,7 +6990,24 @@
|
||||
'properties': dict({
|
||||
'messages': dict({
|
||||
'items': dict({
|
||||
'anyOf': list([
|
||||
'discriminator': dict({
|
||||
'mapping': dict({
|
||||
'AIMessageChunk': '#/$defs/AIMessageChunk',
|
||||
'ChatMessageChunk': '#/$defs/ChatMessageChunk',
|
||||
'FunctionMessageChunk': '#/$defs/FunctionMessageChunk',
|
||||
'HumanMessageChunk': '#/$defs/HumanMessageChunk',
|
||||
'SystemMessageChunk': '#/$defs/SystemMessageChunk',
|
||||
'ToolMessageChunk': '#/$defs/ToolMessageChunk',
|
||||
'ai': '#/$defs/AIMessage',
|
||||
'chat': '#/$defs/ChatMessage',
|
||||
'function': '#/$defs/FunctionMessage',
|
||||
'human': '#/$defs/HumanMessage',
|
||||
'system': '#/$defs/SystemMessage',
|
||||
'tool': '#/$defs/ToolMessage',
|
||||
}),
|
||||
'propertyName': 'type',
|
||||
}),
|
||||
'oneOf': list([
|
||||
dict({
|
||||
'$ref': '#/$defs/AIMessage',
|
||||
}),
|
||||
@@ -8035,7 +8069,24 @@
|
||||
}),
|
||||
dict({
|
||||
'items': dict({
|
||||
'anyOf': list([
|
||||
'discriminator': dict({
|
||||
'mapping': dict({
|
||||
'AIMessageChunk': '#/definitions/AIMessageChunk',
|
||||
'ChatMessageChunk': '#/definitions/ChatMessageChunk',
|
||||
'FunctionMessageChunk': '#/definitions/FunctionMessageChunk',
|
||||
'HumanMessageChunk': '#/definitions/HumanMessageChunk',
|
||||
'SystemMessageChunk': '#/definitions/SystemMessageChunk',
|
||||
'ToolMessageChunk': '#/definitions/ToolMessageChunk',
|
||||
'ai': '#/definitions/AIMessage',
|
||||
'chat': '#/definitions/ChatMessage',
|
||||
'function': '#/definitions/FunctionMessage',
|
||||
'human': '#/definitions/HumanMessage',
|
||||
'system': '#/definitions/SystemMessage',
|
||||
'tool': '#/definitions/ToolMessage',
|
||||
}),
|
||||
'propertyName': 'type',
|
||||
}),
|
||||
'oneOf': list([
|
||||
dict({
|
||||
'$ref': '#/definitions/AIMessage',
|
||||
}),
|
||||
@@ -8473,7 +8524,24 @@
|
||||
'properties': dict({
|
||||
'messages': dict({
|
||||
'items': dict({
|
||||
'anyOf': list([
|
||||
'discriminator': dict({
|
||||
'mapping': dict({
|
||||
'AIMessageChunk': '#/definitions/AIMessageChunk',
|
||||
'ChatMessageChunk': '#/definitions/ChatMessageChunk',
|
||||
'FunctionMessageChunk': '#/definitions/FunctionMessageChunk',
|
||||
'HumanMessageChunk': '#/definitions/HumanMessageChunk',
|
||||
'SystemMessageChunk': '#/definitions/SystemMessageChunk',
|
||||
'ToolMessageChunk': '#/definitions/ToolMessageChunk',
|
||||
'ai': '#/definitions/AIMessage',
|
||||
'chat': '#/definitions/ChatMessage',
|
||||
'function': '#/definitions/FunctionMessage',
|
||||
'human': '#/definitions/HumanMessage',
|
||||
'system': '#/definitions/SystemMessage',
|
||||
'tool': '#/definitions/ToolMessage',
|
||||
}),
|
||||
'propertyName': 'type',
|
||||
}),
|
||||
'oneOf': list([
|
||||
dict({
|
||||
'$ref': '#/definitions/AIMessage',
|
||||
}),
|
||||
@@ -9513,44 +9581,6 @@
|
||||
# ---
|
||||
# name: test_schemas[fake_chat_output_schema]
|
||||
dict({
|
||||
'anyOf': list([
|
||||
dict({
|
||||
'$ref': '#/definitions/AIMessage',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/definitions/HumanMessage',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/definitions/ChatMessage',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/definitions/SystemMessage',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/definitions/FunctionMessage',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/definitions/ToolMessage',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/definitions/AIMessageChunk',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/definitions/HumanMessageChunk',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/definitions/ChatMessageChunk',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/definitions/SystemMessageChunk',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/definitions/FunctionMessageChunk',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/definitions/ToolMessageChunk',
|
||||
}),
|
||||
]),
|
||||
'definitions': dict({
|
||||
'AIMessage': dict({
|
||||
'additionalProperties': True,
|
||||
@@ -10893,6 +10923,61 @@
|
||||
'type': 'object',
|
||||
}),
|
||||
}),
|
||||
'discriminator': dict({
|
||||
'mapping': dict({
|
||||
'AIMessageChunk': '#/definitions/AIMessageChunk',
|
||||
'ChatMessageChunk': '#/definitions/ChatMessageChunk',
|
||||
'FunctionMessageChunk': '#/definitions/FunctionMessageChunk',
|
||||
'HumanMessageChunk': '#/definitions/HumanMessageChunk',
|
||||
'SystemMessageChunk': '#/definitions/SystemMessageChunk',
|
||||
'ToolMessageChunk': '#/definitions/ToolMessageChunk',
|
||||
'ai': '#/definitions/AIMessage',
|
||||
'chat': '#/definitions/ChatMessage',
|
||||
'function': '#/definitions/FunctionMessage',
|
||||
'human': '#/definitions/HumanMessage',
|
||||
'system': '#/definitions/SystemMessage',
|
||||
'tool': '#/definitions/ToolMessage',
|
||||
}),
|
||||
'propertyName': 'type',
|
||||
}),
|
||||
'oneOf': list([
|
||||
dict({
|
||||
'$ref': '#/definitions/AIMessage',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/definitions/HumanMessage',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/definitions/ChatMessage',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/definitions/SystemMessage',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/definitions/FunctionMessage',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/definitions/ToolMessage',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/definitions/AIMessageChunk',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/definitions/HumanMessageChunk',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/definitions/ChatMessageChunk',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/definitions/SystemMessageChunk',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/definitions/FunctionMessageChunk',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/definitions/ToolMessageChunk',
|
||||
}),
|
||||
]),
|
||||
'title': 'FakeListChatModelOutput',
|
||||
})
|
||||
# ---
|
||||
@@ -10910,7 +10995,24 @@
|
||||
}),
|
||||
dict({
|
||||
'items': dict({
|
||||
'anyOf': list([
|
||||
'discriminator': dict({
|
||||
'mapping': dict({
|
||||
'AIMessageChunk': '#/definitions/AIMessageChunk',
|
||||
'ChatMessageChunk': '#/definitions/ChatMessageChunk',
|
||||
'FunctionMessageChunk': '#/definitions/FunctionMessageChunk',
|
||||
'HumanMessageChunk': '#/definitions/HumanMessageChunk',
|
||||
'SystemMessageChunk': '#/definitions/SystemMessageChunk',
|
||||
'ToolMessageChunk': '#/definitions/ToolMessageChunk',
|
||||
'ai': '#/definitions/AIMessage',
|
||||
'chat': '#/definitions/ChatMessage',
|
||||
'function': '#/definitions/FunctionMessage',
|
||||
'human': '#/definitions/HumanMessage',
|
||||
'system': '#/definitions/SystemMessage',
|
||||
'tool': '#/definitions/ToolMessage',
|
||||
}),
|
||||
'propertyName': 'type',
|
||||
}),
|
||||
'oneOf': list([
|
||||
dict({
|
||||
'$ref': '#/definitions/AIMessage',
|
||||
}),
|
||||
@@ -11348,7 +11450,24 @@
|
||||
'properties': dict({
|
||||
'messages': dict({
|
||||
'items': dict({
|
||||
'anyOf': list([
|
||||
'discriminator': dict({
|
||||
'mapping': dict({
|
||||
'AIMessageChunk': '#/definitions/AIMessageChunk',
|
||||
'ChatMessageChunk': '#/definitions/ChatMessageChunk',
|
||||
'FunctionMessageChunk': '#/definitions/FunctionMessageChunk',
|
||||
'HumanMessageChunk': '#/definitions/HumanMessageChunk',
|
||||
'SystemMessageChunk': '#/definitions/SystemMessageChunk',
|
||||
'ToolMessageChunk': '#/definitions/ToolMessageChunk',
|
||||
'ai': '#/definitions/AIMessage',
|
||||
'chat': '#/definitions/ChatMessage',
|
||||
'function': '#/definitions/FunctionMessage',
|
||||
'human': '#/definitions/HumanMessage',
|
||||
'system': '#/definitions/SystemMessage',
|
||||
'tool': '#/definitions/ToolMessage',
|
||||
}),
|
||||
'propertyName': 'type',
|
||||
}),
|
||||
'oneOf': list([
|
||||
dict({
|
||||
'$ref': '#/definitions/AIMessage',
|
||||
}),
|
||||
@@ -12393,40 +12512,61 @@
|
||||
'type': 'string',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/definitions/AIMessage',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/definitions/HumanMessage',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/definitions/ChatMessage',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/definitions/SystemMessage',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/definitions/FunctionMessage',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/definitions/ToolMessage',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/definitions/AIMessageChunk',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/definitions/HumanMessageChunk',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/definitions/ChatMessageChunk',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/definitions/SystemMessageChunk',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/definitions/FunctionMessageChunk',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/definitions/ToolMessageChunk',
|
||||
'discriminator': dict({
|
||||
'mapping': dict({
|
||||
'AIMessageChunk': '#/definitions/AIMessageChunk',
|
||||
'ChatMessageChunk': '#/definitions/ChatMessageChunk',
|
||||
'FunctionMessageChunk': '#/definitions/FunctionMessageChunk',
|
||||
'HumanMessageChunk': '#/definitions/HumanMessageChunk',
|
||||
'SystemMessageChunk': '#/definitions/SystemMessageChunk',
|
||||
'ToolMessageChunk': '#/definitions/ToolMessageChunk',
|
||||
'ai': '#/definitions/AIMessage',
|
||||
'chat': '#/definitions/ChatMessage',
|
||||
'function': '#/definitions/FunctionMessage',
|
||||
'human': '#/definitions/HumanMessage',
|
||||
'system': '#/definitions/SystemMessage',
|
||||
'tool': '#/definitions/ToolMessage',
|
||||
}),
|
||||
'propertyName': 'type',
|
||||
}),
|
||||
'oneOf': list([
|
||||
dict({
|
||||
'$ref': '#/definitions/AIMessage',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/definitions/HumanMessage',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/definitions/ChatMessage',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/definitions/SystemMessage',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/definitions/FunctionMessage',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/definitions/ToolMessage',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/definitions/AIMessageChunk',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/definitions/HumanMessageChunk',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/definitions/ChatMessageChunk',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/definitions/SystemMessageChunk',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/definitions/FunctionMessageChunk',
|
||||
}),
|
||||
dict({
|
||||
'$ref': '#/definitions/ToolMessageChunk',
|
||||
}),
|
||||
]),
|
||||
}),
|
||||
]),
|
||||
'definitions': dict({
|
||||
@@ -14172,7 +14312,24 @@
|
||||
'properties': dict({
|
||||
'messages': dict({
|
||||
'items': dict({
|
||||
'anyOf': list([
|
||||
'discriminator': dict({
|
||||
'mapping': dict({
|
||||
'AIMessageChunk': '#/definitions/AIMessageChunk',
|
||||
'ChatMessageChunk': '#/definitions/ChatMessageChunk',
|
||||
'FunctionMessageChunk': '#/definitions/FunctionMessageChunk',
|
||||
'HumanMessageChunk': '#/definitions/HumanMessageChunk',
|
||||
'SystemMessageChunk': '#/definitions/SystemMessageChunk',
|
||||
'ToolMessageChunk': '#/definitions/ToolMessageChunk',
|
||||
'ai': '#/definitions/AIMessage',
|
||||
'chat': '#/definitions/ChatMessage',
|
||||
'function': '#/definitions/FunctionMessage',
|
||||
'human': '#/definitions/HumanMessage',
|
||||
'system': '#/definitions/SystemMessage',
|
||||
'tool': '#/definitions/ToolMessage',
|
||||
}),
|
||||
'propertyName': 'type',
|
||||
}),
|
||||
'oneOf': list([
|
||||
dict({
|
||||
'$ref': '#/definitions/AIMessage',
|
||||
}),
|
||||
@@ -15631,7 +15788,24 @@
|
||||
'properties': dict({
|
||||
'messages': dict({
|
||||
'items': dict({
|
||||
'anyOf': list([
|
||||
'discriminator': dict({
|
||||
'mapping': dict({
|
||||
'AIMessageChunk': '#/definitions/AIMessageChunk',
|
||||
'ChatMessageChunk': '#/definitions/ChatMessageChunk',
|
||||
'FunctionMessageChunk': '#/definitions/FunctionMessageChunk',
|
||||
'HumanMessageChunk': '#/definitions/HumanMessageChunk',
|
||||
'SystemMessageChunk': '#/definitions/SystemMessageChunk',
|
||||
'ToolMessageChunk': '#/definitions/ToolMessageChunk',
|
||||
'ai': '#/definitions/AIMessage',
|
||||
'chat': '#/definitions/ChatMessage',
|
||||
'function': '#/definitions/FunctionMessage',
|
||||
'human': '#/definitions/HumanMessage',
|
||||
'system': '#/definitions/SystemMessage',
|
||||
'tool': '#/definitions/ToolMessage',
|
||||
}),
|
||||
'propertyName': 'type',
|
||||
}),
|
||||
'oneOf': list([
|
||||
dict({
|
||||
'$ref': '#/definitions/AIMessage',
|
||||
}),
|
||||
|
@@ -1,5 +1,3 @@
|
||||
import pytest
|
||||
|
||||
from langchain_core.messages import (
|
||||
AIMessage,
|
||||
AIMessageChunk,
|
||||
@@ -13,7 +11,6 @@ from langchain_core.messages import (
|
||||
from langchain_core.prompt_values import ChatPromptValueConcrete
|
||||
|
||||
|
||||
@pytest.mark.xfail(reason="Broken union type.")
|
||||
def test_chat_prompt_value_concrete() -> None:
|
||||
messages: list = [
|
||||
AIMessage("foo"),
|
||||
|
@@ -16,6 +16,7 @@ from langchain_core.messages import (
|
||||
HumanMessageChunk,
|
||||
SystemMessage,
|
||||
SystemMessageChunk,
|
||||
ToolMessage,
|
||||
)
|
||||
from langchain_core.outputs import ChatGeneration, ChatGenerationChunk, Generation
|
||||
from langchain_core.prompt_values import ChatPromptValueConcrete, StringPromptValue
|
||||
@@ -73,7 +74,12 @@ def test_serialization_of_wellknown_objects() -> None:
|
||||
content="human",
|
||||
),
|
||||
StringPromptValue(text="hello"),
|
||||
ChatPromptValueConcrete(messages=[AIMessage(content="foo")]),
|
||||
ChatPromptValueConcrete(messages=[HumanMessage(content="human")]),
|
||||
ChatPromptValueConcrete(
|
||||
messages=[ToolMessage(content="foo", tool_call_id="bar")]
|
||||
),
|
||||
ChatPromptValueConcrete(messages=[SystemMessage(content="foo")]),
|
||||
Document(page_content="hello"),
|
||||
AgentFinish(return_values={}, log=""),
|
||||
AgentAction(tool="tool", tool_input="input", log=""),
|
||||
|
Reference in New Issue
Block a user