versionhq 1.2.3.6__py3-none-any.whl → 1.2.3.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 CHANGED
@@ -32,7 +32,7 @@ from versionhq.agent_network.formation import form_agent_network
32
32
  from versionhq.task_graph.draft import workflow
33
33
 
34
34
 
35
- __version__ = "1.2.3.6"
35
+ __version__ = "1.2.3.7"
36
36
  __all__ = [
37
37
  "Agent",
38
38
 
versionhq/agent/model.py CHANGED
@@ -7,13 +7,12 @@ from dotenv import load_dotenv
7
7
  from pydantic import UUID4, BaseModel, Field, InstanceOf, PrivateAttr, model_validator, field_validator
8
8
  from pydantic_core import PydanticCustomError
9
9
 
10
- from versionhq.llm.model import LLM, DEFAULT_CONTEXT_WINDOW_SIZE, DEFAULT_MODEL_NAME, PROVIDERS
10
+ from versionhq.agent.rpm_controller import RPMController
11
11
  from versionhq.tool.model import Tool, ToolSet, BaseTool
12
12
  from versionhq.knowledge.model import BaseKnowledgeSource, Knowledge
13
13
  from versionhq.memory.contextual_memory import ContextualMemory
14
14
  from versionhq.memory.model import ShortTermMemory, LongTermMemory, UserMemory
15
15
  from versionhq._utils.logger import Logger
16
- from versionhq.agent.rpm_controller import RPMController
17
16
  from versionhq._utils.process_config import process_config
18
17
 
19
18
 
@@ -68,8 +67,8 @@ class Agent(BaseModel):
68
67
  callbacks: Optional[List[Callable]] = Field(default_factory=list, description="callback functions to execute after any task execution")
69
68
 
70
69
  # llm settings cascaded to the LLM model
71
- llm: str | InstanceOf[LLM] | Dict[str, Any] = Field(default=None)
72
- func_calling_llm: str | InstanceOf[LLM] | Dict[str, Any] = Field(default=None)
70
+ llm: Any = Field(default=None, description="store LLM object")
71
+ func_calling_llm: Any = Field(default=None, description="store LLM object")
73
72
  respect_context_window: bool = Field(default=True, description="keep messages under the context window size")
74
73
  max_execution_time: Optional[int] = Field(default=None, description="max. task execution time in seconds")
75
74
  max_rpm: Optional[int] = Field(default=None, description="max. number of requests per minute")
@@ -78,7 +77,6 @@ class Agent(BaseModel):
78
77
  # # cache, error, ops handling
79
78
  # formatting_errors: int = Field(default=0, description="number of formatting errors.")
80
79
 
81
-
82
80
  @field_validator("id", mode="before")
83
81
  @classmethod
84
82
  def _deny_user_set_id(cls, v: Optional[UUID4]) -> None:
@@ -106,6 +104,8 @@ class Agent(BaseModel):
106
104
  """
107
105
  Set up `llm` and `func_calling_llm` as valid LLM objects using the given kwargs.
108
106
  """
107
+ from versionhq.llm.model import LLM, DEFAULT_MODEL_NAME
108
+
109
109
  self.llm = self._convert_to_llm_object(llm=self.llm)
110
110
 
111
111
  func_calling_llm = self.func_calling_llm if self.func_calling_llm else self.llm if self.llm else None
@@ -267,11 +267,13 @@ class Agent(BaseModel):
267
267
  return self
268
268
 
269
269
 
270
- def _convert_to_llm_object(self, llm: Any = None) -> LLM:
270
+ def _convert_to_llm_object(self, llm: Any = None): # returns LLM object
271
271
  """
272
272
  Convert the given value to LLM object.
273
273
  When `llm` is dict or self.llm_config is not None, add these values to the LLM object after validating them.
274
274
  """
275
+ from versionhq.llm.model import LLM, DEFAULT_MODEL_NAME
276
+
275
277
  llm = llm if llm else self.llm if self.llm else DEFAULT_MODEL_NAME
276
278
 
277
279
  if not llm:
@@ -279,11 +281,11 @@ class Agent(BaseModel):
279
281
 
280
282
  match llm:
281
283
  case LLM():
282
- return self._set_llm_params(llm=llm, config=self.llm_config)
284
+ return self._set_llm_params(llm_obj=llm, config=self.llm_config)
283
285
 
284
286
  case str():
285
287
  llm = LLM(model=llm)
286
- return self._set_llm_params(llm=llm, config=self.llm_config)
288
+ return self._set_llm_params(llm_obj=llm, config=self.llm_config)
287
289
 
288
290
  case dict():
289
291
  model_name = llm.pop("model_name", llm.pop("deployment_name", str(llm)))
@@ -301,13 +303,20 @@ class Agent(BaseModel):
301
303
  "base_url": getattr(llm, "base_url", None),
302
304
  }
303
305
  config = llm_params.update(self.llm_config) if self.llm_config else llm_params
304
- return self._set_llm_params(llm=llm, config=config)
306
+ return self._set_llm_params(llm_obj=llm, config=config)
305
307
 
306
308
 
307
- def _set_llm_params(self, llm: LLM, config: Dict[str, Any] = None) -> LLM:
309
+ def _set_llm_params(self, llm_obj, config: Dict[str, Any] = None): # returns LLM object
308
310
  """
309
311
  Add valid params to the LLM object.
310
312
  """
313
+ from versionhq.llm.model import LLM, DEFAULT_CONTEXT_WINDOW_SIZE
314
+ from versionhq.llm.llm_vars import PROVIDERS
315
+
316
+ llm = llm_obj if isinstance(llm_obj, LLM) else None
317
+
318
+ if not llm: return
319
+
311
320
  if llm.provider is None:
312
321
  provider_name = llm.model.split("/")[0]
313
322
  valid_provider = provider_name if provider_name in PROVIDERS else None
@@ -352,6 +361,8 @@ class Agent(BaseModel):
352
361
  """
353
362
  Fine-tuned the base model using OpenAI train framework.
354
363
  """
364
+ from versionhq.llm.model import LLM
365
+
355
366
  if not isinstance(self.llm, LLM):
356
367
  pass
357
368
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: versionhq
3
- Version: 1.2.3.6
3
+ Version: 1.2.3.7
4
4
  Summary: An agentic orchestration framework for building agent networks that handle task automation.
5
5
  Author-email: Kuriko Iwai <kuriko@versi0n.io>
6
6
  License: MIT License
@@ -1,4 +1,4 @@
1
- versionhq/__init__.py,sha256=40KCEmDQ4M8HPz4QLSdkRurG7jggekd83nKYJJ1j6dE,2980
1
+ versionhq/__init__.py,sha256=Edefudd7wZkWdRDyJgTuCKy0H0k0yfSy0AW-0Zj4h6M,2980
2
2
  versionhq/_utils/__init__.py,sha256=d-vYVcORZKG-kkLe_fzE8VbViDpAk9DDOKe2fVK25ew,178
3
3
  versionhq/_utils/i18n.py,sha256=TwA_PnYfDLA6VqlUDPuybdV9lgi3Frh_ASsb_X8jJo8,1483
4
4
  versionhq/_utils/llm_as_a_judge.py,sha256=RM0oYfoeanuUyUL3Ewl6_8Xn1F5Axd285UMH46kxG1I,2378
@@ -8,7 +8,7 @@ versionhq/_utils/usage_metrics.py,sha256=xgYGRW3OTuK9EJyi3QYJeYcJl7dL27olcWaLo_7
8
8
  versionhq/_utils/vars.py,sha256=bZ5Dx_bFKlt3hi4-NNGXqdk7B23If_WaTIju2fiTyPQ,57
9
9
  versionhq/agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
10
  versionhq/agent/inhouse_agents.py,sha256=BPkvEyMH8VnZWsMeCwsGplDT_kLwlIejeRcr-6ItGqQ,2637
11
- versionhq/agent/model.py,sha256=C3MptCdVF7c2xM5TR4Bz5TJzZw1MfYh50TLrvXFMrJ4,25656
11
+ versionhq/agent/model.py,sha256=VCKYDGr3QHLBTgUXico58vpygTxrpgSlFsgkbPoHpw4,25984
12
12
  versionhq/agent/parser.py,sha256=riG0dkdQCxH7uJ0AbdVdg7WvL0BXhUgJht0VtQvxJBc,4082
13
13
  versionhq/agent/rpm_controller.py,sha256=grezIxyBci_lDlwAlgWFRyR5KOocXeOhYkgN02dNFNE,2360
14
14
  versionhq/agent/TEMPLATES/Backstory.py,sha256=dkfuATUQ2g2WoUKkmgAIch-RB--bektGoQaUlsDOn0g,529
@@ -62,8 +62,8 @@ versionhq/tool/decorator.py,sha256=C4ZM7Xi2gwtEMaSeRo-geo_g_MAkY77WkSLkAuY0AyI,1
62
62
  versionhq/tool/model.py,sha256=Nc2f9frTK5tH4kh6EeEAk1Fi1w19kEXLOcsBwHCS1a4,12189
63
63
  versionhq/tool/rag_tool.py,sha256=dW5o-83V4bMFFJEj3PUm7XjblwrYJGmZVBlCpPj6CeM,3852
64
64
  versionhq/tool/tool_handler.py,sha256=2m41K8qo5bGCCbwMFferEjT-XZ-mE9F0mDUOBkgivOI,1416
65
- versionhq-1.2.3.6.dist-info/LICENSE,sha256=cRoGGdM73IiDs6nDWKqPlgSv7aR4n-qBXYnJlCMHCeE,1082
66
- versionhq-1.2.3.6.dist-info/METADATA,sha256=pse3tddq8a1S0jxvDrZBlb2v2a83PaF6oPRlSBvjXlM,21262
67
- versionhq-1.2.3.6.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
68
- versionhq-1.2.3.6.dist-info/top_level.txt,sha256=DClQwxDWqIUGeRJkA8vBlgeNsYZs4_nJWMonzFt5Wj0,10
69
- versionhq-1.2.3.6.dist-info/RECORD,,
65
+ versionhq-1.2.3.7.dist-info/LICENSE,sha256=cRoGGdM73IiDs6nDWKqPlgSv7aR4n-qBXYnJlCMHCeE,1082
66
+ versionhq-1.2.3.7.dist-info/METADATA,sha256=5Rj3QnCGV4zVM_MEMQsX1Q122W5nBYfujbJ7qILMJVM,21262
67
+ versionhq-1.2.3.7.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
68
+ versionhq-1.2.3.7.dist-info/top_level.txt,sha256=DClQwxDWqIUGeRJkA8vBlgeNsYZs4_nJWMonzFt5Wj0,10
69
+ versionhq-1.2.3.7.dist-info/RECORD,,