Scrydon

Embedding

Implémentez la génération de vecteurs d'embedding pour les agents avec récupération augmentée et les colonnes d'embedding de tables gérées.

Les capacités d'embedding alimentent la récupération, la recherche sémantique et tout pipeline nécessitant des vecteurs denses. Les modèles doivent déclarer leur dimension de sortie.

Définir la capacité

import { defineCapabilityEmbedding } from "@scrydon/sdk-authoring/integrations/define";

const embeddingCapability = defineCapabilityEmbedding({
  models: [
    {
      id: "text-embedding-v1",
      name: "Text Embedding V1",
      dimension: 1536,
      benchmarks: [{ name: "MTEB Average", score: 62.3, source: "MTEB Leaderboard" }],
    },
    {
      id: "text-embedding-v2",
      name: "Text Embedding V2",
      dimension: 3072,
      benchmarks: [
        { name: "MTEB Average",   score: 64.6, source: "MTEB Leaderboard" },
        { name: "MIRACL Average", score: 54.9, source: "MTEB Leaderboard" },
      ],
    },
  ],
  defaultModel: "text-embedding-v1",
  async embed(request) {
    const response = await fetch("https://api.example.com/v1/embeddings", {
      method: "POST",
      headers: {
        Authorization: `Bearer ${request.apiKey}`,
        "Content-Type": "application/json",
      },
      body: JSON.stringify({ model: request.model, input: request.input }),
    });
    const data = await response.json();
    return {
      embeddings: data.data.map((d: any) => d.embedding),
      model: request.model ?? "text-embedding-v1",
      usage: {
        promptTokens: data.usage.prompt_tokens,
        totalTokens: data.usage.total_tokens,
      },
    };
  },
});

Métadonnées du modèle

ChampTypeRequisDescription
idstringouiIdentifiant unique du modèle (ex. "text-embedding-v2")
namestringouiNom d'affichage dans l'interface
dimensionnumberouiDimension du vecteur de sortie (ex. 1536, 3072)
benchmarksBenchmarkScore[]nonMTEB / MIRACL — plus élevé est meilleur

dimension est requis car la plateforme pré-alloue des colonnes pgvector et rejette les écritures qui ne correspondent pas. Définissez-le une fois par modèle — ne le modifiez jamais après publication.

Sur cette page

Sur cette page