Utility service for agent embedding operations. Uses agent data already loaded by AIEngine - no separate initialization needed. All methods are static - no instance state required.

Example

// Generate embeddings during AIEngine initialization
const entries = await AgentEmbeddingService.GenerateAgentEmbeddings(
agents,
(text) => aiEngine.EmbedTextLocal(text)
);

// Find similar agents
const matches = await AgentEmbeddingService.FindSimilarAgents(
vectorService,
"Handle customer support",
(text) => aiEngine.EmbedTextLocal(text),
5,
0.7
);

Constructors

Methods

  • Find agents similar to a specific agent.

    Parameters

    • vectorService: SimpleVectorService<AgentEmbeddingMetadata>

      Vector service containing agent embeddings

    • agentId: string

      The ID of the agent to find similar agents to

    • topK: number = 5

      Maximum number of results to return (default: 5)

    • minSimilarity: number = 0.5

      Minimum similarity score 0-1 (default: 0.5)

    Returns AgentMatchResult[]

    Array of matching agents (excludes the source agent)

    Throws

    Error if agent not found in embeddings

  • Find agents similar to a given task description.

    Parameters

    • vectorService: SimpleVectorService<AgentEmbeddingMetadata>

      Vector service containing agent embeddings

    • taskDescription: string

      The task description to match against agent capabilities

    • embedFunction: ((text) => Promise<{
          model: AIModelEntityExtended;
          result: EmbedTextResult;
      }>)

      Function to generate embeddings (from AIEngine)

        • (text): Promise<{
              model: AIModelEntityExtended;
              result: EmbedTextResult;
          }>
        • Parameters

          • text: string

          Returns Promise<{
              model: AIModelEntityExtended;
              result: EmbedTextResult;
          }>

    • topK: number = 5

      Maximum number of results to return (default: 5)

    • minSimilarity: number = 0.5

      Minimum similarity score 0-1 (default: 0.5)

    Returns Promise<AgentMatchResult[]>

    Array of matching agents sorted by similarity score (highest first)

    Throws

    Error if embedding generation fails

  • Generate embeddings for agents using provided embedding function. Called by AIEngine during AdditionalLoading.

    Parameters

    • agents: AIAgentEntityExtended[]

      Array of agents (already loaded by AIEngine)

    • embedFunction: ((text) => Promise<{
          model: AIModelEntityExtended;
          result: EmbedTextResult;
      }>)

      Function to generate embeddings (from AIEngine)

        • (text): Promise<{
              model: AIModelEntityExtended;
              result: EmbedTextResult;
          }>
        • Parameters

          • text: string

          Returns Promise<{
              model: AIModelEntityExtended;
              result: EmbedTextResult;
          }>

    Returns Promise<VectorEntry<AgentEmbeddingMetadata>[]>

    Vector entries ready for loading into vector service

  • Get the similarity score between two specific agents.

    Parameters

    • vectorService: SimpleVectorService<AgentEmbeddingMetadata>

      Vector service containing agent embeddings

    • agentId1: string

      First agent ID

    • agentId2: string

      Second agent ID

    Returns number

    Similarity score (0-1)

    Throws

    Error if either agent is not found

  • Private

    Create the embedding text from agent properties. Combines name and description with proper weighting.

    Parameters

    • agent: AIAgentEntityExtended

    Returns string