solana-agent 20.1.0__py3-none-any.whl → 20.1.1__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.
@@ -6,7 +6,7 @@ class RoutingService(ABC):
6
6
  """Interface for query routing services."""
7
7
 
8
8
  @abstractmethod
9
- async def route_query(self, query: str) -> Tuple[str, Any]:
9
+ async def route_query(self, query: str) -> str:
10
10
  """Route a query to the appropriate agent.
11
11
 
12
12
  Args:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: solana-agent
3
- Version: 20.1.0
3
+ Version: 20.1.1
4
4
  Summary: Agentic IQ
5
5
  License: MIT
6
6
  Keywords: ai,openai,ai agents,agi
@@ -56,7 +56,7 @@ Build your AI business in three lines of code!
56
56
  * Seamless text and audio streaming with real-time multi-modal processing
57
57
  * Persistent memory that preserves context across all agent interactions
58
58
  * Streamlined message history for all agent interactions
59
- * Intelligent query routing to agents with optimal domain expertise
59
+ * Intelligent query routing to agents with optimal domain expertise or your own custom routing
60
60
  * Unified value system ensuring brand-aligned agent responses
61
61
  * Powerful tool integration using standard Python packages and/or inline classes
62
62
  * Assigned tools are utilized by agents automatically and effectively
@@ -368,12 +368,52 @@ async for response in solana_agent.process("user123", "What are the latest AI de
368
368
  print(response, end="")
369
369
  ```
370
370
 
371
+ ### Custom Routing
372
+
373
+ ```python
374
+ from solana_agent import SolanaAgent
375
+ from solana_agent.interfaces.services.routing import RoutingService as RoutingServiceInterface
376
+
377
+ config = {
378
+ "openai": {
379
+ "api_key": "your-openai-api-key",
380
+ },
381
+ "agents": [
382
+ {
383
+ "name": "research_specialist",
384
+ "instructions": "You are an expert researcher who synthesizes complex information clearly.",
385
+ "specialization": "Research and knowledge synthesis",
386
+ },
387
+ {
388
+ "name": "customer_support",
389
+ "instructions": "You provide friendly, helpful customer support responses.",
390
+ "specialization": "Customer inquiries",
391
+ }
392
+ ],
393
+ }
394
+
395
+ class Router(RoutingServiceInterface)
396
+ def __init__(self):
397
+ # your router initialization - delete the following pass
398
+ pass
399
+
400
+ async def route_query(self, query: str) -> str:
401
+ # a simple example to route always to customer_support agent
402
+ return "customer_support"
403
+
404
+ router = Router()
405
+
406
+ solana_agent = SolanaAgent(config=config)
407
+
408
+ async for response in solana_agent.process("user123", "What are the latest AI developments?", router=router):
409
+ print(response, end="")
410
+ ```
411
+
371
412
  ## Notes
372
413
  * Solana Agent agents can only call one tool per response.
373
414
  * Solana Agent agents choose the best tool for the job.
374
415
  * Solana Agent tools do not use OpenAI function calling.
375
416
  * Solana Agent tools are async functions.
376
- * Solana Agent will use OpenAI for audio and Ollama and for text if both config vars are set
377
417
 
378
418
  ## Local Setup
379
419
 
@@ -17,7 +17,7 @@ solana_agent/interfaces/providers/llm.py,sha256=f58kDrvESBfIr2XoZJ-VVa8vL56qyuhk
17
17
  solana_agent/interfaces/providers/memory.py,sha256=oNOH8WZXVW8assDigIWZAWiwkxbpDiKupxA2RB6tQvQ,1010
18
18
  solana_agent/interfaces/services/agent.py,sha256=34luGrUF5FNXLhF6JXwbfOSuo_SbMOmLMywG310sMDw,2082
19
19
  solana_agent/interfaces/services/query.py,sha256=m8Uc0uXT3apSOhX3N1QjLMPk1KdJhj7HDrJjWUpDPBc,1309
20
- solana_agent/interfaces/services/routing.py,sha256=76pn3NIOnYVQ8GFpy88dg-mxSLnMv_tAEKoCI8NSvd8,409
20
+ solana_agent/interfaces/services/routing.py,sha256=UzJC-z-Q9puTWPFGEo2_CAhIxuxP5IRnze7S66NSrsI,397
21
21
  solana_agent/plugins/__init__.py,sha256=coZdgJKq1ExOaj6qB810i3rEhbjdVlrkN76ozt_Ojgo,193
22
22
  solana_agent/plugins/manager.py,sha256=Il49hXeqvu0b02pURNNp7mY8kp9_sqpi_vJIWBW5Hc0,5044
23
23
  solana_agent/plugins/registry.py,sha256=5S0DlUQKogsg1zLiRUIGMHEmGYHtOovU-S-5W1Mwo1A,3639
@@ -29,7 +29,7 @@ solana_agent/services/__init__.py,sha256=ab_NXJmwYUCmCrCzuTlZ47bJZINW0Y0F5jfQ9Oo
29
29
  solana_agent/services/agent.py,sha256=MdSPIC81JNuP2hfzXNGWOnRfe7OxwYHgDVZAphVCCo8,16450
30
30
  solana_agent/services/query.py,sha256=QduAeiltFTwNDlAbC_emu544U4XGNioj-OauRGt9HSY,11070
31
31
  solana_agent/services/routing.py,sha256=PMCSG5m3uLMaHMj3dxNvNfcFZaeaDi7kMr7AEBCzwDE,6499
32
- solana_agent-20.1.0.dist-info/LICENSE,sha256=BnSRc-NSFuyF2s496l_4EyrwAP6YimvxWcjPiJ0J7g4,1057
33
- solana_agent-20.1.0.dist-info/METADATA,sha256=rQm9CUOd7kftGrha1cc7nEFdKqy9eODfb3Pov3GvPJ8,12645
34
- solana_agent-20.1.0.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
35
- solana_agent-20.1.0.dist-info/RECORD,,
32
+ solana_agent-20.1.1.dist-info/LICENSE,sha256=BnSRc-NSFuyF2s496l_4EyrwAP6YimvxWcjPiJ0J7g4,1057
33
+ solana_agent-20.1.1.dist-info/METADATA,sha256=fcYHLCTEpheJ-rr6VhRye5I2_kLpqUKXU0hyAMF3l5Q,13782
34
+ solana_agent-20.1.1.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
35
+ solana_agent-20.1.1.dist-info/RECORD,,