mirror of
https://github.com/hwchase17/langchain
synced 2024-11-06 03:20:49 +00:00
ed58eeb9c5
Moved the following modules to new package langchain-community in a backwards compatible fashion: ``` mv langchain/langchain/adapters community/langchain_community mv langchain/langchain/callbacks community/langchain_community/callbacks mv langchain/langchain/chat_loaders community/langchain_community mv langchain/langchain/chat_models community/langchain_community mv langchain/langchain/document_loaders community/langchain_community mv langchain/langchain/docstore community/langchain_community mv langchain/langchain/document_transformers community/langchain_community mv langchain/langchain/embeddings community/langchain_community mv langchain/langchain/graphs community/langchain_community mv langchain/langchain/llms community/langchain_community mv langchain/langchain/memory/chat_message_histories community/langchain_community mv langchain/langchain/retrievers community/langchain_community mv langchain/langchain/storage community/langchain_community mv langchain/langchain/tools community/langchain_community mv langchain/langchain/utilities community/langchain_community mv langchain/langchain/vectorstores community/langchain_community mv langchain/langchain/agents/agent_toolkits community/langchain_community mv langchain/langchain/cache.py community/langchain_community mv langchain/langchain/adapters community/langchain_community mv langchain/langchain/callbacks community/langchain_community/callbacks mv langchain/langchain/chat_loaders community/langchain_community mv langchain/langchain/chat_models community/langchain_community mv langchain/langchain/document_loaders community/langchain_community mv langchain/langchain/docstore community/langchain_community mv langchain/langchain/document_transformers community/langchain_community mv langchain/langchain/embeddings community/langchain_community mv langchain/langchain/graphs community/langchain_community mv langchain/langchain/llms community/langchain_community mv langchain/langchain/memory/chat_message_histories community/langchain_community mv langchain/langchain/retrievers community/langchain_community mv langchain/langchain/storage community/langchain_community mv langchain/langchain/tools community/langchain_community mv langchain/langchain/utilities community/langchain_community mv langchain/langchain/vectorstores community/langchain_community mv langchain/langchain/agents/agent_toolkits community/langchain_community mv langchain/langchain/cache.py community/langchain_community ``` Moved the following to core ``` mv langchain/langchain/utils/json_schema.py core/langchain_core/utils mv langchain/langchain/utils/html.py core/langchain_core/utils mv langchain/langchain/utils/strings.py core/langchain_core/utils cat langchain/langchain/utils/env.py >> core/langchain_core/utils/env.py rm langchain/langchain/utils/env.py ``` See .scripts/community_split/script_integrations.sh for all changes
253 lines
2.6 KiB
Python
253 lines
2.6 KiB
Python
import pytest
|
|
|
|
from langchain_community.llms.bedrock import ALTERNATION_ERROR, _human_assistant_format
|
|
|
|
TEST_CASES = {
|
|
"""Hey""": """
|
|
|
|
Human: Hey
|
|
|
|
Assistant:""",
|
|
"""
|
|
|
|
Human: Hello
|
|
|
|
Assistant:""": """
|
|
|
|
Human: Hello
|
|
|
|
Assistant:""",
|
|
"""Human: Hello
|
|
|
|
Assistant:""": """
|
|
|
|
Human: Hello
|
|
|
|
Assistant:""",
|
|
"""
|
|
Human: Hello
|
|
|
|
Assistant:""": """
|
|
|
|
Human: Hello
|
|
|
|
Assistant:""",
|
|
"""
|
|
|
|
Human: Human: Hello
|
|
|
|
Assistant:""": (
|
|
"Error: Prompt must alternate between '\n\nHuman:' and '\n\nAssistant:'."
|
|
),
|
|
"""Human: Hello
|
|
|
|
Assistant: Hello
|
|
|
|
Human: Hello
|
|
|
|
Assistant:""": """
|
|
|
|
Human: Hello
|
|
|
|
Assistant: Hello
|
|
|
|
Human: Hello
|
|
|
|
Assistant:""",
|
|
"""
|
|
|
|
Human: Hello
|
|
|
|
Assistant: Hello
|
|
|
|
Human: Hello
|
|
|
|
Assistant:""": """
|
|
|
|
Human: Hello
|
|
|
|
Assistant: Hello
|
|
|
|
Human: Hello
|
|
|
|
Assistant:""",
|
|
"""
|
|
|
|
Human: Hello
|
|
|
|
Assistant: Hello
|
|
|
|
Human: Hello
|
|
|
|
Assistant: Hello
|
|
|
|
Assistant: Hello""": ALTERNATION_ERROR,
|
|
"""
|
|
|
|
Human: Hi.
|
|
|
|
Assistant: Hi.
|
|
|
|
Human: Hi.
|
|
|
|
Human: Hi.
|
|
|
|
Assistant:""": ALTERNATION_ERROR,
|
|
"""
|
|
Human: Hello""": """
|
|
|
|
Human: Hello
|
|
|
|
Assistant:""",
|
|
"""
|
|
|
|
Human: Hello
|
|
Hello
|
|
|
|
Assistant""": """
|
|
|
|
Human: Hello
|
|
Hello
|
|
|
|
Assistant
|
|
|
|
Assistant:""",
|
|
"""Hello
|
|
|
|
Assistant:""": """
|
|
|
|
Human: Hello
|
|
|
|
Assistant:""",
|
|
"""Hello
|
|
|
|
Human: Hello
|
|
|
|
""": """Hello
|
|
|
|
Human: Hello
|
|
|
|
|
|
|
|
Assistant:""",
|
|
"""
|
|
|
|
Human: Assistant: Hello""": """
|
|
|
|
Human:
|
|
|
|
Assistant: Hello""",
|
|
"""
|
|
|
|
Human: Human
|
|
|
|
Assistant: Assistant
|
|
|
|
Human: Assistant
|
|
|
|
Assistant: Human""": """
|
|
|
|
Human: Human
|
|
|
|
Assistant: Assistant
|
|
|
|
Human: Assistant
|
|
|
|
Assistant: Human""",
|
|
"""
|
|
Assistant: Hello there, your name is:
|
|
|
|
Human.
|
|
|
|
Human: Hello there, your name is:
|
|
|
|
Assistant.""": """
|
|
|
|
Human:
|
|
|
|
Assistant: Hello there, your name is:
|
|
|
|
Human.
|
|
|
|
Human: Hello there, your name is:
|
|
|
|
Assistant.
|
|
|
|
Assistant:""",
|
|
"""
|
|
|
|
Human: Human: Hi
|
|
|
|
Assistant: Hi""": ALTERNATION_ERROR,
|
|
"""Human: Hi
|
|
|
|
Human: Hi""": ALTERNATION_ERROR,
|
|
"""
|
|
|
|
Assistant: Hi
|
|
|
|
Human: Hi""": """
|
|
|
|
Human:
|
|
|
|
Assistant: Hi
|
|
|
|
Human: Hi
|
|
|
|
Assistant:""",
|
|
"""
|
|
|
|
Human: Hi
|
|
|
|
Assistant: Yo
|
|
|
|
Human: Hey
|
|
|
|
Assistant: Sup
|
|
|
|
Human: Hi
|
|
|
|
Assistant: Hi
|
|
Human: Hi
|
|
Assistant:""": """
|
|
|
|
Human: Hi
|
|
|
|
Assistant: Yo
|
|
|
|
Human: Hey
|
|
|
|
Assistant: Sup
|
|
|
|
Human: Hi
|
|
|
|
Assistant: Hi
|
|
|
|
Human: Hi
|
|
|
|
Assistant:""",
|
|
"""
|
|
|
|
Hello.
|
|
|
|
Human: Hello.
|
|
|
|
Assistant:""": """
|
|
|
|
Hello.
|
|
|
|
Human: Hello.
|
|
|
|
Assistant:""",
|
|
}
|
|
|
|
|
|
def test__human_assistant_format() -> None:
|
|
for input_text, expected_output in TEST_CASES.items():
|
|
if expected_output == ALTERNATION_ERROR:
|
|
with pytest.warns(UserWarning, match=ALTERNATION_ERROR):
|
|
_human_assistant_format(input_text)
|
|
else:
|
|
output = _human_assistant_format(input_text)
|
|
assert output == expected_output
|