praisonaiagents 0.0.44__py3-none-any.whl → 0.0.45__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.
@@ -50,7 +50,7 @@ class PraisonAIAgents:
50
50
  raise ValueError("At least one agent must be provided")
51
51
 
52
52
  self.run_id = str(uuid.uuid4()) # Auto-generate run_id
53
- self.user_id = user_id # Optional user_id
53
+ self.user_id = user_id or "praison" # Optional user_id
54
54
  self.max_iter = max_iter # Add max_iter parameter
55
55
 
56
56
  # Pass user_id to each agent
@@ -245,6 +245,24 @@ Expected Output: {task.expected_output}.
245
245
  context_results.append(
246
246
  f"Previous task {context_item.name if context_item.name else context_item.description} has no result yet."
247
247
  )
248
+ elif isinstance(context_item, dict) and "vector_store" in context_item:
249
+ from ..knowledge.knowledge import Knowledge
250
+ try:
251
+ # Handle both string and dict configs
252
+ cfg = context_item["vector_store"]
253
+ if isinstance(cfg, str):
254
+ cfg = json.loads(cfg)
255
+
256
+ knowledge = Knowledge(config={"vector_store": cfg}, verbose=self.verbose)
257
+
258
+ # Only use user_id as filter
259
+ db_results = knowledge.search(
260
+ task.description,
261
+ user_id=self.user_id if self.user_id else None
262
+ )
263
+ context_results.append(f"[DB Context]: {str(db_results)}")
264
+ except Exception as e:
265
+ context_results.append(f"[Vector DB Error]: {e}")
248
266
 
249
267
  # Join unique context results
250
268
  unique_contexts = list(dict.fromkeys(context_results)) # Remove duplicates
@@ -523,6 +541,24 @@ Expected Output: {task.expected_output}.
523
541
  context_results.append(
524
542
  f"Previous task {context_item.name if context_item.name else context_item.description} has no result yet."
525
543
  )
544
+ elif isinstance(context_item, dict) and "vector_store" in context_item:
545
+ from ..knowledge.knowledge import Knowledge
546
+ try:
547
+ # Handle both string and dict configs
548
+ cfg = context_item["vector_store"]
549
+ if isinstance(cfg, str):
550
+ cfg = json.loads(cfg)
551
+
552
+ knowledge = Knowledge(config={"vector_store": cfg}, verbose=self.verbose)
553
+
554
+ # Only use user_id as filter
555
+ db_results = knowledge.search(
556
+ task.description,
557
+ user_id=self.user_id if self.user_id else None
558
+ )
559
+ context_results.append(f"[DB Context]: {str(db_results)}")
560
+ except Exception as e:
561
+ context_results.append(f"[Vector DB Error]: {e}")
526
562
 
527
563
  # Join unique context results
528
564
  unique_contexts = list(dict.fromkeys(context_results)) # Remove duplicates
@@ -84,8 +84,8 @@ class Knowledge:
84
84
 
85
85
  @cached_property
86
86
  def config(self):
87
- # Generate unique collection name for each instance
88
- collection_name = f"test_{int(time.time())}_{str(uuid.uuid4())[:8]}"
87
+ # Generate unique collection name for each instance (only if not provided in config)
88
+ default_collection = f"test_{int(time.time())}_{str(uuid.uuid4())[:8]}"
89
89
  persist_dir = ".praison"
90
90
 
91
91
  # Create persistent client config
@@ -93,9 +93,11 @@ class Knowledge:
93
93
  "vector_store": {
94
94
  "provider": "chroma",
95
95
  "config": {
96
- "collection_name": collection_name,
96
+ "collection_name": default_collection,
97
97
  "path": persist_dir,
98
- "client": self._deps['chromadb'].PersistentClient(path=persist_dir)
98
+ "client": self._deps['chromadb'].PersistentClient(path=persist_dir),
99
+ "host": None,
100
+ "port": None
99
101
  }
100
102
  },
101
103
  "version": "v1.1",
@@ -104,13 +106,29 @@ class Knowledge:
104
106
 
105
107
  # If config is provided, merge it with base config
106
108
  if self._config:
107
- if "vector_store" in self._config and "config" in self._config["vector_store"]:
108
- config_copy = self._config["vector_store"]["config"].copy()
109
- for key in ["collection_name", "client"]:
110
- if key in config_copy:
111
- del config_copy[key]
112
- base_config["vector_store"]["config"].update(config_copy)
113
-
109
+ # Merge version if provided
110
+ if "version" in self._config:
111
+ base_config["version"] = self._config["version"]
112
+
113
+ # Merge vector_store config
114
+ if "vector_store" in self._config:
115
+ if "provider" in self._config["vector_store"]:
116
+ base_config["vector_store"]["provider"] = self._config["vector_store"]["provider"]
117
+
118
+ if "config" in self._config["vector_store"]:
119
+ config_copy = self._config["vector_store"]["config"].copy()
120
+ # Only exclude client as it's managed internally
121
+ if "client" in config_copy:
122
+ del config_copy["client"]
123
+ base_config["vector_store"]["config"].update(config_copy)
124
+
125
+ # Merge embedder config if provided
126
+ if "embedder" in self._config:
127
+ base_config["embedder"] = self._config["embedder"]
128
+
129
+ # Merge llm config if provided
130
+ if "llm" in self._config:
131
+ base_config["llm"] = self._config["llm"]
114
132
  return base_config
115
133
 
116
134
  @cached_property
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: praisonaiagents
3
- Version: 0.0.44
3
+ Version: 0.0.45
4
4
  Summary: Praison AI agents for completing complex tasks with Self Reflection Agents
5
5
  Author: Mervin Praison
6
6
  Requires-Dist: pydantic
@@ -3,11 +3,11 @@ praisonaiagents/main.py,sha256=wcFooRmCY38wtkSNFt6-nhZafgrHotCZE0S6U8IWgUY,14093
3
3
  praisonaiagents/agent/__init__.py,sha256=sKO8wGEXvtCrvV1e834r1Okv0XAqAxqZCqz6hKLiTvA,79
4
4
  praisonaiagents/agent/agent.py,sha256=rWvuZKP1fMF-BBe7I554FVk56Wse_iHyjoRRNEuyC5o,37836
5
5
  praisonaiagents/agents/__init__.py,sha256=_1d6Pqyk9EoBSo7E68sKyd1jDRlN1vxvVIRpoMc0Jcw,168
6
- praisonaiagents/agents/agents.py,sha256=J86IWZ8Kv8LulHODX8klwGVGGB2AmmcMzWl9QsEPAv0,33503
6
+ praisonaiagents/agents/agents.py,sha256=312eM5eqnXp8kZ2-7HDGn20rsQ4LWk4rpe5ll8L-XBg,35516
7
7
  praisonaiagents/agents/autoagents.py,sha256=bjC2O5oZmoJItJXIMPTWc2lsp_AJC9tMiTQOal2hwPA,13532
8
8
  praisonaiagents/knowledge/__init__.py,sha256=xL1Eh-a3xsHyIcU4foOWF-JdWYIYBALJH9bge0Ujuto,246
9
9
  praisonaiagents/knowledge/chunking.py,sha256=FzoNY0q8MkvG4gADqk4JcRhmH3lcEHbRdonDgitQa30,6624
10
- praisonaiagents/knowledge/knowledge.py,sha256=dJd8WuFV3w-zWaSAcT21PcXGRIZZc6YxBsJZDfmZNrk,12358
10
+ praisonaiagents/knowledge/knowledge.py,sha256=fQNREDiwdoisfIxJBLVkteXgq_8Gbypfc3UaZbxf5QY,13210
11
11
  praisonaiagents/memory/memory.py,sha256=ZxqSpOUxk9jeTKGW0ZiTifC0uZtym-EZILP3kuOOKkU,35626
12
12
  praisonaiagents/process/__init__.py,sha256=lkYbL7Hn5a0ldvJtkdH23vfIIZLIcanK-65C0MwaorY,52
13
13
  praisonaiagents/process/process.py,sha256=_1Nk37kOYakPaUWAJff86rP0ENyykXqMnhTp8E0efuE,30802
@@ -33,7 +33,7 @@ praisonaiagents/tools/wikipedia_tools.py,sha256=pGko-f33wqXgxJTv8db7TbizY5XnzBQR
33
33
  praisonaiagents/tools/xml_tools.py,sha256=iYTMBEk5l3L3ryQ1fkUnNVYK-Nnua2Kx2S0dxNMMs1A,17122
34
34
  praisonaiagents/tools/yaml_tools.py,sha256=uogAZrhXV9O7xvspAtcTfpKSQYL2nlOTvCQXN94-G9A,14215
35
35
  praisonaiagents/tools/yfinance_tools.py,sha256=s2PBj_1v7oQnOobo2fDbQBACEHl61ftG4beG6Z979ZE,8529
36
- praisonaiagents-0.0.44.dist-info/METADATA,sha256=uT2HYHiW4f0vTb-n0HzzUU2XYCPi2zjsvdBDfAIkcI4,664
37
- praisonaiagents-0.0.44.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
38
- praisonaiagents-0.0.44.dist-info/top_level.txt,sha256=_HsRddrJ23iDx5TTqVUVvXG2HeHBL5voshncAMDGjtA,16
39
- praisonaiagents-0.0.44.dist-info/RECORD,,
36
+ praisonaiagents-0.0.45.dist-info/METADATA,sha256=FiAB88UQV3pT9NZsHG8O5EgRnW1lfXgoOop_mXwB8Ng,664
37
+ praisonaiagents-0.0.45.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
38
+ praisonaiagents-0.0.45.dist-info/top_level.txt,sha256=_HsRddrJ23iDx5TTqVUVvXG2HeHBL5voshncAMDGjtA,16
39
+ praisonaiagents-0.0.45.dist-info/RECORD,,