EmbeddingModel.openai constructor

EmbeddingModel.openai(
  1. String apiKey,
  2. String modelId, {
  3. String? baseUrl,
})

Create an OpenAI embedding model (e.g. text-embedding-3-small).

Pass baseUrl to target an OpenAI-compatible endpoint. When null, the provider's standard URL is used via aimux_openai_embedding_new.

Implementation

factory EmbeddingModel.openai(String apiKey, String modelId,
    {String? baseUrl}) {
  final ffi = _MultimodalFFI();
  final ptr = _withUtf8(apiKey, (keyPtr) {
    return _withUtf8(modelId, (idPtr) {
      if (baseUrl == null) {
        return ffi.openaiEmbeddingNew(keyPtr, idPtr);
      }
      return _withUtf8(
          baseUrl,
          (basePtr) =>
              ffi.openaiEmbeddingNewWithBase(keyPtr, idPtr, basePtr));
    });
  });
  return EmbeddingModel._(_extractHandle(ffi, ptr), ffi);
}