crewai-ts
Version:
TypeScript port of crewAI for agent-based workflows
77 lines • 2.12 kB
TypeScript
/**
* OpenAI Embedder Implementation
*
* Optimized embedder using OpenAI's text embedding models
* with performance enhancements for production use
*/
import { BaseEmbedder, BaseEmbedderOptions } from './BaseEmbedder.js';
import OpenAI from 'openai';
/**
* OpenAI Embedder Options
*/
export interface OpenAIEmbedderOptions extends BaseEmbedderOptions {
/**
* OpenAI API key
*/
apiKey?: string;
/**
* OpenAI Organization ID
*/
organization?: string;
/**
* OpenAI API URL
* @default 'https://api.openai.com/v1/embeddings'
*/
apiUrl?: string;
/**
* Timeout for API requests in milliseconds
* @default 30000 (30 seconds)
*/
timeout?: number;
}
/**
* OpenAI Embedder Implementation
*
* Uses OpenAI's powerful embedding models with optimized performance
*/
export declare class OpenAIEmbedder extends BaseEmbedder<OpenAIEmbedderOptions> {
/**
* API key for OpenAI
*/
private apiKey;
/**
* API URL
*/
private apiUrl;
/**
* OpenAI Organization ID
*/
private organization?;
/**
* Request timeout
*/
private timeout;
/**
* OpenAI client
*/
protected client: OpenAI;
/**
* Constructor for OpenAIEmbedder
*/
constructor(options?: OpenAIEmbedderOptions);
/**
* Embed text using OpenAI's embedding API
* @param text Text to embed
* @returns Promise resolving to Float32Array of embeddings
*/
embed(text: string): Promise<Float32Array>;
/**
* Embed batch of texts using OpenAI's embedding API
* @param texts Texts to embed
* @returns Promise resolving to Float32Array[] of embeddings
*/
embedBatch(texts: string[]): Promise<Float32Array[]>;
protected executeWithRetry<T>(operation: () => Promise<T>, maxRetries?: number, initialBackoff?: number, maxBackoff?: number): Promise<T>;
protected executeBatchWithRetry<T>(operation: () => Promise<T>, maxRetries?: number, initialBackoff?: number, maxBackoff?: number): Promise<T>;
}
//# sourceMappingURL=OpenAIEmbedder.d.ts.map