-
Notifications
You must be signed in to change notification settings - Fork 239
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Adding Venice ElizaOS Template (#634)
Adding template for one-click ElizaOS Agent Deployment using Venice API on Akash --------- Co-authored-by: Kyle Cohen <[email protected]>
- Loading branch information
1 parent
34338ac
commit 4ae2500
Showing
5 changed files
with
141 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
# Launching an Eliza Agent using Venice API on Akash | ||
|
||
This is a template for launching an Eliza Agent with direct interaction and Twitter/X integration on Akash. This enables users to input their Venice API Key, Twitter Credentials, and Character information to get the Eliza agent up and running. You will need a Venice API key for this to work properly. | ||
|
||
# About Venice | ||
Venice is a privacy focused generative AI platform, allowing users to interact with open-source LLMs without storing any private user data. To get started with Venice's API, either purchase a pro account, stake $VVV to obtain daily inference allotments or fund your account with USD and head over to https://venice.ai/settings/api. Venice hosts state of the art open-source AI models and supports the OpenAI API standard, allowing users to easily interact with the platform. Learn more about the Venice API at https://venice.ai/api. | ||
|
||
## Obtaining a Venice API Key | ||
Users can access the Venice API in 3 different ways: | ||
|
||
1. Pro Account: Users with a PRO account will gain access to the Venice API within the “Explorer Tier”. This tier has lower rate-limits, and is intended for simple interaction with the API. | ||
|
||
2. VCUs: With Venice’s launch of the $VVV token, users who stake tokens within the Venice protocol gain access to a daily AI inference allocation (as well as ongoing staking yield). When staking, users receive VCUs, which represent a portion of the overall Venice compute capacity. You can stake $VVV tokens and see your VCU allotment here (https://venice.ai/token). Users with positive VCU balance are entitled to “Paid Tier” rate limits. | ||
|
||
3. USD: User’s can also opt to deposit USD into their account to pay for API inference the same way that they would on other platforms, like OpenAI or Anthropic. Users with positive USD balance are entitled to “Paid Tier” rate limits. | ||
|
||
## Usage | ||
To launch an Eliza Agent using Venice API through Akash, you need to follow the following instructions: | ||
|
||
* Create new deployment on Akash | ||
* Launch Using Template (this template) | ||
* Edit the SDL file with the following | ||
1. Venice API Key | ||
2. Venice Model selection - Go to https://docs.venice.ai/api-reference/endpoint/models/list?playground=open for Model IDs | ||
3. Twitter credentials and configurations. If you decide to not use the twitter integration, delete "twitter" within "CHAR_CLIENTS=" | ||
4. Character Card information, used to define the personality of the character. View samples of characters from the Eliza github https://github.com/elizaOS/eliza/tree/main/characters | ||
* Create the deployment and select a provider | ||
* View the "Events" to ensure the docker container properly scales up | ||
* View the "Logs" to ensure the Eliza agent properly connects to twitter and starts up | ||
* Identify the port that is being forwarded to "3000" and click on it. You should see "Welcome, this is the REST API!" | ||
* Interact with your character through the API. | ||
Identify the agent id: | ||
``` | ||
curl --location 'http://<provider>:<port>/agents' | ||
``` | ||
Chat with the agent: | ||
``` | ||
curl --location 'http://<provider>:<port>/<agentid>/message' \ | ||
--header 'Content-Type: application/json' \ | ||
--data '{ | ||
"text": "what is your name" | ||
}' | ||
``` | ||
* Go to the twitter account that was configured and see what your agent is posting! | ||
## Documentation | ||
Venice API Spec https://docs.venice.ai/api-reference/api-spec | ||
Venice Integrations (including in-depth how-to guide) https://docs.venice.ai/welcome/guides/integrations | ||
## Support | ||
To learn more and get support: | ||
* Check the Venice API documentation (https://docs.venice.ai/welcome/about-venice) | ||
* Review detailed model specifications in our model endpoints list (https://docs.venice.ai/api-reference/endpoint/models/list?_gl=1*1ij5ulr*_gcl_au*MzMxODkxODc3LjE3MzgwNDc3NTU._gl=1*1ij5ulr*_gcl_au*MzMxODkxODc3LjE3MzgwNDc3NTU.) | ||
* Join the Venice Discord for developer discussions and support in the #api channel (https://discord.gg/venice) | ||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
{ | ||
"$schema": "../config.schema.json", | ||
"ssh": false, | ||
"logoUrl": "https://raw.githubusercontent.com/akash-network/awesome-akash/master/Venice-ElizaOS/image.png"} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
--- | ||
version: "2.0" | ||
services: | ||
service-1: | ||
image: kylecohen01/venice_eliza:1.1 | ||
expose: | ||
- port: 3000 | ||
as: 3000 | ||
to: | ||
- global: true | ||
- port: 5173 #these are currently enabled for testing of the chat UI. This is currently not functional. Placeholder for testing | ||
as: 5173 | ||
to: | ||
- global: true | ||
- port: 5174 #these are currently enabled for testing of the chat UI. This is currently not functional. Placeholder for testing | ||
as: 5174 | ||
to: | ||
- global: true | ||
env: | ||
- TWITTER_USERNAME= #twitter username | ||
- TWITTER_PASSWORD= #twitter password | ||
- TWITTER_EMAIL= #twitter email address | ||
- TWITTER_POLL_INTERVAL=120 | ||
- TWITTER_SEARCH_ENABLE=FALSE | ||
- TWITTER_TARGET_USERS= #twitter accounts to target | ||
- POST_INTERVAL_MIN=60 #min posting frequency | ||
- POST_INTERVAL_MAX=120 #max posting frequency | ||
- POST_IMMEDIATELY=true | ||
- TWITTER_DRY_RUN=false #test-run, true does not post to twitter | ||
- TWITTER_SPACES_ENABLE=false | ||
- ENABLE_TWITTER_POST_GENERATION=true | ||
- ENABLE_ACTION_PROCESSING=false | ||
- MAX_ACTIONS_PROCESSING=1 | ||
- ACTION_TIMELINE_TYPE=foryou | ||
- VENICE_API_KEY= #venice api key | ||
- SMALL_VENICE_MODEL=llama-3.3-70b #venice model selectors | ||
- MEDIUM_VENICE_MODEL=llama-3.3-70b #venice model selectors | ||
- LARGE_VENICE_MODEL=llama-3.3-70b #venice model selectors | ||
- IMAGE_VENICE_MODEL=flux-dev #venice model selectors | ||
- DEFAULT_LOG_LEVEL=debug #log level - debug shows everything | ||
- CHAR_CLIENTS=twitter #clients to enable. SDL only setup for twitter integation or empty for chat only | ||
- CHAR_NAME= #name your character, do not use quotes | ||
- CHAR_BIO= #character bio, separate by commas, do not use quotes | ||
- CHAR_LORE= #character lore, separate by commas, do not use quotes | ||
- PROMPT_1_INPUT= #user sample prompt | ||
- PROMPT_1_RESPONSE= #character sample response | ||
- PROMPT_2_INPUT= #user sample prompt | ||
- PROMPT_2_RESPONSE= #character sample response | ||
- POST_EXAMPLES= | ||
- CHAR_OVERALL_STYLE= #character overall style, separate by commas, do not use quotes | ||
- CHAR_CHAT_STYLE= #character chat style, separate by commas, do not use quotes | ||
- CHAR_POST_STYLE= #character post style, separate by commas, do not use quotes | ||
- CHAR_ADJECTIVES= #character adjectives, separate by commas, do not use quotes | ||
profiles: | ||
compute: | ||
service-1: | ||
resources: | ||
cpu: | ||
units: | ||
- 16 | ||
memory: | ||
size: 32gb #tuning of these values for optimization required | ||
storage: | ||
- size: 64Gi #tuning of these values for optimization required | ||
placement: | ||
dcloud: | ||
pricing: | ||
service-1: | ||
denom: uakt | ||
amount: 1000000 | ||
attributes: | ||
host: akash | ||
deployment: | ||
service-1: | ||
dcloud: | ||
profile: service-1 | ||
count: 1 |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.