versionhq 1.1.5__py3-none-any.whl → 1.1.6.4__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/agent/model.py +1 -1
- versionhq/llm/model.py +1 -0
- {versionHQ-1.1.5.dist-info → versionhq-1.1.6.4.dist-info}/METADATA +59 -42
- {versionHQ-1.1.5.dist-info → versionhq-1.1.6.4.dist-info}/RECORD +8 -9
- versionhq/tool/composio.py +0 -102
- {versionHQ-1.1.5.dist-info → versionhq-1.1.6.4.dist-info}/LICENSE +0 -0
- {versionHQ-1.1.5.dist-info → versionhq-1.1.6.4.dist-info}/WHEEL +0 -0
- {versionHQ-1.1.5.dist-info → versionhq-1.1.6.4.dist-info}/top_level.txt +0 -0
versionhq/__init__.py
CHANGED
versionhq/agent/model.py
CHANGED
@@ -204,7 +204,7 @@ class Agent(ABC, BaseModel):
|
|
204
204
|
|
205
205
|
if isinstance(self.llm, LLM):
|
206
206
|
self.llm.timeout = self.max_execution_time
|
207
|
-
self.llm.
|
207
|
+
self.llm.max_tokens = self.max_tokens
|
208
208
|
self.llm.context_window_size = (
|
209
209
|
self.llm.get_context_window_size()
|
210
210
|
if self.respect_context_window == True
|
versionhq/llm/model.py
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
|
-
Name:
|
3
|
-
Version: 1.1.
|
2
|
+
Name: versionhq
|
3
|
+
Version: 1.1.6.4
|
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
|
@@ -52,7 +52,8 @@ Requires-Dist: wheel>=0.45.1
|
|
52
52
|
|
53
53
|
# Overview
|
54
54
|
|
55
|
-
 
|
56
|
+
 
|
56
57
|
|
57
58
|
|
58
59
|
An LLM orchestration frameworks for multi-agent systems with RAG to autopilot outbound workflows.
|
@@ -64,10 +65,10 @@ Messaging workflows are created at individual level, and will be deployed on thi
|
|
64
65
|
|
65
66
|
**Visit:**
|
66
67
|
|
67
|
-
-
|
68
|
-
- Client app
|
69
|
-
-
|
70
|
-
-
|
68
|
+
- [Landing page](https://home.versi0n.io)
|
69
|
+
- [Client app](https://versi0n.io/)
|
70
|
+
- [Orchestration frameworks](https://github.com/versionHQ/multi-agent-system)
|
71
|
+
- [Test client app](https://github.com/versionHQ/test-client-app)
|
71
72
|
|
72
73
|
|
73
74
|
## Mindmap
|
@@ -75,7 +76,7 @@ Messaging workflows are created at individual level, and will be deployed on thi
|
|
75
76
|
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.
|
76
77
|
|
77
78
|
<p align="center">
|
78
|
-
<img src="https://res.cloudinary.com/dfeirxlea/image/upload/v1733556715/pj_m_home/urwte15at3h0dr8mdlyo.png" alt="mindmap" width="
|
79
|
+
<img src="https://res.cloudinary.com/dfeirxlea/image/upload/v1733556715/pj_m_home/urwte15at3h0dr8mdlyo.png" alt="mindmap" width="400">
|
79
80
|
</p>
|
80
81
|
|
81
82
|
<hr />
|
@@ -89,8 +90,7 @@ LLM-powered `agent`s and `team`s use `tool`s and their own knowledge to complete
|
|
89
90
|
- [Project Structure](#project-structure)
|
90
91
|
- [Setup](#setup)
|
91
92
|
- [Usage](#usage)
|
92
|
-
- [
|
93
|
-
- [Contributing & Customizing](#contributing--customizing)
|
93
|
+
- [Contributing](#contributing)
|
94
94
|
- [Customizing AI Agents](#customizing-ai-agents)
|
95
95
|
- [Modifying RAG Functionality](#modifying-rag-functionality)
|
96
96
|
- [Package Management with uv](#package-management-with-uv)
|
@@ -122,6 +122,8 @@ Multiple `agents` can form a `team` to complete complex tasks together.
|
|
122
122
|
- Responsible `agents` or `teams` autopilot executing and refining the messaging workflow.
|
123
123
|
|
124
124
|
|
125
|
+
<hr />
|
126
|
+
|
125
127
|
## Technologies Used
|
126
128
|
**Schema, Database, Data Validation**
|
127
129
|
- [Pydantic](https://docs.pydantic.dev/latest/): Data validation and serialization library for Python
|
@@ -172,6 +174,8 @@ src/
|
|
172
174
|
|
173
175
|
```
|
174
176
|
|
177
|
+
<hr />
|
178
|
+
|
175
179
|
## Setup
|
176
180
|
|
177
181
|
1. Install the `uv` package manager:
|
@@ -204,53 +208,63 @@ src/
|
|
204
208
|
COMPOSIO_CLI_KEY=your-composio-cli-key
|
205
209
|
```
|
206
210
|
|
207
|
-
|
211
|
+
<hr />
|
208
212
|
|
209
|
-
|
213
|
+
## Usage
|
210
214
|
|
211
|
-
|
215
|
+
1. Install `versionhq` package:
|
216
|
+
```
|
217
|
+
uv pip install versionhq
|
218
|
+
```
|
212
219
|
|
213
|
-
|
214
|
-
- Run a test.
|
220
|
+
2. You can use the `versionhq` module in your Python app.
|
215
221
|
```
|
216
|
-
|
222
|
+
from versionhq.agent.model import Agent
|
223
|
+
agent = Agent(llm="your-llm", ...)
|
217
224
|
```
|
218
|
-
* All the `.py` files' names in the `tests` have to be ended with `_test.py`.
|
219
225
|
|
226
|
+
For more details:
|
220
227
|
|
221
|
-
|
222
|
-
```
|
223
|
-
npm i
|
224
|
-
npm start
|
225
|
-
```
|
226
|
-
The frontend will be available at `http://localhost:3000`.
|
228
|
+
[PyPi package](https://pypi.org/project/versionhq/)
|
227
229
|
|
228
|
-
|
230
|
+
<hr />
|
229
231
|
|
232
|
+
## Contributing
|
230
233
|
|
231
|
-
|
234
|
+
1. Fork the repository
|
232
235
|
|
233
|
-
|
234
|
-
```
|
235
|
-
uv pip install git+https://github.com/versionHQ/multi-agent-system.git#egg=versionhq
|
236
|
-
```
|
236
|
+
2. Create your feature branch (`git checkout -b feature/your-amazing-feature`)
|
237
237
|
|
238
|
-
|
239
|
-
```
|
240
|
-
from versionhq.agent.model import Agent
|
241
|
-
agent = Agent(llm="your-llm"...)
|
242
|
-
```
|
238
|
+
3. Create amazing features
|
243
239
|
|
244
|
-
|
240
|
+
4. Test the features using the `tests` directory.
|
245
241
|
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
242
|
+
- Add a file to the `tests` directory.
|
243
|
+
- Run a test.
|
244
|
+
```
|
245
|
+
uv run <your file name>
|
246
|
+
```
|
247
|
+
|
248
|
+
* All the `.py` files' names in the `tests` have to be ended with `_test.py`.
|
249
|
+
|
250
|
+
5. Pull the latest version of source code from the main branch (`git pull origin main`) *Address conflicts if any.
|
251
|
+
6. Commit your changes (`git add .` / `git commit -m 'Add your-amazing-feature'`)
|
252
|
+
7. Push to the branch (`git push origin feature/your-amazing-feature`)
|
253
|
+
8. Open a pull request
|
254
|
+
|
255
|
+
|
256
|
+
**Optional**
|
257
|
+
* Flag with `#! REFINEME` for any improvements needed and `#! FIXME` for any errors.
|
258
|
+
|
259
|
+
* Run a React demo app: [React demo app](https://github.com/versionHQ/test-client-app) to check it on the client endpoint.
|
260
|
+
```
|
261
|
+
npm i
|
262
|
+
npm start
|
263
|
+
```
|
264
|
+
The frontend will be available at `http://localhost:3000`.
|
265
|
+
|
266
|
+
* `production` is available at `https://versi0n.io`. Currently, we are running alpha test.
|
252
267
|
|
253
|
-
0. Flag with `#! REFINEME` for any improvements and `#! FIXME` for any errors.
|
254
268
|
|
255
269
|
|
256
270
|
### Customizing AI Agents
|
@@ -299,6 +313,8 @@ Pre-commit hooks help maintain code quality by running checks for formatting, li
|
|
299
313
|
git commit --no-verify -m "your-commit-message"
|
300
314
|
```
|
301
315
|
|
316
|
+
<hr />
|
317
|
+
|
302
318
|
## Trouble Shooting
|
303
319
|
|
304
320
|
Common issues and solutions:
|
@@ -309,6 +325,7 @@ Common issues and solutions:
|
|
309
325
|
- Issues related to the AI agents or RAG system: Check the `output.log` file for detailed error messages and stack traces.
|
310
326
|
- Issues related to `Python quit unexpectedly`: Check [this stackoverflow article](https://stackoverflow.com/questions/59888499/macos-catalina-python-quit-unexpectedly-error).
|
311
327
|
|
328
|
+
<hr />
|
312
329
|
|
313
330
|
## Frequently Asked Questions (FAQ)
|
314
331
|
**Q. Where can I see if the agent is working?**
|
@@ -1,4 +1,4 @@
|
|
1
|
-
versionhq/__init__.py,sha256=
|
1
|
+
versionhq/__init__.py,sha256=HrvSCzLdFGGnwigs9QLhWN9G6dq0lyvBqlae7Afbnmw,773
|
2
2
|
versionhq/_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
3
3
|
versionhq/_utils/cache_handler.py,sha256=zDQKzIn7vp-M2-uepHFxgJstjfftZS5mzXKL_-4uVvI,370
|
4
4
|
versionhq/_utils/i18n.py,sha256=TwA_PnYfDLA6VqlUDPuybdV9lgi3Frh_ASsb_X8jJo8,1483
|
@@ -7,7 +7,7 @@ versionhq/_utils/process_config.py,sha256=ogrhovLbwe0ocQlcohRgBBRtww7C3pk9hikjvg
|
|
7
7
|
versionhq/_utils/rpm_controller.py,sha256=T7waIGeblu5K58erY4lqVLcPsWM7W9UFdU3DG9Dsk0w,2214
|
8
8
|
versionhq/_utils/usage_metrics.py,sha256=bOS8QJH5rb3B3JXkAry0eSZx5d2HH-bLMrGUtdV2Wv0,1154
|
9
9
|
versionhq/agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
10
|
-
versionhq/agent/model.py,sha256=
|
10
|
+
versionhq/agent/model.py,sha256=QzgpdNXxFQo02WAHWLaOGELT2NDKVObpGHBiaXT0jY0,18383
|
11
11
|
versionhq/agent/parser.py,sha256=GhoNQo4WloVM3vGnAmt9lnEOTARX7nWMhJE55rF_5Rs,5500
|
12
12
|
versionhq/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
13
13
|
versionhq/clients/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -19,7 +19,7 @@ versionhq/clients/workflow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJ
|
|
19
19
|
versionhq/clients/workflow/model.py,sha256=JMAyh1Yhr0ZCmgeB9QX4XLbtwv0we9YtOC0Xr-Xmbdk,5229
|
20
20
|
versionhq/llm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
21
21
|
versionhq/llm/llm_vars.py,sha256=YZoXqFBW7XpclUZ14_AAz7WOjoyCXnGcI959GSpX2q0,5343
|
22
|
-
versionhq/llm/model.py,sha256=
|
22
|
+
versionhq/llm/model.py,sha256=PdwisrlrsDqd6gXwXCyGbGTRTeGZ8SXpt_gfua8qunk,8266
|
23
23
|
versionhq/task/__init__.py,sha256=g4mCATnn1mUXxsfQ5p6IpPawr8O421wVIT8kMKEcxQw,180
|
24
24
|
versionhq/task/formatter.py,sha256=N8Kmk9vtrMtBdgJ8J7RmlKNMdZWSmV8O1bDexmCWgU0,643
|
25
25
|
versionhq/task/model.py,sha256=9jq0pZX_yV4yqjb9AtUZEqqrvkjMi8A2kh1tumPncP0,14194
|
@@ -27,12 +27,11 @@ versionhq/team/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
27
27
|
versionhq/team/model.py,sha256=VAdNbhKwZ3vSn46bUHMGbyQBOp2PYNsQilOpKwE_jG4,20458
|
28
28
|
versionhq/team/team_planner.py,sha256=IRmpyHvXZNyN98AXluZaV2MzVEKJonBdpat3rofWquk,2161
|
29
29
|
versionhq/tool/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
30
|
-
versionhq/tool/composio.py,sha256=oA935r-JtiJ8tPXaPV0vu9NTjC88A9GxVcFWUL-KvKI,3043
|
31
30
|
versionhq/tool/decorator.py,sha256=Y-j4jkoujD5LUvpe8uf3p5Zagk2XVaRKC9rkIE-2geo,1189
|
32
31
|
versionhq/tool/model.py,sha256=DR8O0NoVtmor6Vrh7xarzGZps6QYjK69tgqQO95Lk6U,7005
|
33
32
|
versionhq/tool/tool_handler.py,sha256=e-2VfG9zFpfPG_oMoPXye93GDovs7FuUASWQwUTLrJ0,1498
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
33
|
+
versionhq-1.1.6.4.dist-info/LICENSE,sha256=7CCXuMrAjPVsUvZrsBq9DsxI2rLDUSYXR_qj4yO_ZII,1077
|
34
|
+
versionhq-1.1.6.4.dist-info/METADATA,sha256=m2IztHZjgRFFa855redwyFikeeiICZ0y96XI3OQUq7g,13059
|
35
|
+
versionhq-1.1.6.4.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
|
36
|
+
versionhq-1.1.6.4.dist-info/top_level.txt,sha256=DClQwxDWqIUGeRJkA8vBlgeNsYZs4_nJWMonzFt5Wj0,10
|
37
|
+
versionhq-1.1.6.4.dist-info/RECORD,,
|
versionhq/tool/composio.py
DELETED
@@ -1,102 +0,0 @@
|
|
1
|
-
import os
|
2
|
-
from dotenv import load_dotenv
|
3
|
-
from typing import Any, Callable, Type, get_args, get_origin
|
4
|
-
from composio import ComposioToolSet, Action, App
|
5
|
-
|
6
|
-
|
7
|
-
load_dotenv(override=True)
|
8
|
-
DEFAULT_REDIRECT_URL = os.environ.get("DEFAULT_REDIRECT_URL")
|
9
|
-
DEFAULT_APP_NAME = "hubspot"
|
10
|
-
DEFAULT_USER_ID = os.environ.get("DEFAULT_USER_ID")
|
11
|
-
|
12
|
-
|
13
|
-
def connect(app_name: str = DEFAULT_APP_NAME, user_id: str = DEFAULT_USER_ID, redirect_url: str = DEFAULT_REDIRECT_URL, *args, **kwargs):
|
14
|
-
"""
|
15
|
-
Connect with the data pipelines or destination services.
|
16
|
-
"""
|
17
|
-
|
18
|
-
composio_toolset = ComposioToolSet(api_key=os.environ.get("COMPOSIO_API_KEY"))
|
19
|
-
|
20
|
-
|
21
|
-
if not user_id:
|
22
|
-
return None
|
23
|
-
|
24
|
-
auth_scheme = "OAUTH2"
|
25
|
-
connection_request = composio_toolset.initiate_connection(
|
26
|
-
app=app_name,
|
27
|
-
redirect_url = redirect_url, # user comes here after oauth flow
|
28
|
-
entity_id=user_id,
|
29
|
-
auth_scheme=auth_scheme,
|
30
|
-
)
|
31
|
-
|
32
|
-
print(connection_request.connectedAccountId,connection_request.connectionStatus)
|
33
|
-
print(connection_request.redirectUrl)
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
# connection_request_id = "connection_request_id" # replace connection_request_id from earlier response
|
38
|
-
# # validate the connection is active
|
39
|
-
# connected_account = composio_toolset.get_connected_account(id=connection_request_id)
|
40
|
-
# print(connected_account.status) # should be
|
41
|
-
|
42
|
-
|
43
|
-
# @action(toolname="hubspot")
|
44
|
-
# def deploy_on_hubspot(param1: str, param2: str, execute_request: Callable) -> str:
|
45
|
-
# """
|
46
|
-
# Deploy the messaging workflow on the third-party service using Composio.
|
47
|
-
# List of the services: https://composio.dev/tools?category=marketing
|
48
|
-
|
49
|
-
# my custom action description which will be passed to llm
|
50
|
-
|
51
|
-
# :param param1: param1 description which will be passed to llm
|
52
|
-
# :param param2: param2 description which will be passed to llm
|
53
|
-
# :return info: return description
|
54
|
-
# """
|
55
|
-
|
56
|
-
# response = execute_request(
|
57
|
-
# "/my_action_endpoint",
|
58
|
-
# "GET",
|
59
|
-
# {} # body can be added here
|
60
|
-
# ) # execute requests by appending credentials to the request
|
61
|
-
# return str(response) # complete auth dict is available for local use if needed
|
62
|
-
|
63
|
-
|
64
|
-
# toolset = ComposioToolSet(entity_id=D)
|
65
|
-
# tools = composio_toolset.get_tools(actions=[deploy_on_hubspot])
|
66
|
-
|
67
|
-
|
68
|
-
# rag_tools = composio_toolset.get_tools(
|
69
|
-
# apps=[App.RAGTOOL],
|
70
|
-
# actions=[
|
71
|
-
# Action.FILETOOL_LIST_FILES,
|
72
|
-
# Action.FILETOOL_CHANGE_WORKING_DIRECTORY,
|
73
|
-
# Action.FILETOOL_FIND_FILE,
|
74
|
-
# ],
|
75
|
-
# )
|
76
|
-
|
77
|
-
# rag_query_tools = composio_toolset.get_tools(
|
78
|
-
# apps=[App.RAGTOOL],
|
79
|
-
# )
|
80
|
-
|
81
|
-
# # can pass multiple actions
|
82
|
-
# tools = composio_toolset.get_tools(
|
83
|
-
# actions=[Action.GITHUB_CREATE_AN_ISSUE]
|
84
|
-
# )
|
85
|
-
|
86
|
-
# rag_tools = composio_toolset.get_tools(
|
87
|
-
# apps=[App.RAGTOOL],
|
88
|
-
# actions=[
|
89
|
-
# Action.FILETOOL_LIST_FILES,
|
90
|
-
# Action.FILETOOL_CHANGE_WORKING_DIRECTORY,
|
91
|
-
# Action.FILETOOL_FIND_FILE,
|
92
|
-
# ],
|
93
|
-
# )
|
94
|
-
|
95
|
-
# rag_query_tools = composio_toolset.get_tools(
|
96
|
-
# apps=[App.RAGTOOL],
|
97
|
-
# )
|
98
|
-
|
99
|
-
|
100
|
-
if __name__ == "__main__":
|
101
|
-
connect()
|
102
|
-
|
File without changes
|
File without changes
|
File without changes
|