@silyze/kb-embedding-openai
v1.0.0
Published
OpenAI implementation of EmbeddingProvider for @silyze/kb
Readme
@silyze/kb-embedding-openai
OpenAI Embedding Provider for @silyze/kb
This package provides an implementation of the EmbeddingProvider interface from @silyze/kb, using OpenAI's embedding API.
Features
- Plug-and-play embedding provider for
@silyze/kb - Supports OpenAI's latest embedding models
- Lightweight and easy to configure
Installation
npm install @silyze/kb-embedding-openaiUsage
import OpenAiEmbeddingProvider from "@silyze/kb-embedding-openai";
const provider = new OpenAiEmbeddingProvider();
provider
.create("Hello, world!")
.then((embedding) => {
console.log("Embedding created:", embedding);
})
.catch((error) => {
console.error("Error creating embedding:", error);
});Configuration
You can optionally pass a configuration object when creating the provider:
new OpenAiEmbeddingProvider({
apiKey: "your-api-key-here",
model: "text-embedding-3-large",
});If no API key is provided, the provider will fall back to the OPENAI_API_KEY environment variable.
Available Configuration Options
| Option | Type | Default | Description |
| ------ | -------- | ---------------------------- | ----------------------------------- |
| apiKey | string | process.env.OPENAI_API_KEY | Your OpenAI API key. |
| model | string | "text-embedding-3-small" | OpenAI model to use for embeddings. |
See OpenAI's docs for available embedding models.
API
new OpenAiEmbeddingProvider(config?)
Creates a new instance of the provider.
create(text: string): Promise<Embedding>
Generates an embedding for the given text. Returns a Promise resolving to:
{
text: string;
vector: number[];
}Example Output
{
"text": "Hello, world!",
"vector": [0.0123, 0.9876, ..., 0.4567]
}