Model Providers
OpenAI Provider
Production-ready integration with OpenAI models powered by the Responses API.
OpenAI Provider
The OpenAIProvider leverages OpenAI's modern Responses API (openai.responses.create and openai.responses.stream) to deliver high-performance generation, tool invocation, and streaming.
Import
import { OpenAIProvider } from "raseo-sdk/openai";Configuration Options
export interface ProviderConfig {
apiKey?: string; // OpenAI API key (defaults to process.env.OPENAI_API_KEY)
model: string; // Model name, e.g. "gpt-4o", "gpt-4o-mini"
baseURL?: string; // Custom endpoint or proxy URL
organization?: string; // OpenAI organization ID
timeout?: number; // Request timeout in milliseconds
maxRetries?: number; // Automatic retry count
headers?: Record<string, string>; // Custom request headers
}Non-Streaming Generation (generate)
import { OpenAIProvider } from "raseo-sdk/openai";
const provider = new OpenAIProvider({
apiKey: process.env.OPENAI_API_KEY!,
model: "gpt-4o-mini",
});
const response = await provider.generate({
messages: [
{ role: "system", content: "You are an expert software architect." },
{ role: "user", content: "Summarize the benefits of microfrontends in 3 bullets." },
],
temperature: 0.7,
maxTokens: 300,
});
console.log(response.message.content);
console.log("Usage:", response.usage);Real-Time Streaming (stream)
Consume tokens progressively using streamResult.textStream:
const streamResult = await provider.stream({
messages: [{ role: "user", content: "Explain quantum computing simply." }],
});
for await (const text of streamResult.textStream) {
process.stdout.write(text);
}
const finalResponse = await streamResult.response;
console.log("\nTokens Used:", finalResponse.usage?.totalTokens);