-
Notifications
You must be signed in to change notification settings - Fork 149
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
Update eleven-labs setup README.md #35
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,7 +2,7 @@ | |
|
||
This example uses the ElevenLabs base project described [here](https://elevenlabs.io/docs/conversational-ai/guides/conversational-ai-guide-nextjs) and follows the steps to add client tool calling described [here](https://elevenlabs.io/docs/conversational-ai/customization/client-tools). | ||
|
||
https://github.com/user-attachments/assets/67c7f2d2-0b6a-4e0a-b24b-423e35a94c69 | ||
https://github.com/user-attachments/assets/2a53b2af-eefe-46c7-a3d4-9441eefe0f81 | ||
|
||
## Setup | ||
|
||
|
@@ -11,12 +11,15 @@ https://github.com/user-attachments/assets/67c7f2d2-0b6a-4e0a-b24b-423e35a94c69 | |
``` | ||
cp .example.env .env | ||
``` | ||
`NEXT_PUBLIC_ELEVEN_LABS_AGENT_ID` - create an agent [here](https://elevenlabs.io/app/conversational-ai), and copy agent ID | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. i didnt go through this, just double checking that we dont need to enable any special configs or anything There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. nope just make an agent and copy the ID |
||
|
||
2. Create an ElevenLabs agent and get the agent ID. You can follow this guide: https://elevenlabs.io/docs/conversational-ai/docs/agent-setup | ||
`NEXT_PUBLIC_SEPOLIA_RPC_URL` - create your first app on [Alchemy](https://dashboard.alchemy.com/apps), and go to the Networks tab to copy Ethereum Sepolia API key | ||
|
||
3. Set the `NEXT_PUBLIC_ELEVEN_LABS_AGENT_ID` environment variable with the agent ID. | ||
`NEXT_PUBLIC_COINGECKO_API_KEY` - create your demo account API key on the Coingecko developer [dashboard](https://www.coingecko.com/en/developers/dashboard) | ||
|
||
4. ElevenLabs requires you to register each tool manually through the ElevenLabs dashboard. To make it easier, we've added a `logTools` option to the `getOnChainTools` function. This will log the tools with their respective descriptions and parameters to the console. | ||
2. Run `pnpm install` on the root directory (/goat). Then, go to the /conversational-agent directory to run `pnpm install && build`. After a successful build, run the app with `pnpm dev`, connect your wallet, and start the conversation! | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think it's better to just put this as commands they can copy paste Also, the first oen is incorrect, they need to be in the typescript/ folder, and they need to do |
||
|
||
**Note**: ElevenLabs requires you to register each tool manually through the ElevenLabs dashboard. To make it easier, we've added a `logTools` option to the `getOnChainTools` function. This will log the tools with their respective descriptions and parameters to the console. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I would not describe this as a note. I would make this step 3: Install tools in ElevenLabs console. Also, in step 2, i would remove "run the app with Instead:
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. but if they dont run the app, they cant see the tools logged |
||
|
||
```typescript | ||
const tools = await getOnChainTools({ | ||
|
@@ -26,5 +29,17 @@ const tools = await getOnChainTools({ | |
}, | ||
}); | ||
``` | ||
When you load the site, the console logs each tool that is called, which you would need to add into your agent's dashboard as a `client tool`. The logs will look something like this: | ||
|
||
``` | ||
get_eth_balance | ||
|
||
Description: This tool returns the ETH balance of an EVM wallet. | ||
|
||
Parameters: | ||
|
||
- address (optional) (string): The address to get the balance of, defaults to the address of the wallet | ||
``` | ||
Add it in the Eleven Labs Agent console like so: | ||
|
||
5. Run the app with `pnpm dev`, connect your wallet, and start the conversation! | ||
<img width="576" alt="Screenshot 2024-12-09 at 6 04 09 PM" src="https://github.com/user-attachments/assets/3e713bc4-9830-4487-b9f8-515cfe050d7a"> |
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.
Id explain what we're building. This is describing more how we build it, which is harder to parse
Sometihng on the lines of
This example builds a conversational agent with ElevenLabs, that can query the balance in your wallet and recommend you which tokens to buy, with some special touch ✨
It is built on top of the ElevenLabs base project, and implements both functionalities using tool calling.