test__convert_dict_to_message_tool_call() — langchain Function Reference
Architecture documentation for the test__convert_dict_to_message_tool_call() function in test_base.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD d7910178_e5be_3140_8caa_50bbf164aa74["test__convert_dict_to_message_tool_call()"] 48232d20_f8c1_b597_14fa_7dc407e9bfe5["test_base.py"] d7910178_e5be_3140_8caa_50bbf164aa74 -->|defined in| 48232d20_f8c1_b597_14fa_7dc407e9bfe5 style d7910178_e5be_3140_8caa_50bbf164aa74 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
libs/partners/openai/tests/unit_tests/chat_models/test_base.py lines 240–314
def test__convert_dict_to_message_tool_call() -> None:
raw_tool_call = {
"id": "call_wm0JY6CdwOMZ4eTxHWUThDNz",
"function": {
"arguments": '{"name": "Sally", "hair_color": "green"}',
"name": "GenerateUsername",
},
"type": "function",
}
message = {"role": "assistant", "content": None, "tool_calls": [raw_tool_call]}
result = _convert_dict_to_message(message)
expected_output = AIMessage(
content="",
tool_calls=[
ToolCall(
name="GenerateUsername",
args={"name": "Sally", "hair_color": "green"},
id="call_wm0JY6CdwOMZ4eTxHWUThDNz",
type="tool_call",
)
],
)
assert result == expected_output
assert _convert_message_to_dict(expected_output) == message
# Test malformed tool call
raw_tool_calls: list = [
{
"id": "call_wm0JY6CdwOMZ4eTxHWUThDNz",
"function": {"arguments": "oops", "name": "GenerateUsername"},
"type": "function",
},
{
"id": "call_abc123",
"function": {
"arguments": '{"name": "Sally", "hair_color": "green"}',
"name": "GenerateUsername",
},
"type": "function",
},
]
raw_tool_calls = sorted(raw_tool_calls, key=lambda x: x["id"])
message = {"role": "assistant", "content": None, "tool_calls": raw_tool_calls}
result = _convert_dict_to_message(message)
expected_output = AIMessage(
content="",
invalid_tool_calls=[
InvalidToolCall(
name="GenerateUsername",
args="oops",
id="call_wm0JY6CdwOMZ4eTxHWUThDNz",
error=(
"Function GenerateUsername arguments:\n\noops\n\nare not "
"valid JSON. Received JSONDecodeError Expecting value: line 1 "
"column 1 (char 0)\nFor troubleshooting, visit: https://docs"
".langchain.com/oss/python/langchain/errors/OUTPUT_PARSING_FAILURE "
),
type="invalid_tool_call",
)
],
tool_calls=[
ToolCall(
name="GenerateUsername",
args={"name": "Sally", "hair_color": "green"},
id="call_abc123",
type="tool_call",
)
],
)
assert result == expected_output
reverted_message_dict = _convert_message_to_dict(expected_output)
reverted_message_dict["tool_calls"] = sorted(
reverted_message_dict["tool_calls"], key=lambda x: x["id"]
)
assert reverted_message_dict == message
Domain
Subdomains
Source
Frequently Asked Questions
What does test__convert_dict_to_message_tool_call() do?
test__convert_dict_to_message_tool_call() is a function in the langchain codebase, defined in libs/partners/openai/tests/unit_tests/chat_models/test_base.py.
Where is test__convert_dict_to_message_tool_call() defined?
test__convert_dict_to_message_tool_call() is defined in libs/partners/openai/tests/unit_tests/chat_models/test_base.py at line 240.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free