-
Notifications
You must be signed in to change notification settings - Fork 177
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
chore: add more detail to contributing action guides #172
base: master
Are you sure you want to change the base?
Conversation
🟡 Heimdall Review Status
|
29f3c51
to
49f050f
Compare
.github/CONTRIBUTING-PYTHON.md
Outdated
- For an example, see [test_mint_nft.py](https://github.com/coinbase/agentkit/blob/master/cdp-agentkit-core/python/tests/actions/test_mint_nft.py) | ||
1. **Prompt**: A description that helps the AI understand when and how to use the action. It's important to describe the inputs and outputs of the action and include examples. Additionally, think about what inputs can be removed entirely and fetched or inferred by the LLM, so that users don't have to manually provide them. | ||
2. **Input Schema**: Define the input parameters using [Pydantic](https://docs.pydantic.dev/latest/) schemas. Pydantic is used to validate the inputs to the action and to generate a JSON schema that can be used by the LLM to understand the inputs. | ||
3. **Implementation Function**: The actual logic that executes the action. This function receives as input the wallet that the Agent has access to, and as you'll see in the walkthrough below, we can use this wallet to invoke an onchain contract! |
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.
@murrlincoln do you think this is an appropriate place to add the link out to CDP docs, as mentioned here?
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.
Yes in step 3 makes sense
|
||
* The prompt disambuguates the type of NFT by specifying "ERC-721" | ||
* The prompt specifies that the destination address should not be the contract address | ||
* The prompt specifies that the LLM should ask the user for the destination address if it is unsure |
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.
can we add that in the case where there is a contract address taken as a parameter, the code either specifies the addresses or in some other way indexes for them? want to avoid the situation with morpho, where a user was required to find and input the address for the vault they wanted
49f050f
to
0115343
Compare
9aace78
to
bff92ca
Compare
What changed? Why?
Closes the action items: