strands.experimental.agent_config
¶
Experimental agent configuration utilities.
This module provides utilities for creating agents from configuration files or dictionaries.
Note: Configuration-based agent setup only works for tools that don't require code-based instantiation. For tools that need constructor arguments or complex setup, use the programmatic approach after creating the agent:
agent = config_to_agent("config.json")
# Add tools that need code-based instantiation
agent.tool_registry.process_tools([ToolWithConfigArg(HttpsConnection("localhost"))])
config_to_agent(config, **kwargs)
¶
Create an Agent from a configuration file or dictionary.
This function supports tools that can be loaded declaratively (file paths, module names, or @tool annotated functions). For tools requiring code-based instantiation with constructor arguments, add them programmatically after creating the agent:
agent = config_to_agent("config.json")
agent.process_tools([ToolWithConfigArg(HttpsConnection("localhost"))])
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
config
|
str | dict[str, Any]
|
Either a file path (with optional file:// prefix) or a configuration dictionary |
required |
**kwargs
|
dict[str, Any]
|
Additional keyword arguments to pass to the Agent constructor |
{}
|
Returns:
| Name | Type | Description |
|---|---|---|
Agent |
Any
|
A configured Agent instance |
Raises:
| Type | Description |
|---|---|
FileNotFoundError
|
If the configuration file doesn't exist |
JSONDecodeError
|
If the configuration file contains invalid JSON |
ValueError
|
If the configuration is invalid or tools cannot be loaded |
Examples:
Create agent from file:
>>> agent = config_to_agent("/path/to/config.json")
Create agent from file with file:// prefix:
>>> agent = config_to_agent("file:///path/to/config.json")
Create agent from dictionary:
>>> config = {"model": "anthropic.claude-3-5-sonnet-20241022-v2:0", "tools": ["calculator"]}
>>> agent = config_to_agent(config)
Source code in strands/experimental/agent_config.py
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 | |