|
|
@ -1,6 +1,6 @@
|
|
|
|
from typing import Any, Callable, Sequence, Union
|
|
|
|
from typing import Any, Callable, Sequence, Union
|
|
|
|
|
|
|
|
|
|
|
|
from langchain_core.messages import AIMessage, BaseMessage, HumanMessage
|
|
|
|
from langchain_core.messages import AIMessage, BaseMessage, HumanMessage, SystemMessage
|
|
|
|
from langchain_core.pydantic_v1 import BaseModel
|
|
|
|
from langchain_core.pydantic_v1 import BaseModel
|
|
|
|
from langchain_core.runnables.base import RunnableLambda
|
|
|
|
from langchain_core.runnables.base import RunnableLambda
|
|
|
|
from langchain_core.runnables.config import RunnableConfig
|
|
|
|
from langchain_core.runnables.config import RunnableConfig
|
|
|
@ -8,6 +8,15 @@ from langchain_core.runnables.history import RunnableWithMessageHistory
|
|
|
|
from tests.unit_tests.fake.memory import ChatMessageHistory
|
|
|
|
from tests.unit_tests.fake.memory import ChatMessageHistory
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_interfaces() -> None:
|
|
|
|
|
|
|
|
history = ChatMessageHistory()
|
|
|
|
|
|
|
|
history.add_message(SystemMessage(content="system"))
|
|
|
|
|
|
|
|
history.add_user_message("human 1")
|
|
|
|
|
|
|
|
history.add_ai_message("ai")
|
|
|
|
|
|
|
|
history.add_message(HumanMessage(content="human 2"))
|
|
|
|
|
|
|
|
assert str(history) == "System: system\nHuman: human 1\nAI: ai\nHuman: human 2"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def _get_get_session_history() -> Callable[..., ChatMessageHistory]:
|
|
|
|
def _get_get_session_history() -> Callable[..., ChatMessageHistory]:
|
|
|
|
chat_history_store = {}
|
|
|
|
chat_history_store = {}
|
|
|
|
|
|
|
|
|
|
|
|