Skip to content

Commit b98850f

Browse files
update deps (#107)
1 parent 4b4b35a commit b98850f

File tree

4 files changed

+311
-213
lines changed

4 files changed

+311
-213
lines changed

README.md

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -725,7 +725,7 @@ from solana_agent import SolanaAgent
725725
config = {
726726
"tools": {
727727
"image_gen": {
728-
"provider": "grok", # Required: either "openai", "grok", or "gemini"
728+
"provider": "openai", # Required: either "openai", "grok", or "gemini"
729729
"api_key": "your-api-key", # Required: your OpenAI or Grok or Gemini API key
730730
"s3_endpoint_url": "https://your-s3-endpoint.com", # Required: e.g., https://nyc3.digitaloceanspaces.com
731731
"s3_access_key_id": "YOUR_S3_ACCESS_KEY", # Required: Your S3 access key ID
@@ -751,6 +751,44 @@ async for response in solana_agent.process("user123", "Generate an image of a sm
751751
print(response, end="")
752752
```
753753

754+
### Nemo Agent
755+
756+
This plugin allows the agent to generate python programs using [Nemo Agent](https://nemo-agent.com) and uploads the files in a ZIP file to s3-compatible storage. It returns the public URL of the zip file.
757+
758+
This has been tested using [Cloudflare R2](https://developers.cloudflare.com/r2/).
759+
760+
```python
761+
from solana_agent import SolanaAgent
762+
763+
config = {
764+
"tools": {
765+
"nemo_agent": {
766+
"provider": "openai", # Required: either "openai" or "gemini"
767+
"api_key": "your-api-key", # Required: your OpenAI or Gemini API key
768+
"s3_endpoint_url": "https://your-s3-endpoint.com", # Required: e.g., https://nyc3.digitaloceanspaces.com
769+
"s3_access_key_id": "YOUR_S3_ACCESS_KEY", # Required: Your S3 access key ID
770+
"s3_secret_access_key": "YOUR_S3_SECRET_KEY", # Required: Your S3 secret access key
771+
"s3_bucket_name": "your-bucket-name", # Required: The name of your S3 bucket
772+
"s3_region_name": "your-region", # Optional: e.g., "nyc3", needed by some providers
773+
"s3_public_url_base": "https://your-cdn-or-bucket-url.com/", # Optional: Custom base URL for public links (include trailing slash). If omitted, a standard URL is constructed.
774+
}
775+
},
776+
"agents": [
777+
{
778+
"name": "python_dev",
779+
"instructions": "You are an expert Python Developer. You always use your nemo_agent tool to generate python code.",
780+
"specialization": "Python Developer",
781+
"tools": ["nemo_agent"], # Enable the tool for this agent
782+
}
783+
]
784+
}
785+
786+
solana_agent = SolanaAgent(config=config)
787+
788+
async for response in solana_agent.process("user123", "Generate an example leetcode medium in Python and give me the zip file."):
789+
print(response, end="")
790+
```
791+
754792
### Inline Tool Example
755793

756794
```python

docs/index.rst

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -679,7 +679,7 @@ Generate images using OpenAI, Grok, or Gemini image models and upload them to S3
679679
config = {
680680
"tools": {
681681
"image_gen": {
682-
"provider": "grok", # Required: either "openai", "grok", or "gemini"
682+
"provider": "openai", # Required: either "openai", "grok", or "gemini"
683683
"api_key": "your-api-key", # Required: your OpenAI or Grok or Gemini API key
684684
"s3_endpoint_url": "https://your-s3-endpoint.com", # Required: e.g., https://nyc3.digitaloceanspaces.com
685685
"s3_access_key_id": "YOUR_S3_ACCESS_KEY", # Required: Your S3 access key ID
@@ -705,6 +705,48 @@ Generate images using OpenAI, Grok, or Gemini image models and upload them to S3
705705
print(response, end="")
706706
707707
708+
### Nemo Agent
709+
710+
This plugin allows the agent to generate python programs using [Nemo Agent](https://nemo-agent.com) and uploads the files in a ZIP file to s3-compatible storage. It returns the public URL of the zip file.
711+
712+
This has been tested using [Cloudflare R2](https://developers.cloudflare.com/r2/).
713+
714+
.. code-block:: bash
715+
716+
pip install sakit
717+
718+
.. code-block:: python
719+
720+
from solana_agent import SolanaAgent
721+
722+
config = {
723+
"tools": {
724+
"nemo_agent": {
725+
"provider": "openai", # Required: either "openai" or "gemini"
726+
"api_key": "your-api-key", # Required: your OpenAI or Gemini API key
727+
"s3_endpoint_url": "https://your-s3-endpoint.com", # Required: e.g., https://nyc3.digitaloceanspaces.com
728+
"s3_access_key_id": "YOUR_S3_ACCESS_KEY", # Required: Your S3 access key ID
729+
"s3_secret_access_key": "YOUR_S3_SECRET_KEY", # Required: Your S3 secret access key
730+
"s3_bucket_name": "your-bucket-name", # Required: The name of your S3 bucket
731+
"s3_region_name": "your-region", # Optional: e.g., "nyc3", needed by some providers
732+
"s3_public_url_base": "https://your-cdn-or-bucket-url.com/", # Optional: Custom base URL for public links (include trailing slash). If omitted, a standard URL is constructed.
733+
}
734+
},
735+
"agents": [
736+
{
737+
"name": "python_dev",
738+
"instructions": "You are an expert Python Developer. You always use your nemo_agent tool to generate python code.",
739+
"specialization": "Python Developer",
740+
"tools": ["nemo_agent"], # Enable the tool for this agent
741+
}
742+
]
743+
}
744+
745+
solana_agent = SolanaAgent(config=config)
746+
747+
async for response in solana_agent.process("user123", "Generate an example leetcode medium in Python and give me the zip file."):
748+
print(response, end="")
749+
708750
Inline Tool Example
709751
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
710752

0 commit comments

Comments
 (0)