agentify-core 0.1.3__tar.gz → 0.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {agentify_core-0.1.3/agentify_core.egg-info → agentify_core-0.2.0}/PKG-INFO +28 -30
- {agentify_core-0.1.3 → agentify_core-0.2.0}/README.md +20 -14
- agentify_core-0.2.0/README_PYPI.md +115 -0
- {agentify_core-0.1.3 → agentify_core-0.2.0}/agentify/__init__.py +8 -14
- {agentify_core-0.1.3 → agentify_core-0.2.0}/agentify/core/__init__.py +4 -1
- {agentify_core-0.1.3 → agentify_core-0.2.0}/agentify/core/agent.py +428 -25
- agentify_core-0.2.0/agentify/core/tool.py +171 -0
- {agentify_core-0.1.3 → agentify_core-0.2.0}/agentify/llm/client.py +109 -2
- {agentify_core-0.1.3 → agentify_core-0.2.0}/agentify/memory/service.py +12 -12
- {agentify_core-0.1.3 → agentify_core-0.2.0}/agentify/multi_agent/hierarchical.py +23 -1
- {agentify_core-0.1.3 → agentify_core-0.2.0}/agentify/multi_agent/pipeline.py +59 -1
- {agentify_core-0.1.3 → agentify_core-0.2.0}/agentify/multi_agent/team.py +27 -1
- {agentify_core-0.1.3 → agentify_core-0.2.0}/agentify/multi_agent/tool_wrapper.py +117 -6
- {agentify_core-0.1.3 → agentify_core-0.2.0/agentify_core.egg-info}/PKG-INFO +28 -30
- {agentify_core-0.1.3 → agentify_core-0.2.0}/agentify_core.egg-info/SOURCES.txt +1 -0
- {agentify_core-0.1.3 → agentify_core-0.2.0}/pyproject.toml +2 -2
- agentify_core-0.1.3/agentify/core/tool.py +0 -30
- {agentify_core-0.1.3 → agentify_core-0.2.0}/LICENSE +0 -0
- {agentify_core-0.1.3 → agentify_core-0.2.0}/MANIFEST.in +0 -0
- {agentify_core-0.1.3 → agentify_core-0.2.0}/agentify/core/callbacks.py +0 -0
- {agentify_core-0.1.3 → agentify_core-0.2.0}/agentify/core/config.py +0 -0
- {agentify_core-0.1.3 → agentify_core-0.2.0}/agentify/extensions/__init__.py +0 -0
- {agentify_core-0.1.3 → agentify_core-0.2.0}/agentify/extensions/prompts/__init__.py +0 -0
- {agentify_core-0.1.3 → agentify_core-0.2.0}/agentify/extensions/prompts/assistant.py +0 -0
- {agentify_core-0.1.3 → agentify_core-0.2.0}/agentify/extensions/tools/__init__.py +0 -0
- {agentify_core-0.1.3 → agentify_core-0.2.0}/agentify/extensions/tools/calculator.py +0 -0
- {agentify_core-0.1.3 → agentify_core-0.2.0}/agentify/extensions/tools/filesystem.py +0 -0
- {agentify_core-0.1.3 → agentify_core-0.2.0}/agentify/extensions/tools/planning.py +0 -0
- {agentify_core-0.1.3 → agentify_core-0.2.0}/agentify/extensions/tools/time.py +0 -0
- {agentify_core-0.1.3 → agentify_core-0.2.0}/agentify/extensions/tools/weather.py +0 -0
- {agentify_core-0.1.3 → agentify_core-0.2.0}/agentify/llm/__init__.py +0 -0
- {agentify_core-0.1.3 → agentify_core-0.2.0}/agentify/memory/__init__.py +0 -0
- {agentify_core-0.1.3 → agentify_core-0.2.0}/agentify/memory/interfaces.py +0 -0
- {agentify_core-0.1.3 → agentify_core-0.2.0}/agentify/memory/policies.py +0 -0
- {agentify_core-0.1.3 → agentify_core-0.2.0}/agentify/memory/stores/__init__.py +0 -0
- {agentify_core-0.1.3 → agentify_core-0.2.0}/agentify/memory/stores/in_memory_store.py +0 -0
- {agentify_core-0.1.3 → agentify_core-0.2.0}/agentify/memory/stores/redis_store.py +0 -0
- {agentify_core-0.1.3 → agentify_core-0.2.0}/agentify/multi_agent/__init__.py +0 -0
- {agentify_core-0.1.3 → agentify_core-0.2.0}/agentify/utils/__init__.py +0 -0
- {agentify_core-0.1.3 → agentify_core-0.2.0}/agentify/utils/style.py +0 -0
- {agentify_core-0.1.3 → agentify_core-0.2.0}/agentify_core.egg-info/dependency_links.txt +0 -0
- {agentify_core-0.1.3 → agentify_core-0.2.0}/agentify_core.egg-info/requires.txt +0 -0
- {agentify_core-0.1.3 → agentify_core-0.2.0}/agentify_core.egg-info/top_level.txt +0 -0
- {agentify_core-0.1.3 → agentify_core-0.2.0}/requirements.txt +0 -0
- {agentify_core-0.1.3 → agentify_core-0.2.0}/setup.cfg +0 -0
- {agentify_core-0.1.3 → agentify_core-0.2.0}/tests/test_filesystem_tools.py +0 -0
- {agentify_core-0.1.3 → agentify_core-0.2.0}/tests/test_planning_tool.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agentify-core
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.2.0
|
|
4
4
|
Summary: Framework-agnostic AI agent library for building single and multi-agent systems
|
|
5
5
|
Author-email: Fabian M <fabian@example.com>
|
|
6
6
|
License: MIT
|
|
@@ -72,7 +72,7 @@ Agentify is a Python library for building and orchestrating AI agents, from simp
|
|
|
72
72
|
"Chain of Thought" in conversation history, and log reasoning steps in real-time for visibility.
|
|
73
73
|
|
|
74
74
|
- **Tools and actions**
|
|
75
|
-
|
|
75
|
+
Simple `@tool` decorator for creating tools from functions with automatic JSON Schema generation, or type-annotated tool interface for custom implementations.
|
|
76
76
|
|
|
77
77
|
- **Observability hooks**
|
|
78
78
|
Callback system for logging, monitoring and debugging agent behaviour across complex flows.
|
|
@@ -80,6 +80,9 @@ Agentify is a Python library for building and orchestrating AI agents, from simp
|
|
|
80
80
|
- **I/O capabilities**
|
|
81
81
|
Streaming support for real-time responses and vision/image models for multimodal interactions.
|
|
82
82
|
|
|
83
|
+
- **Async & Parallel Execution**
|
|
84
|
+
Built-in `async/await` support (`arun()`) for all agents and flows. Automatically executes independent tool calls in parallel (e.g., fetching data from 3 APIs simultaneously), significantly reducing latency.
|
|
85
|
+
|
|
83
86
|
|
|
84
87
|
## Installation
|
|
85
88
|
|
|
@@ -95,29 +98,37 @@ pip install agentify-core[all] # Installs all optional dependencies
|
|
|
95
98
|
## Quick Start
|
|
96
99
|
|
|
97
100
|
```python
|
|
98
|
-
from agentify import BaseAgent, AgentConfig, MemoryService, MemoryAddress
|
|
101
|
+
from agentify import BaseAgent, AgentConfig, MemoryService, MemoryAddress, tool
|
|
99
102
|
from agentify.memory.stores import InMemoryStore
|
|
100
103
|
|
|
101
|
-
# 1. Create
|
|
104
|
+
# 1. Create a simple tool with @tool decorator
|
|
105
|
+
@tool
|
|
106
|
+
def get_time() -> dict:
|
|
107
|
+
"""Returns the current time."""
|
|
108
|
+
from datetime import datetime
|
|
109
|
+
return {"time": datetime.now().strftime("%H:%M:%S")}
|
|
110
|
+
|
|
111
|
+
# 2. Create memory service
|
|
102
112
|
memory = MemoryService(store=InMemoryStore(), log_enabled=True, max_log_length=100)
|
|
103
113
|
addr = MemoryAddress(conversation_id="session_1")
|
|
104
114
|
|
|
105
|
-
#
|
|
115
|
+
# 3. Create an Agent with the tool
|
|
106
116
|
agent = BaseAgent(
|
|
107
117
|
config=AgentConfig(
|
|
108
118
|
name="ReasoningAgent",
|
|
109
119
|
system_prompt="You are a helpful assistant.",
|
|
110
|
-
provider="
|
|
111
|
-
model_name="
|
|
120
|
+
provider="provider",
|
|
121
|
+
model_name="model",
|
|
112
122
|
reasoning_effort="high", # optional param:"low", "medium", "high"
|
|
113
123
|
model_kwargs={"max_completion_tokens": 5000} # Pass model-specific params
|
|
114
124
|
),
|
|
115
125
|
memory=memory,
|
|
116
|
-
memory_address=addr
|
|
126
|
+
memory_address=addr,
|
|
127
|
+
tools=[get_time] # Add your tools here
|
|
117
128
|
)
|
|
118
129
|
|
|
119
|
-
#
|
|
120
|
-
response = agent.run(user_input="
|
|
130
|
+
# 4. Run a conversation
|
|
131
|
+
response = agent.run(user_input="What time is it?")
|
|
121
132
|
```
|
|
122
133
|
|
|
123
134
|
## Composable Flows
|
|
@@ -134,31 +145,18 @@ Because all flows share the same `run()` interface, you can build Teams made of
|
|
|
134
145
|
Agentify supports both **strict workflows** (fixed, pre-defined Pipelines and Hierarchies) and **dynamic agentic flows**, where a supervisor/router agent decides at runtime which agent, Team or Pipeline to call next.
|
|
135
146
|
|
|
136
147
|
|
|
137
|
-
##
|
|
138
|
-
|
|
139
|
-
- [Getting Started](docs/getting_started.md) - Installation and first steps
|
|
140
|
-
- [Core Concepts](docs/core_concepts.md) - Agents, memory, and tools
|
|
141
|
-
- [Multi-Agent Systems](docs/multi_agent.md) - Teams, pipelines, and hierarchies
|
|
142
|
-
- [Advanced Features](docs/advanced.md) - Vision, streaming, hooks, and more
|
|
143
|
-
- [API Reference](docs/api_reference.md) - Complete API documentation
|
|
148
|
+
## Learn More
|
|
144
149
|
|
|
150
|
+
For detailed documentation, examples, and API reference, visit the [GitHub repository](https://github.com/fa8i/Agentify).
|
|
145
151
|
|
|
146
|
-
|
|
152
|
+
## Contributing
|
|
147
153
|
|
|
148
|
-
|
|
154
|
+
Contributions are welcome! Please visit the [repository](https://github.com/fa8i/Agentify) to report issues or submit pull requests.
|
|
149
155
|
|
|
150
|
-
|
|
151
|
-
* [Multi-Agent Teams](examples/multi_agent/team/)
|
|
152
|
-
* [Sequential Pipelines](examples/multi_agent/pipeline/)
|
|
153
|
-
* [Hierarchical Structures](examples/multi_agent/hierarchical/)
|
|
156
|
+
## License
|
|
154
157
|
|
|
158
|
+
MIT License - see the repository for details.
|
|
155
159
|
|
|
156
160
|
## Author
|
|
157
161
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
## Links
|
|
162
|
-
|
|
163
|
-
- **Repository**: https://github.com/fa8i/Agentify
|
|
164
|
-
- **Issues**: https://github.com/fa8i/Agentify/issues
|
|
162
|
+
**Fabian Melchor** - [fabianmp_98@hotmail.com](mailto:fabianmp_98@hotmail.com)
|
|
@@ -25,7 +25,7 @@ Agentify is a Python library for building and orchestrating AI agents, from simp
|
|
|
25
25
|
"Chain of Thought" in conversation history, and log reasoning steps in real-time for visibility.
|
|
26
26
|
|
|
27
27
|
- **Tools and actions**
|
|
28
|
-
|
|
28
|
+
Simple `@tool` decorator for creating tools from functions with automatic JSON Schema generation, or type-annotated tool interface for custom implementations.
|
|
29
29
|
|
|
30
30
|
- **Observability hooks**
|
|
31
31
|
Callback system for logging, monitoring and debugging agent behaviour across complex flows.
|
|
@@ -33,6 +33,9 @@ Agentify is a Python library for building and orchestrating AI agents, from simp
|
|
|
33
33
|
- **I/O capabilities**
|
|
34
34
|
Streaming support for real-time responses and vision/image models for multimodal interactions.
|
|
35
35
|
|
|
36
|
+
- **Async & Parallel Execution**
|
|
37
|
+
Built-in `async/await` support (`arun()`) for all agents and flows. Automatically executes independent tool calls in parallel (e.g., fetching data from 3 APIs simultaneously), significantly reducing latency.
|
|
38
|
+
|
|
36
39
|
|
|
37
40
|
## Installation
|
|
38
41
|
|
|
@@ -48,29 +51,37 @@ pip install agentify-core[all] # Installs all optional dependencies
|
|
|
48
51
|
## Quick Start
|
|
49
52
|
|
|
50
53
|
```python
|
|
51
|
-
from agentify import BaseAgent, AgentConfig, MemoryService, MemoryAddress
|
|
54
|
+
from agentify import BaseAgent, AgentConfig, MemoryService, MemoryAddress, tool
|
|
52
55
|
from agentify.memory.stores import InMemoryStore
|
|
53
56
|
|
|
54
|
-
# 1. Create
|
|
57
|
+
# 1. Create a simple tool with @tool decorator
|
|
58
|
+
@tool
|
|
59
|
+
def get_time() -> dict:
|
|
60
|
+
"""Returns the current time."""
|
|
61
|
+
from datetime import datetime
|
|
62
|
+
return {"time": datetime.now().strftime("%H:%M:%S")}
|
|
63
|
+
|
|
64
|
+
# 2. Create memory service
|
|
55
65
|
memory = MemoryService(store=InMemoryStore(), log_enabled=True, max_log_length=100)
|
|
56
66
|
addr = MemoryAddress(conversation_id="session_1")
|
|
57
67
|
|
|
58
|
-
#
|
|
68
|
+
# 3. Create an Agent with the tool
|
|
59
69
|
agent = BaseAgent(
|
|
60
70
|
config=AgentConfig(
|
|
61
71
|
name="ReasoningAgent",
|
|
62
72
|
system_prompt="You are a helpful assistant.",
|
|
63
|
-
provider="
|
|
64
|
-
model_name="
|
|
73
|
+
provider="provider",
|
|
74
|
+
model_name="model",
|
|
65
75
|
reasoning_effort="high", # optional param:"low", "medium", "high"
|
|
66
76
|
model_kwargs={"max_completion_tokens": 5000} # Pass model-specific params
|
|
67
77
|
),
|
|
68
78
|
memory=memory,
|
|
69
|
-
memory_address=addr
|
|
79
|
+
memory_address=addr,
|
|
80
|
+
tools=[get_time] # Add your tools here
|
|
70
81
|
)
|
|
71
82
|
|
|
72
|
-
#
|
|
73
|
-
response = agent.run(user_input="
|
|
83
|
+
# 4. Run a conversation
|
|
84
|
+
response = agent.run(user_input="What time is it?")
|
|
74
85
|
```
|
|
75
86
|
|
|
76
87
|
## Composable Flows
|
|
@@ -110,8 +121,3 @@ Check out the [examples](examples/) directory for detailed implementations:
|
|
|
110
121
|
|
|
111
122
|
- **Fabian Melchor** [fabianmp_98@hotmail.com](mailto:fabianmp_98@hotmail.com)
|
|
112
123
|
|
|
113
|
-
|
|
114
|
-
## Links
|
|
115
|
-
|
|
116
|
-
- **Repository**: https://github.com/fa8i/Agentify
|
|
117
|
-
- **Issues**: https://github.com/fa8i/Agentify/issues
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# Agentify
|
|
2
|
+
|
|
3
|
+
**Independent AI agent library based on the OpenAI SDK**
|
|
4
|
+
|
|
5
|
+
Agentify is a Python library for building and orchestrating AI agents, from simple assistants to complex multi-agent systems. It targets the OpenAI-compatible Chat Completions interface, enabling support for multiple providers through a configurable `base_url` (OpenAI, Azure OpenAI, DeepSeek, Gemini, etc.). Agentify offers a streamlined, independent set of primitives for memory, tools, and coordination so you can focus on product logic without being tied to heavy frameworks.
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
## Why Agentify?
|
|
9
|
+
|
|
10
|
+
- **Built for production**: clear abstractions, explicit configuration, error handling and extension points that map well to real deployments.
|
|
11
|
+
- **Orchestration-first design**: a uniform `run()` interface for agents, teams, pipelines and hierarchies makes it straightforward to compose and refactor flows.
|
|
12
|
+
- **Providers**: switch between OpenAI, Gemini, Azure OpenAI, DeepSeek, Claude and others without changing your agent code.
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
## Key Features
|
|
16
|
+
|
|
17
|
+
- **Agents and multi-agent patterns**
|
|
18
|
+
Single Agents with tools and memory, supervisor–worker Multi-Agent Teams, Sequential Pipelines where output flows from step to step, Hierarchical Structures for complex delegation, and Dynamic Flows where a controller decides at runtime which sub-agents or teams to invoke.
|
|
19
|
+
|
|
20
|
+
- **Memory service and isolation**
|
|
21
|
+
Pluggable backends (in-memory, Redis, …) with per-use-case policies (TTL, maximum messages, etc.), plus optional memory isolation so each agent can maintain its own conversation history for scalability and privacy.
|
|
22
|
+
|
|
23
|
+
- **Reasoning Models**
|
|
24
|
+
Configure the model's thinking depth, safely merge `model_kwargs`, automatically store
|
|
25
|
+
"Chain of Thought" in conversation history, and log reasoning steps in real-time for visibility.
|
|
26
|
+
|
|
27
|
+
- **Tools and actions**
|
|
28
|
+
Simple `@tool` decorator for creating tools from functions with automatic JSON Schema generation, or type-annotated tool interface for custom implementations.
|
|
29
|
+
|
|
30
|
+
- **Observability hooks**
|
|
31
|
+
Callback system for logging, monitoring and debugging agent behaviour across complex flows.
|
|
32
|
+
|
|
33
|
+
- **I/O capabilities**
|
|
34
|
+
Streaming support for real-time responses and vision/image models for multimodal interactions.
|
|
35
|
+
|
|
36
|
+
- **Async & Parallel Execution**
|
|
37
|
+
Built-in `async/await` support (`arun()`) for all agents and flows. Automatically executes independent tool calls in parallel (e.g., fetching data from 3 APIs simultaneously), significantly reducing latency.
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
## Installation
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
pip install agentify-core
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
For optional features:
|
|
47
|
+
```bash
|
|
48
|
+
pip install agentify-core[all] # Installs all optional dependencies
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Quick Start
|
|
52
|
+
|
|
53
|
+
```python
|
|
54
|
+
from agentify import BaseAgent, AgentConfig, MemoryService, MemoryAddress, tool
|
|
55
|
+
from agentify.memory.stores import InMemoryStore
|
|
56
|
+
|
|
57
|
+
# 1. Create a simple tool with @tool decorator
|
|
58
|
+
@tool
|
|
59
|
+
def get_time() -> dict:
|
|
60
|
+
"""Returns the current time."""
|
|
61
|
+
from datetime import datetime
|
|
62
|
+
return {"time": datetime.now().strftime("%H:%M:%S")}
|
|
63
|
+
|
|
64
|
+
# 2. Create memory service
|
|
65
|
+
memory = MemoryService(store=InMemoryStore(), log_enabled=True, max_log_length=100)
|
|
66
|
+
addr = MemoryAddress(conversation_id="session_1")
|
|
67
|
+
|
|
68
|
+
# 3. Create an Agent with the tool
|
|
69
|
+
agent = BaseAgent(
|
|
70
|
+
config=AgentConfig(
|
|
71
|
+
name="ReasoningAgent",
|
|
72
|
+
system_prompt="You are a helpful assistant.",
|
|
73
|
+
provider="provider",
|
|
74
|
+
model_name="model",
|
|
75
|
+
reasoning_effort="high", # optional param:"low", "medium", "high"
|
|
76
|
+
model_kwargs={"max_completion_tokens": 5000} # Pass model-specific params
|
|
77
|
+
),
|
|
78
|
+
memory=memory,
|
|
79
|
+
memory_address=addr,
|
|
80
|
+
tools=[get_time] # Add your tools here
|
|
81
|
+
)
|
|
82
|
+
|
|
83
|
+
# 4. Run a conversation
|
|
84
|
+
response = agent.run(user_input="What time is it?")
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## Composable Flows
|
|
88
|
+
|
|
89
|
+
Agentify provides powerful primitives that can be combined to build arbitrarily complex systems:
|
|
90
|
+
|
|
91
|
+
* **BaseAgent**: The fundamental unit of work.
|
|
92
|
+
* **Teams**: A group of agents managed by a supervisor.
|
|
93
|
+
* **Pipelines**: A sequence of steps where output passes from one to the next.
|
|
94
|
+
* **Hierarchies**: Tree structures for massive delegation.
|
|
95
|
+
|
|
96
|
+
Because all flows share the same `run()` interface, you can build Teams made of Pipelines, Pipelines made of Teams, and deeply nested Hierarchies.
|
|
97
|
+
|
|
98
|
+
Agentify supports both **strict workflows** (fixed, pre-defined Pipelines and Hierarchies) and **dynamic agentic flows**, where a supervisor/router agent decides at runtime which agent, Team or Pipeline to call next.
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
## Learn More
|
|
102
|
+
|
|
103
|
+
For detailed documentation, examples, and API reference, visit the [GitHub repository](https://github.com/fa8i/Agentify).
|
|
104
|
+
|
|
105
|
+
## Contributing
|
|
106
|
+
|
|
107
|
+
Contributions are welcome! Please visit the [repository](https://github.com/fa8i/Agentify) to report issues or submit pull requests.
|
|
108
|
+
|
|
109
|
+
## License
|
|
110
|
+
|
|
111
|
+
MIT License - see the repository for details.
|
|
112
|
+
|
|
113
|
+
## Author
|
|
114
|
+
|
|
115
|
+
**Fabian Melchor** - [fabianmp_98@hotmail.com](mailto:fabianmp_98@hotmail.com)
|
|
@@ -1,32 +1,26 @@
|
|
|
1
1
|
# Core exports
|
|
2
|
-
from agentify.core import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
AgentConfig,
|
|
6
|
-
ImageConfig,
|
|
7
|
-
AgentCallbackHandler,
|
|
8
|
-
LoggingCallbackHandler,
|
|
9
|
-
)
|
|
2
|
+
from agentify.core.agent import BaseAgent
|
|
3
|
+
from agentify.core.config import AgentConfig, ImageConfig
|
|
4
|
+
from agentify.core.tool import Tool, tool
|
|
10
5
|
|
|
11
6
|
# LLM exports
|
|
12
|
-
from agentify.llm import LLMClientFactory
|
|
7
|
+
from agentify.llm.client import LLMClientFactory
|
|
13
8
|
|
|
14
9
|
# Memory exports
|
|
15
10
|
from agentify.memory.service import MemoryService
|
|
16
11
|
from agentify.memory.interfaces import MemoryAddress
|
|
17
12
|
from agentify.memory.policies import MemoryPolicy
|
|
18
13
|
|
|
19
|
-
__version__ = "0.
|
|
14
|
+
__version__ = "0.2.0"
|
|
20
15
|
|
|
21
16
|
__all__ = [
|
|
22
17
|
"BaseAgent",
|
|
23
|
-
"Tool",
|
|
24
18
|
"AgentConfig",
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"LoggingCallbackHandler",
|
|
19
|
+
"Tool",
|
|
20
|
+
"tool",
|
|
28
21
|
"LLMClientFactory",
|
|
29
22
|
"MemoryService",
|
|
30
23
|
"MemoryAddress",
|
|
31
24
|
"MemoryPolicy",
|
|
25
|
+
"ImageConfig",
|
|
32
26
|
]
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
+
"""Core components for building AI agents."""
|
|
2
|
+
|
|
1
3
|
from agentify.core.agent import BaseAgent
|
|
2
|
-
from agentify.core.tool import Tool
|
|
4
|
+
from agentify.core.tool import Tool, tool
|
|
3
5
|
from agentify.core.callbacks import AgentCallbackHandler, LoggingCallbackHandler
|
|
4
6
|
from agentify.core.config import AgentConfig, ImageConfig
|
|
5
7
|
|
|
6
8
|
__all__ = [
|
|
7
9
|
"BaseAgent",
|
|
8
10
|
"Tool",
|
|
11
|
+
"tool",
|
|
9
12
|
"AgentCallbackHandler",
|
|
10
13
|
"LoggingCallbackHandler",
|
|
11
14
|
"AgentConfig",
|