OpenAI Compatible Provider embedding with options example
const { embedding } = await embed({
model: provider.embeddingModel('text-embedding-model'),
value: 'The quick brown fox jumps over the lazy dog',
providerOptions: {
providerName: {
dimensions: 512,
user: 'user-123',
},
},
});
Create language model with OpenAI Compatible Provider
Language models can be created using three methods: provider('model-id') creates a chat language model, provider.languageModel('model-id') creates a chat language model (same as provider()), and provider.chatModel('model-id') creates a chat language model.
OpenAI Compatible Provider generateText example
const provider = createOpenAICompatible({
name: 'providerName',
apiKey: process.env.PROVIDER_API_KEY,
baseURL: 'https://api.provider.com/v1',
});
const { text } = await generateText({
model: provider('model-id'),
prompt: 'Write a vegetarian lasagna recipe for 4 people.',
});
Type-safe model IDs for OpenAI Compatible Provider
You can define TypeScript generic types for model IDs to enable auto-completion while still allowing free-form strings. createOpenAICompatible accepts four generic type parameters: ExampleChatModelIds, ExampleCompletionModelIds, ExampleEmbeddingModelIds, and ExampleImageModelIds. Each type can include literal string values for specific model IDs or (string & {}) to allow any string.
OpenAI Compatible Provider image model creation
Image models can be created using the .imageModel() factory method: const model = provider.imageModel('model-id');
OpenAI Compatible Provider image generation example
const provider = createOpenAICompatible({
name: 'providerName',
apiKey: process.env.PROVIDER_API_KEY,
baseURL: 'https://api.provider.com/v1',
});
const { images } = await generateImage({
model: provider.imageModel('model-id'),
prompt: 'A futuristic cityscape at sunset',
size: '1024x1024',
providerOptions: {
providerName: {
quality: 'high',
output_format: 'jpeg',
output_compression: 80,
background: 'opaque',
} satisfies OpenAICompatibleImageModelOptions,
},
});
OpenAI Compatible Provider basic image editing example
const provider = createOpenAICompatible({
name: 'providerName',
apiKey: process.env.PROVIDER_API_KEY,
baseURL: 'https://api.provider.com/v1',
});
const imageBuffer = fs.readFileSync('./input-image.png');
const { images } = await generateImage({
model: provider.imageModel('model-id'),
prompt: {
text: 'Turn the cat into a dog but retain the style of the original image',
images: [imageBuffer],
},
});
OpenAI Compatible Provider inpainting with mask example
const provider = createOpenAICompatible({
name: 'providerName',
apiKey: process.env.PROVIDER_API_KEY,
baseURL: 'https://api.provider.com/v1',
});
const image = fs.readFileSync('./input-image.png');
const mask = fs.readFileSync('./mask.png');
const { images } = await generateImage({
model: provider.imageModel('model-id'),
prompt: {
text: 'A sunlit indoor lounge area with a pool containing a flamingo',
images: [image],
mask,
},
});
OpenAI Compatible Provider embedding model creation
Embedding models can be created using the .embeddingModel() factory method: const model = provider.embeddingModel('model-id');
OpenAI Compatible Provider embedding example
const provider = createOpenAICompatible({
name: 'providerName',
apiKey: process.env.PROVIDER_API_KEY,
baseURL: 'https://api.provider.com/v1',
});
const { embedding } = await embed({
model: provider.embeddingModel('text-embedding-model'),
value: 'The quick brown fox jumps over the lazy dog',
});
OpenAI Compatible Provider completion model creation
Completion models (for text completion, not chat) can be created using the .completionModel() factory method: const model = provider.completionModel('model-id');
OpenAI Compatible Provider chat model with reasoning example
const { text } = await generateText({
model: provider('model-id'),
prompt: 'Solve this step by step: What is 15 * 23?',
providerOptions: {
providerName: {
user: 'user-123',
reasoningEffort: 'high',
},
},
});
OpenAI Compatible Provider completion model
To use a completion model with an OpenAI-compatible provider:
1. Create the provider:
```javascript
const provider = createOpenAICompatible({
name: 'providerName',
apiKey: process.env.PROVIDER_API_KEY,
baseURL: 'https://api.provider.com/v1',
});
```
2. Generate text with the completion model:
```javascript
const { text } = await generateText({
model: provider.completionModel('completion-model-id'),
prompt: 'The quick brown fox',
});
```
3. Optionally, pass provider-specific options via `providerOptions`:
```javascript
const { text } = await generateText({
model: provider.completionModel('completion-model-id'),
prompt: 'The quick brown fox',
providerOptions: {
providerName: {
echo: true,
suffix: ' The end.',
user: 'user-123',
},
},
});
```
The `providerOptions` object uses the provider name as a key and accepts provider-specific settings like `echo`, `suffix`, and `user`.