Installation
$ npm install jamaibase@latest
Usage
Create API Client
Create an API client with baseURL:
import JamAI from "jamaibase";
const jamai = new JamAI({ baseURL: "http://localhost:5173/" });
Create an API client with API key and project id:
import JamAI from "jamaibase";
const jamai = new JamAI({ apiKey: "jamai_apikey", projectId: "proj_id" });
The default base URL is set to
Create an API client with custom HTTP client:
import axios from "axios";
import JamAI from "jamaibase";
const httpClient = axios.create({
headers: {
Authorization: `Bearer ${credentials}`,
"Content-Type": "application/json"
}
});
const jamai = new JamAI({
baseURL: "https://api.jamaibase.com",
httpClient: httpClient
});
Create an API client with max-retry and timeout:
import JamAI from "jamaibase";
const jamai = new JamAI({
baseURL: "https://api.jamaibase.com",
maxRetries: 3,
timeout: 500
});
Configure httpAgent / httpsAgent
import JamAI from "jamaibase";
const jamai = new JamAI({
baseURL: "https://api.jamaibase.com"
});
jamai.setHttpagentConfig({
maxSockets: 100,
maxFreeSockets: 10,
freeSocketTimeout: 30000 // free socket keepalive for 30 seconds
});
Imports
Can be imported from different modules depending on the need:
import JamAI from "jamaibase/index.umd.js";
Types
Types can be imported from resources:
import { ChatRequest } from "jamaibase/resources/llm/chat";
let response: ChatRequest;
Using the Client
Example of adding a row to an action table:
try {
let data = await jamai.addRow({
table_type: "action",
data: [
{
age: 22,
height: 178,
weight: 66.5,
sex: male,
preferred_body_type: lean,
},
],
table_id: "fitness_planner",
reindex: null,
});
console.log(data)
} catch (error: any) {
console.error("Error fetching data:", error?.message);
}
Example of adding row with streaming output:
try {
const stream = await jamai.addRowStream({
table_type: "action",
table_id: "action-table-example-1",
data: [{
Name: "Albert Eistein"
}]
});
const reader = stream.getReader();
while (true) {
const { done, value } = await reader.read();
if (done) {
console.log("Done");
break;
}
console.log(value);
if (value) {
console.log(value?.choices[0]?.message.content);
}
}
} catch (err) {}
Constructor Parameters for APIClient Configuration
Parameter
Type
Description
Default Value
Required
Base URL for the API request.
Maximum number of retries for failed requests.
Axios instance for making HTTP requests.
Timeout for the requests.
required if accessing cloud
required if accessing cloud
Allowing the insecure usage of JamAI API Key on client side.
Quick Start Guide
SDK