-
Notifications
You must be signed in to change notification settings - Fork 524
feat: Add OpenGradient Action Provider #475
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Overwriting all commits in order to make them verified. Here's a sum of the list of changes that lead up to this commit: - Add OpenGradient action provider - Add hard-coded OpenGradient tool functions for ML workflow - Add prompt OpenGradient tools for Dobby and Qwen - Add unit tests for OpenGradient tools - Add block explorer links to each tool output - Update CHANGELOG - Add OpenGradient logo asset (might need to fix) - Add OpenGradient to poetry.lock
Still need to update their function descriptions, but the unit tests are added and passing.
🟡 Heimdall Review Status
|
Thanks for contributing! Taking a look through this over the coming days and will provide any feedback |
Hi @kylexqian , thanks for your contribution! Could you please rebase against main, then I will do some testing. A few initial comments below |
## 🔒 Legal and Privacy | ||
|
||
The AgentKit software is novel and experimental, and is therefore provided on an AS-IS basis. The software is intended to be used only for the purposes of assisting with designing blockchain transactions and enabling other API integrations using natural language inputs, and is not intended to provide (i) an offer, or solicitation of an offer, to invest in, or to buy or sell, any interests or shares, or to participate in any investment or trading strategy, (ii) accounting, legal, tax advice, investment recommendations or other professional advice or (iii) an official statement of Coinbase. Acts proposed or performed by an agent through AgentKit software are NOT acts of Coinbase. You should consult with a professional advisor before making any decisions based on the information provided by the software. You are not permitted to use the proceeds of loans or credit to purchase digital assets on or through coinbase.com, Coinbase's APIs, the Coinbase mobile application, or any other Coinbase website or product, including AgentKit. No representation or warranty is made, expressed or implied, with respect to the accuracy, completeness, reliability, security, or suitability of the software or to any information provided in connection with the software. The risk of loss through use of the software can be substantial, and you assume any and all risks of loss and liability. The software may produce output that is inaccurate, incorrect, unpredictable or undesirable, and it is the user’s exclusive responsibility to evaluate the output and the use-case and determine whether it is appropriate. The right to use the software is contingent on your agreement to the [CDP Terms of Service](https://www.coinbase.com/legal/developer-platform/terms-of-service) (except to the extent it conflicts with the Apache-2.0 license). | ||
The AgentKit software is novel and experimental, and is therefore provided on an AS-IS basis. The software is intended to be used only for the purposes of assisting with designing blockchain transactions and enabling other API integrations using natural language inputs, and is not intended to provide (i) an offer, or solicitation of an offer, to invest in, or to buy or sell, any interests or shares, or to participate in any investment or trading strategy, (ii) accounting, legal, tax advice, investment recommendations or other professional advice or (iii) an official statement of Coinbase. Acts proposed or performed by an agent through AgentKit software are NOT acts of Coinbase. You should consult with a professional advisor before making any decisions based on the information provided by the software. You are not permitted to use the proceeds of loans or credit to purchase digital assets on or through coinbase.com, Coinbase's APIs, the Coinbase mobile application, or any other Coinbase website or product, including AgentKit. No representation or warranty is made, expressed or implied, with respect to the accuracy, completeness, reliability, security, or suitability of the software or to any information provided in connection with the software. The risk of loss through use of the software can be substantial, and you assume any and all risks of loss and liability. The software may produce output that is inaccurate, incorrect, unpredictable or undesirable, and it is the user’s exclusive responsibility to evaluate the output and the use-case and determine whether it is appropriate. The right to use the software is contingent on your agreement to the [CDP Terms of Service](https://www.coinbase.com/legal/developer-platform/terms-of-service) (except to the extent it conflicts with the Apache-2.0 license). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please revert
|
||
<!-- towncrier release notes start --> | ||
## Unreleased | ||
- Added `read_eth_usdt_one_hour_volatility_forecast` to read live volatility forecasts using OpenGradient's ML workflow |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please revert and add changlog entry as described here https://github.com/coinbase/agentkit/blob/main/CONTRIBUTING-PYTHON.md#changelog
Please revert all changes in langchain-cdp-chatbot, only commit the new action provider |
Could you please add a README for the action provider, see eg erc20/README.md?. This should also include how/where to get a OpenGradient private key. Where is this actually used in the code? Or does it mean it requires a wallet created with your sdk? |
What changed?
Why was this change implemented?
OpenGradient is a Decentralized AI platform that enables end-to-end model storage and secure inference on the OpenGradient blockchain (currently in testnet).
We hope to add a few tools to the coinbase action provider repository:
BTC
,ETH
,SOL
, etc.)These can be used in financial based AI agents with goals like optimizing a defi portfolio, using volatility to automatically adjust buy / sell stops, lending USDC, yield farming, etc.
SentientAGI/Dobby-Mini-Unhinged-Llama-3.1-8B
andQwen/Qwen2.5-72B-Instruct
)Allow users to access different on-chain LLMs from the current LLM used by the agent itself. This can eventually include custom system prompts, but currently set as Dobby (who is great for creative-writing and general humor) and Qwen. These independent LLMs can even interact with one another!
All of these tools will be run through the OpenGradient blockchain, allowing for transaction tracking through our block explorer.
We are hoping this PR can act as a stepping stone to add OpenGradient agent toolkit functions (see
Notes
at the end for more details).Network support
Wallet support
Checklist
OpenGradient
topoetry.lock
as it's necessary to use the OpenGradient SDK. Our SDK is open-sourced here, PyPI link here).How has it been tested?
Unit tests added under
tests/action_providers/opengradient
Example usecase of quantitative model:
Example usecase of LLM prompting (From Agent test):
Developer note: The Dobby model is pretty funny
Notes to reviewers
Using any of these OpenGradient tools will require an OpenGradient private key (this can be generated through our SDK, generally users should have their own).
Question
For the
README Update
under the checklist, we may need some guidance on how you want our logos formatted under theproviders
list? Is there other updates needed for this file?Future features
We're hoping to eventually include AlphaSense into the coinbase agent kit.
Alphasense is OpenGradient's langchain compatible toolkit for developing OG based tools. The reasoning behind providing this developer tool is that model inferences can end up being huge. For example, if your input is a 1000 int array that needs to be copied into the AI agent, it can easily pollute agent context window. By adding these tools in the coinbase agent kit we hope to allow users to write custom (essentially hard-coded) tools similar to the ones added in this PR.
Let us know what you think of this!