solana-agent 23.0.0__py3-none-any.whl → 23.0.2__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.
- {solana_agent-23.0.0.dist-info → solana_agent-23.0.2.dist-info}/METADATA +79 -6
- {solana_agent-23.0.0.dist-info → solana_agent-23.0.2.dist-info}/RECORD +4 -4
- {solana_agent-23.0.0.dist-info → solana_agent-23.0.2.dist-info}/LICENSE +0 -0
- {solana_agent-23.0.0.dist-info → solana_agent-23.0.2.dist-info}/WHEEL +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: solana-agent
|
3
|
-
Version: 23.0.
|
3
|
+
Version: 23.0.2
|
4
4
|
Summary: Agentic IQ
|
5
5
|
License: MIT
|
6
6
|
Keywords: ai,openai,ai agents,agi
|
@@ -81,6 +81,51 @@ You can install Solana Agent using pip:
|
|
81
81
|
|
82
82
|
`pip install solana-agent`
|
83
83
|
|
84
|
+
## Flows
|
85
|
+
|
86
|
+
In both flows of single and multiple agents - it is one user query to one agent using one tool (if needed).
|
87
|
+
|
88
|
+
An agent can have multiple tools and will choose the best one to answer the user query.
|
89
|
+
|
90
|
+
Routing is determined by optimal domain expertise of the agent for the user query.
|
91
|
+
|
92
|
+
When the agent uses a tool it feeds the tool output back into the agent to generate the final response.
|
93
|
+
|
94
|
+
This is important as tools generally output unstructured and unformatted data that the agent needs to prepare for the user.
|
95
|
+
|
96
|
+
Keep this in mind while designing your agentic systems using Solana Agent.
|
97
|
+
|
98
|
+
```ascii
|
99
|
+
Single Agent
|
100
|
+
|
101
|
+
┌────────┐ ┌─────────┐ ┌────────┐
|
102
|
+
│ │ │ │ │ │
|
103
|
+
│ │ │ │ │ │
|
104
|
+
│ User │◄──────►│ Agent │◄──────►│ Tool │
|
105
|
+
│ │ │ │ │ │
|
106
|
+
│ │ │ │ │ │
|
107
|
+
└────────┘ └─────────┘ └────────┘
|
108
|
+
|
109
|
+
|
110
|
+
|
111
|
+
|
112
|
+
|
113
|
+
Multiple Agents
|
114
|
+
|
115
|
+
┌────────┐ ┌──────────┐ ┌─────────┐ ┌────────┐
|
116
|
+
│ │ │ │ │ │ │ │
|
117
|
+
│ │ │ │ │ │ │ │
|
118
|
+
┌───►│ User ├───────►│ Router ├───────►│ Agent │◄──────►│ Tool │
|
119
|
+
│ │ │ │ │ │ │ │ │
|
120
|
+
│ │ │ │ │ │ │ │ │
|
121
|
+
│ └────────┘ └──────────┘ └────┬────┘ └────────┘
|
122
|
+
│ │
|
123
|
+
│ │
|
124
|
+
│ │
|
125
|
+
│ │
|
126
|
+
└───────────────────────────────────────────────┘
|
127
|
+
```
|
128
|
+
|
84
129
|
## Usage
|
85
130
|
|
86
131
|
### Text/Text Streaming
|
@@ -112,6 +157,10 @@ async for response in solana_agent.process("user123", "What are the latest AI de
|
|
112
157
|
print(response, end="")
|
113
158
|
```
|
114
159
|
|
160
|
+
OpenAI API calls with no tool call = 1 (text)
|
161
|
+
|
162
|
+
OpenAI API calls with tool call = 2 (text, text)
|
163
|
+
|
115
164
|
### Audio/Audio Streaming
|
116
165
|
|
117
166
|
```python
|
@@ -143,6 +192,10 @@ async for response in solana_agent.process("user123", audio_content, output_form
|
|
143
192
|
print(response, end="")
|
144
193
|
```
|
145
194
|
|
195
|
+
OpenAI API calls with no tool call = 3 (audio transcribe, text, TTS)
|
196
|
+
|
197
|
+
OpenAI API calls with tool call = 4 (audio transcribe, text, text, TTS)
|
198
|
+
|
146
199
|
### Text/Audio Streaming
|
147
200
|
|
148
201
|
```python
|
@@ -172,6 +225,10 @@ async for response in solana_agent.process("user123", "What is the latest news o
|
|
172
225
|
print(response, end="")
|
173
226
|
```
|
174
227
|
|
228
|
+
OpenAI API calls with no tool call = 2 (text, TTS)
|
229
|
+
|
230
|
+
OpenAI API calls with tool call = 3 (text, text, TTS)
|
231
|
+
|
175
232
|
### Audio/Text Streaming
|
176
233
|
|
177
234
|
```python
|
@@ -203,6 +260,10 @@ async for response in solana_agent.process("user123", audio_content, audio_input
|
|
203
260
|
print(response, end="")
|
204
261
|
```
|
205
262
|
|
263
|
+
OpenAI API calls with no tool call = 2 (audio transcribe, text)
|
264
|
+
|
265
|
+
OpenAI API calls with tool call = 3 (audio transcribe, text, text)
|
266
|
+
|
206
267
|
## Optional Feature Configs
|
207
268
|
|
208
269
|
### Business Alignment
|
@@ -248,14 +309,14 @@ config = {
|
|
248
309
|
|
249
310
|
This mode is great for text output where the default response from OpenAI is enough.
|
250
311
|
|
251
|
-
However, it is also found to sometimes
|
312
|
+
However, it is also found to sometimes to not call tools when the tool should be called.
|
252
313
|
|
253
|
-
It is faster than calling `search_internet` from `sakit`
|
314
|
+
It is faster than calling `search_internet` from `sakit` by saving 2 API calls.
|
254
315
|
|
255
|
-
The default mode is disabled due to the issue of not calling tools properly.
|
316
|
+
The default mode is disabled due to the issue of not calling tools properly and is not suitable for audio output.
|
256
317
|
|
257
318
|
```python
|
258
|
-
async for response in solana_agent.process("user123", "
|
319
|
+
async for response in solana_agent.process("user123", "What is the latest news on Canada?", internet_search=True):
|
259
320
|
print(response, end="")
|
260
321
|
```
|
261
322
|
|
@@ -498,7 +559,19 @@ The official example app written in FastAPI and Next.js
|
|
498
559
|
|
499
560
|
## Agent Framework Comparisons
|
500
561
|
|
501
|
-
[Compare Python Agent Frameworks](https://github.com/truemagic-coder/solana-agent/
|
562
|
+
[Compare Python Agent Frameworks](https://github.com/truemagic-coder/solana-agent/wiki/Agent-Framework-Comparisons)
|
563
|
+
|
564
|
+
## Contributing
|
565
|
+
|
566
|
+
If you have a question, feedback, or feature request - please open a GitHub discussion.
|
567
|
+
|
568
|
+
If you find a bug - please open a GitHub issue.
|
569
|
+
|
570
|
+
We are currently accepting PRs if approved in discussions. Make sure all tests pass and the README & docs are updated.
|
571
|
+
|
572
|
+
To run the documentation site locally run `make livehtml` in the root directory.
|
573
|
+
|
574
|
+
To run the test suite locally run `poetry run pytest --cov=solana_agent --cov-report=html` in the root directory.
|
502
575
|
|
503
576
|
## License
|
504
577
|
|
@@ -29,7 +29,7 @@ solana_agent/services/__init__.py,sha256=ab_NXJmwYUCmCrCzuTlZ47bJZINW0Y0F5jfQ9Oo
|
|
29
29
|
solana_agent/services/agent.py,sha256=-u2rtu6w_0BQoHPFU3GdLuZLinQzQ0cpktOUsCRcbUU,20048
|
30
30
|
solana_agent/services/query.py,sha256=6K5RcxoHXaKMvxmDPo_WInRYtjOKJ8In4BgdLhzc_98,11363
|
31
31
|
solana_agent/services/routing.py,sha256=PMCSG5m3uLMaHMj3dxNvNfcFZaeaDi7kMr7AEBCzwDE,6499
|
32
|
-
solana_agent-23.0.
|
33
|
-
solana_agent-23.0.
|
34
|
-
solana_agent-23.0.
|
35
|
-
solana_agent-23.0.
|
32
|
+
solana_agent-23.0.2.dist-info/LICENSE,sha256=BnSRc-NSFuyF2s496l_4EyrwAP6YimvxWcjPiJ0J7g4,1057
|
33
|
+
solana_agent-23.0.2.dist-info/METADATA,sha256=joE8sHh6LPK0pcFKQYV4DD_khkI-7GPblIK76093JbM,19773
|
34
|
+
solana_agent-23.0.2.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
|
35
|
+
solana_agent-23.0.2.dist-info/RECORD,,
|
File without changes
|
File without changes
|