ozwellai
v1.0.0
Published
Official TypeScript/JavaScript client for OzwellAI API
Maintainers
Readme
OzwellAI TypeScript/JavaScript Client
Official TypeScript/JavaScript client library for the OzwellAI API.
Installation
npm
npm install ozwellaiJSR (for Deno)
deno add @mieweb/ozwellaiUsage
Basic Setup
// ES Modules
import OzwellAI from "ozwellai";
// Or in CommonJS:
// const OzwellAI = require("ozwellai");
const client = new OzwellAI({
apiKey: process.env.OZWELLAI_API_KEY, // best practice: load from env
});Configuration Options
const client = new OzwellAI({
apiKey: 'your-api-key',
baseURL: 'https://api.ozwell.ai', // optional, defaults to official API
timeout: 30000, // optional, defaults to 30 seconds
defaultHeaders: { // optional
'X-Custom-Header': 'value'
}
});Chat Completions
const response = await client.createChatCompletion({
model: 'gpt-4',
messages: [
{ role: 'user', content: 'Hello, how are you?' }
],
temperature: 0.7,
});
console.log(response.choices[0].message.content);Embeddings
const response = await client.createEmbedding({
model: 'text-embedding-ada-002',
input: 'The food was delicious and the waiter...',
});
console.log(response.data[0].embedding);File Operations
// Upload a file
const file = new File(['content'], 'example.txt', { type: 'text/plain' });
const uploadedFile = await client.uploadFile(file, 'assistants');
// List files
const files = await client.listFiles();
// Get file details
const fileDetails = await client.getFile('file-abc123');
// Delete file
await client.deleteFile('file-abc123');Models
// List available models
const models = await client.listModels();
console.log(models.data);Ozwell-Specific Features
// Use the custom responses endpoint
const response = await client.createResponse({
model: 'ozwell-v1',
input: 'Analyze this data...',
temperature: 0.5,
});TypeScript Support
This package is written in TypeScript and includes full type definitions. All API request and response types are exported:
import type {
ChatCompletionRequest,
ChatCompletionResponse,
EmbeddingRequest,
EmbeddingResponse,
} from 'ozwellai';Node.js and Deno Support
This package supports both Node.js (18+) and Deno environments:
- Node.js: Uses built-in
fetch(Node 18+) or polyfill - Deno: Native fetch and Web APIs support
- Browser: Full browser compatibility with bundlers
Error Handling
try {
const response = await client.createChatCompletion({
model: 'gpt-4',
messages: [{ role: 'user', content: 'Hello!' }],
});
} catch (error) {
console.error('API Error:', error.message);
}Contributing
This client is part of the ozwellai-api repository. Please see the main repository for contributing guidelines.
License
Apache 2.0 - see the LICENSE file for details.
