@clusterprotocol/arena
v1.0.7
Published
Official node package by ClusterProtocol to user Cluster Arena API
Downloads
23
Readme
ClusterArena
ClusterArena is a TypeScript library that provides easy access to the Cluster Arena API. It allows you to manage jobs, add new jobs, and fetch job details seamlessly.
Table of Contents
- Installation
- Configuration
- Usage
- Initializing ClusterArena
- Fetching Jobs
- Adding a Job
- Fetching Job Details
- Error Handling
- Contributing
- License
Installation
To install the ClusterArena package, run the following command:
npm install @clusterprotocol/arena
Configuration
Before using the ClusterArena library, you need to set up your API key. You can do this by setting the CLUSTER_ARENA_API_KEY
environment variable or passing the API key directly when initializing the library.
Usage
Initializing ClusterArena
To use ClusterArena, first import the library and create an instance of the ClusterArena
class:
import ClusterArena from '@clusterprotocol/arena';
const clusterArena = new ClusterArena('your-api-key-here');
Alternatively, you can set the CLUSTER_ARENA_API_KEY
environment variable and initialize without passing the API key:
import ClusterArena from '@clusterprotocol/arena';
const clusterArena = new ClusterArena();
Fetching Jobs
To fetch all jobs, use the getJobs
method:
async function fetchJobs() {
try {
const jobs = await clusterArena.getJobs();
console.log('Jobs:', jobs);
} catch (error) {
console.error('Error fetching jobs:', error.message);
}
}
fetchJobs();
Adding a Job
To add a new job, use the addJob
method. The job data must include a title
and description
:
async function addNewJob() {
const jobData = {
model_id: 'meta/Meta-Llama-3-8B-Instruct',
input:{
prompt:"Write a poem in less than 3 lines.",
min_tokens:100,
max_tokens:512
}
// Add more fields as needed
};
try {
const newJob = await clusterArena.addJob(jobData);
console.log('New Job Added:', newJob);
} catch (error) {
console.error('Error adding job:', error.message);
}
}
addNewJob();
Fetching Job Details
To fetch details of a specific job, use the getJobDetails
method and pass the job ID:
async function fetchJobDetails(jobId: string) {
try {
const jobDetails = await clusterArena.getJobDetails(jobId);
console.log('Job Details:', jobDetails);
} catch (error) {
console.error('Error fetching job details:', error.message);
}
}
fetchJobDetails('job-id-here');
Error Handling
The ClusterArena library throws errors when API requests fail or when invalid data is provided. Make sure to handle these errors appropriately in your application:
try {
// Your code here
} catch (error) {
console.error('An error occurred:', error.message);
}
Contributing
We welcome contributions to the ClusterArena library! If you have suggestions, bug reports, or want to contribute code, please open an issue or submit a pull request on our GitHub repository.
Steps to Contribute
- Fork the repository.
- Create a new branch for your feature or bugfix.
- Make your changes and commit them with a descriptive message.
- Push your changes to your fork.
- Open a pull request on the main repository.
License
This project is licensed under the ISC License.