versionhq 1.1.10.5__py3-none-any.whl → 1.1.10.7__py3-none-any.whl
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.
- versionhq/__init__.py +1 -1
- {versionhq-1.1.10.5.dist-info → versionhq-1.1.10.7.dist-info}/METADATA +51 -57
- {versionhq-1.1.10.5.dist-info → versionhq-1.1.10.7.dist-info}/RECORD +6 -6
- {versionhq-1.1.10.5.dist-info → versionhq-1.1.10.7.dist-info}/LICENSE +0 -0
- {versionhq-1.1.10.5.dist-info → versionhq-1.1.10.7.dist-info}/WHEEL +0 -0
- {versionhq-1.1.10.5.dist-info → versionhq-1.1.10.7.dist-info}/top_level.txt +0 -0
versionhq/__init__.py
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: versionhq
|
3
|
-
Version: 1.1.10.
|
3
|
+
Version: 1.1.10.7
|
4
4
|
Summary: LLM orchestration frameworks for model-agnostic AI agents that handle complex outbound workflows
|
5
5
|
Author-email: Kuriko Iwai <kuriko@versi0n.io>
|
6
6
|
License: MIT License
|
@@ -66,32 +66,17 @@ Requires-Dist: composio-langchain>=0.6.12
|
|
66
66
|

|
67
67
|
|
68
68
|
|
69
|
-
|
70
|
-
|
71
|
-
Agents are model agnostic.
|
72
|
-
|
73
|
-
Messaging workflows are created at individual level, and will be deployed on third-party services via `Composio`.
|
74
|
-
|
69
|
+
LLM orchestration frameworks to deploy multi-agent systems focusing on complex outbound tasks.
|
75
70
|
|
76
71
|
**Visit:**
|
77
72
|
|
78
73
|
- [PyPI](https://pypi.org/project/versionhq/)
|
79
|
-
- [Github (LLM orchestration)](https://github.com/versionHQ/multi-agent-system)
|
80
|
-
- [
|
81
|
-
|
82
|
-
- [
|
74
|
+
- [Github (LLM orchestration framework)](https://github.com/versionHQ/multi-agent-system)
|
75
|
+
- [Github (Test client app)](https://github.com/versionHQ/test-client-app)
|
76
|
+
- [Use case](https://versi0n.io/playground) / [Quick demo](https://res.cloudinary.com/dfeirxlea/video/upload/v1737732977/pj_m_home/pnsyh5mfvmilwgt0eusa.mov)
|
77
|
+
- [Documentation](https://chief-oxygen-8a2.notion.site/Documentation-17e923685cf98001a5fad5c4b2acd79b?pvs=4) *Some components are under review.
|
83
78
|
|
84
79
|
|
85
|
-
<hr />
|
86
|
-
|
87
|
-
## Mindmap
|
88
|
-
|
89
|
-
LLM-powered `agent`s and `team`s use `tool`s and their own knowledge to complete the `task` given by the client or the system.
|
90
|
-
|
91
|
-
<p align="center">
|
92
|
-
<img src="https://res.cloudinary.com/dfeirxlea/image/upload/v1733556715/pj_m_home/urwte15at3h0dr8mdlyo.png" alt="mindmap" width="400">
|
93
|
-
</p>
|
94
|
-
|
95
80
|
<hr />
|
96
81
|
|
97
82
|
## Table of Content
|
@@ -99,8 +84,10 @@ LLM-powered `agent`s and `team`s use `tool`s and their own knowledge to complete
|
|
99
84
|
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
|
100
85
|
|
101
86
|
- [Key Features](#key-features)
|
102
|
-
- [
|
103
|
-
|
87
|
+
- [Agent formation](#agent-formation)
|
88
|
+
- [Quick Start](#quick-start)
|
89
|
+
- [Case 1. Single agent network:](#case-1-single-agent-network)
|
90
|
+
- [Return a structured output with a summary in string.](#return-a-structured-output-with-a-summary-in-string)
|
104
91
|
- [Case 2. Form a team to handle multiple tasks:](#case-2-form-a-team-to-handle-multiple-tasks)
|
105
92
|
- [Technologies Used](#technologies-used)
|
106
93
|
- [Project Structure](#project-structure)
|
@@ -119,68 +106,75 @@ LLM-powered `agent`s and `team`s use `tool`s and their own knowledge to complete
|
|
119
106
|
|
120
107
|
## Key Features
|
121
108
|
|
122
|
-
|
109
|
+
Generate mulit-agent systems depending on the complexity of the task, and execute the task with agents of choice.
|
110
|
+
|
111
|
+
Model-agnostic agents can handle RAG tools, tools, callbacks, and knowledge sharing among other agents.
|
123
112
|
|
124
|
-
The `agent` is model agnostic. The default model is set Chat GTP 4o. We ask the client their preference and switch it accordingly using llm variable stored in the `BaseAgent` class.
|
125
113
|
|
126
|
-
|
114
|
+
### Agent formation
|
115
|
+
Depending on the task complexity, agents can make a different formation.
|
127
116
|
|
128
|
-
|
129
|
-
- Professional `agents` handle the analysis `tasks` on each client, customer, and product.
|
117
|
+
You can specify which formation you want them to generate, or let the agent decide if you don’t have a clear plan.
|
130
118
|
|
131
|
-
**2. Messaging Workflow Creation**
|
132
|
-
- Several `teams` receive the analysis and design initial messaging workflow with several layers.
|
133
|
-
- Ask the client for their inputs
|
134
|
-
- Deploy the workflow on the third party tools using `composio`.
|
135
119
|
|
136
|
-
**
|
137
|
-
|
120
|
+
| | **Solo Agent** | **Supervising** | **Network** | **Random** |
|
121
|
+
| :--- | :--- | :--- | :--- | :--- |
|
122
|
+
| **Formation** | <img src="https://res.cloudinary.com/dfeirxlea/image/upload/v1737893140/pj_m_agents/tglrxoiuv7kk7nzvpe1z.jpg" alt="solo" width="200"> | <img src="https://res.cloudinary.com/dfeirxlea/image/upload/v1737893141/pj_m_agents/hxngdvnn5b5qdxo0ayl5.jpg" alt="solo" width="200"> | <img src="https://res.cloudinary.com/dfeirxlea/image/upload/v1737893142/pj_m_agents/kyc6neg8m6keyizszcpi.jpg" alt="solo" width="200"> | <img src="https://res.cloudinary.com/dfeirxlea/image/upload/v1737893139/pj_m_agents/hzpchlcpnpwxwaapu1hr.jpg" alt="solo" width="200"> |
|
123
|
+
| **Usage** | <ul><li>A single agent with tools, knowledge, and memory.</li><li>When self-learning mode is on - it will turn into **Random** formation.</li></ul> | <ul><li>Leader agent gives directions, while sharing its knowledge and memory.</li><li>Subordinates can be solo agents or networks.</li></ul> | <ul><li>Share tasks, knowledge, and memory among network members.</li></ul> | <ul><li>A single agent handles tasks, asking help from other agents without sharing its memory or knowledge.</li></ul> |
|
124
|
+
| **Use case** | An email agent drafts promo message for the given audience. | The leader agent strategizes an outbound campaign plan and assigns components such as media mix or message creation to subordinate agents. | An email agent and social media agent share the product knowledge and deploy multi-channel outbound campaign. | 1. An email agent drafts promo message for the given audience, asking insights on tones from other email agents which oversee other clusters. 2. An agent calls the external agent to deploy the campaign. |
|
138
125
|
|
139
126
|
<hr />
|
140
127
|
|
141
|
-
##
|
128
|
+
## Quick Start
|
129
|
+
|
130
|
+
**Install `versionhq` package:**
|
142
131
|
|
143
|
-
1. Install `versionhq` package:
|
144
132
|
```
|
145
|
-
|
133
|
+
pip install versionhq
|
146
134
|
```
|
147
135
|
|
148
|
-
|
136
|
+
(Python >= 3.13)
|
137
|
+
|
149
138
|
|
139
|
+
### Case 1. Single agent network:
|
150
140
|
|
151
|
-
|
141
|
+
#### Return a structured output with a summary in string.
|
152
142
|
|
153
143
|
```
|
144
|
+
from pydantic import BaseModel
|
154
145
|
from versionhq.agent.model import Agent
|
155
|
-
from versionhq.task.model import Task
|
146
|
+
from versionhq.task.model import Task
|
156
147
|
|
157
|
-
|
158
|
-
|
148
|
+
class CustomOutput(BaseModel):
|
149
|
+
test1: str
|
150
|
+
test2: list[str]
|
151
|
+
|
152
|
+
def dummy_func(message: str, test1: str, test2: list[str]) -> str:
|
153
|
+
return f"{message}: {test1}, {", ".join(test2)}"
|
159
154
|
|
160
|
-
|
161
|
-
|
162
|
-
goal="amazing project goal",
|
163
|
-
skillsets=["skill_1", "skill_2", ],
|
164
|
-
tools=["amazing RAG tool",]
|
165
|
-
llm="llm-of-your-choice"
|
166
|
-
)
|
155
|
+
|
156
|
+
agent = Agent(role="demo", goal="amazing project goal")
|
167
157
|
|
168
158
|
task = Task(
|
169
159
|
description="Amazing task",
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
],
|
174
|
-
callbacks=[my_callback_func]
|
160
|
+
pydantic_custom_output=CustomOutput,
|
161
|
+
callback=dummy_func,
|
162
|
+
callback_kwargs=dict(message="Hi! Here is the result: ")
|
175
163
|
)
|
164
|
+
|
176
165
|
res = task.execute_sync(agent=agent, context="amazing context to consider.")
|
177
|
-
|
166
|
+
print(res)
|
178
167
|
```
|
179
168
|
|
180
|
-
This will return
|
169
|
+
This will return `TaskOutput` that stores a response in string, JSON dict, and Pydantic model: `CustomOutput` formats with a callback result.
|
181
170
|
|
182
171
|
```
|
183
|
-
|
172
|
+
res == TaskOutput(
|
173
|
+
raw="{\\"test1\\": \\"random str\\", \\"test2\\": [\\"item1\\", \\"item2\\"]}",
|
174
|
+
json_dict={"test1": "random str", "test2": ["item1", "item2"]},
|
175
|
+
pydantic=CustomOutput(test1="random str", test2=["item 1", "item 2"]),
|
176
|
+
callback_output="Hi! Here is the result: random str, item 1, item 2",
|
177
|
+
)
|
184
178
|
```
|
185
179
|
|
186
180
|
### Case 2. Form a team to handle multiple tasks:
|
@@ -1,4 +1,4 @@
|
|
1
|
-
versionhq/__init__.py,sha256=
|
1
|
+
versionhq/__init__.py,sha256=TfiH-rQbyN9o8luE8XdutjaPSbE7XANnrwKfCUcDJQA,951
|
2
2
|
versionhq/_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
3
3
|
versionhq/_utils/i18n.py,sha256=TwA_PnYfDLA6VqlUDPuybdV9lgi3Frh_ASsb_X8jJo8,1483
|
4
4
|
versionhq/_utils/logger.py,sha256=U-MpeGueA6YS8Ptfy0VnU_ePsZP-8Pvkvi0tZ4s_UMg,1438
|
@@ -38,8 +38,8 @@ versionhq/tool/composio_tool_vars.py,sha256=FvBuEXsOQUYnN7RTFxT20kAkiEYkxWKkiVtg
|
|
38
38
|
versionhq/tool/decorator.py,sha256=C4ZM7Xi2gwtEMaSeRo-geo_g_MAkY77WkSLkAuY0AyI,1205
|
39
39
|
versionhq/tool/model.py,sha256=5qG-OH7zohvepPDOjdjDulhEqmNUM4osiyk5LaxmSiU,12333
|
40
40
|
versionhq/tool/tool_handler.py,sha256=2m41K8qo5bGCCbwMFferEjT-XZ-mE9F0mDUOBkgivOI,1416
|
41
|
-
versionhq-1.1.10.
|
42
|
-
versionhq-1.1.10.
|
43
|
-
versionhq-1.1.10.
|
44
|
-
versionhq-1.1.10.
|
45
|
-
versionhq-1.1.10.
|
41
|
+
versionhq-1.1.10.7.dist-info/LICENSE,sha256=7CCXuMrAjPVsUvZrsBq9DsxI2rLDUSYXR_qj4yO_ZII,1077
|
42
|
+
versionhq-1.1.10.7.dist-info/METADATA,sha256=GXlqPkrpAt-jA8mqaHXl8wVLB54ys9K0tZHEnpLGDOE,17677
|
43
|
+
versionhq-1.1.10.7.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
44
|
+
versionhq-1.1.10.7.dist-info/top_level.txt,sha256=DClQwxDWqIUGeRJkA8vBlgeNsYZs4_nJWMonzFt5Wj0,10
|
45
|
+
versionhq-1.1.10.7.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|