solana-agent 20.1.0__tar.gz → 20.1.1__tar.gz
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.
- {solana_agent-20.1.0 → solana_agent-20.1.1}/PKG-INFO +43 -3
- {solana_agent-20.1.0 → solana_agent-20.1.1}/README.md +42 -2
- {solana_agent-20.1.0 → solana_agent-20.1.1}/pyproject.toml +2 -1
- {solana_agent-20.1.0 → solana_agent-20.1.1}/solana_agent/interfaces/services/routing.py +1 -1
- {solana_agent-20.1.0 → solana_agent-20.1.1}/LICENSE +0 -0
- {solana_agent-20.1.0 → solana_agent-20.1.1}/solana_agent/__init__.py +0 -0
- {solana_agent-20.1.0 → solana_agent-20.1.1}/solana_agent/adapters/__init__.py +0 -0
- {solana_agent-20.1.0 → solana_agent-20.1.1}/solana_agent/adapters/llm_adapter.py +0 -0
- {solana_agent-20.1.0 → solana_agent-20.1.1}/solana_agent/adapters/mongodb_adapter.py +0 -0
- {solana_agent-20.1.0 → solana_agent-20.1.1}/solana_agent/client/__init__.py +0 -0
- {solana_agent-20.1.0 → solana_agent-20.1.1}/solana_agent/client/solana_agent.py +0 -0
- {solana_agent-20.1.0 → solana_agent-20.1.1}/solana_agent/domains/__init__.py +0 -0
- {solana_agent-20.1.0 → solana_agent-20.1.1}/solana_agent/domains/agent.py +0 -0
- {solana_agent-20.1.0 → solana_agent-20.1.1}/solana_agent/domains/routing.py +0 -0
- {solana_agent-20.1.0 → solana_agent-20.1.1}/solana_agent/factories/__init__.py +0 -0
- {solana_agent-20.1.0 → solana_agent-20.1.1}/solana_agent/factories/agent_factory.py +0 -0
- {solana_agent-20.1.0 → solana_agent-20.1.1}/solana_agent/interfaces/__init__.py +0 -0
- {solana_agent-20.1.0 → solana_agent-20.1.1}/solana_agent/interfaces/client/client.py +0 -0
- {solana_agent-20.1.0 → solana_agent-20.1.1}/solana_agent/interfaces/plugins/plugins.py +0 -0
- {solana_agent-20.1.0 → solana_agent-20.1.1}/solana_agent/interfaces/providers/data_storage.py +0 -0
- {solana_agent-20.1.0 → solana_agent-20.1.1}/solana_agent/interfaces/providers/llm.py +0 -0
- {solana_agent-20.1.0 → solana_agent-20.1.1}/solana_agent/interfaces/providers/memory.py +0 -0
- {solana_agent-20.1.0 → solana_agent-20.1.1}/solana_agent/interfaces/services/agent.py +0 -0
- {solana_agent-20.1.0 → solana_agent-20.1.1}/solana_agent/interfaces/services/query.py +0 -0
- {solana_agent-20.1.0 → solana_agent-20.1.1}/solana_agent/plugins/__init__.py +0 -0
- {solana_agent-20.1.0 → solana_agent-20.1.1}/solana_agent/plugins/manager.py +0 -0
- {solana_agent-20.1.0 → solana_agent-20.1.1}/solana_agent/plugins/registry.py +0 -0
- {solana_agent-20.1.0 → solana_agent-20.1.1}/solana_agent/plugins/tools/__init__.py +0 -0
- {solana_agent-20.1.0 → solana_agent-20.1.1}/solana_agent/plugins/tools/auto_tool.py +0 -0
- {solana_agent-20.1.0 → solana_agent-20.1.1}/solana_agent/repositories/__init__.py +0 -0
- {solana_agent-20.1.0 → solana_agent-20.1.1}/solana_agent/repositories/memory.py +0 -0
- {solana_agent-20.1.0 → solana_agent-20.1.1}/solana_agent/services/__init__.py +0 -0
- {solana_agent-20.1.0 → solana_agent-20.1.1}/solana_agent/services/agent.py +0 -0
- {solana_agent-20.1.0 → solana_agent-20.1.1}/solana_agent/services/query.py +0 -0
- {solana_agent-20.1.0 → solana_agent-20.1.1}/solana_agent/services/routing.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: solana-agent
|
3
|
-
Version: 20.1.
|
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
|
|
@@ -31,7 +31,7 @@ Build your AI business in three lines of code!
|
|
31
31
|
* Seamless text and audio streaming with real-time multi-modal processing
|
32
32
|
* Persistent memory that preserves context across all agent interactions
|
33
33
|
* Streamlined message history for all agent interactions
|
34
|
-
* Intelligent query routing to agents with optimal domain expertise
|
34
|
+
* Intelligent query routing to agents with optimal domain expertise or your own custom routing
|
35
35
|
* Unified value system ensuring brand-aligned agent responses
|
36
36
|
* Powerful tool integration using standard Python packages and/or inline classes
|
37
37
|
* Assigned tools are utilized by agents automatically and effectively
|
@@ -343,12 +343,52 @@ async for response in solana_agent.process("user123", "What are the latest AI de
|
|
343
343
|
print(response, end="")
|
344
344
|
```
|
345
345
|
|
346
|
+
### Custom Routing
|
347
|
+
|
348
|
+
```python
|
349
|
+
from solana_agent import SolanaAgent
|
350
|
+
from solana_agent.interfaces.services.routing import RoutingService as RoutingServiceInterface
|
351
|
+
|
352
|
+
config = {
|
353
|
+
"openai": {
|
354
|
+
"api_key": "your-openai-api-key",
|
355
|
+
},
|
356
|
+
"agents": [
|
357
|
+
{
|
358
|
+
"name": "research_specialist",
|
359
|
+
"instructions": "You are an expert researcher who synthesizes complex information clearly.",
|
360
|
+
"specialization": "Research and knowledge synthesis",
|
361
|
+
},
|
362
|
+
{
|
363
|
+
"name": "customer_support",
|
364
|
+
"instructions": "You provide friendly, helpful customer support responses.",
|
365
|
+
"specialization": "Customer inquiries",
|
366
|
+
}
|
367
|
+
],
|
368
|
+
}
|
369
|
+
|
370
|
+
class Router(RoutingServiceInterface)
|
371
|
+
def __init__(self):
|
372
|
+
# your router initialization - delete the following pass
|
373
|
+
pass
|
374
|
+
|
375
|
+
async def route_query(self, query: str) -> str:
|
376
|
+
# a simple example to route always to customer_support agent
|
377
|
+
return "customer_support"
|
378
|
+
|
379
|
+
router = Router()
|
380
|
+
|
381
|
+
solana_agent = SolanaAgent(config=config)
|
382
|
+
|
383
|
+
async for response in solana_agent.process("user123", "What are the latest AI developments?", router=router):
|
384
|
+
print(response, end="")
|
385
|
+
```
|
386
|
+
|
346
387
|
## Notes
|
347
388
|
* Solana Agent agents can only call one tool per response.
|
348
389
|
* Solana Agent agents choose the best tool for the job.
|
349
390
|
* Solana Agent tools do not use OpenAI function calling.
|
350
391
|
* Solana Agent tools are async functions.
|
351
|
-
* Solana Agent will use OpenAI for audio and Ollama and for text if both config vars are set
|
352
392
|
|
353
393
|
## Local Setup
|
354
394
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
[tool.poetry]
|
2
2
|
name = "solana-agent"
|
3
|
-
version = "20.1.
|
3
|
+
version = "20.1.1"
|
4
4
|
description = "Agentic IQ"
|
5
5
|
authors = ["Bevan Hunt <bevan@bevanhunt.com>"]
|
6
6
|
license = "MIT"
|
@@ -11,6 +11,7 @@ keywords = ["ai", "openai", "ai agents", "agi"]
|
|
11
11
|
classifiers = [
|
12
12
|
"Development Status :: 5 - Production/Stable",
|
13
13
|
"Intended Audience :: Developers",
|
14
|
+
"Programming Language :: Python :: 3",
|
14
15
|
"Programming Language :: Python :: 3.12",
|
15
16
|
"Programming Language :: Python :: 3.13",
|
16
17
|
"Topic :: Scientific/Engineering :: Artificial Intelligence",
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{solana_agent-20.1.0 → solana_agent-20.1.1}/solana_agent/interfaces/providers/data_storage.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|