Interface IKnowledgeGraph

Interface for the Knowledge Graph system

interface IKnowledgeGraph {
    initialize(): Promise<void>;
    upsertEntity(entity): Promise<KnowledgeEntity>;
    getEntity(id): Promise<undefined | KnowledgeEntity>;
    queryEntities(options?): Promise<KnowledgeEntity[]>;
    deleteEntity(id): Promise<boolean>;
    upsertRelation(relation): Promise<KnowledgeRelation>;
    getRelations(entityId, options?): Promise<KnowledgeRelation[]>;
    deleteRelation(id): Promise<boolean>;
    recordMemory(memory): Promise<EpisodicMemory>;
    getMemory(id): Promise<undefined | EpisodicMemory>;
    queryMemories(options?): Promise<EpisodicMemory[]>;
    recallMemories(query, topK?): Promise<EpisodicMemory[]>;
    traverse(startEntityId, options?): Promise<TraversalResult>;
    findPath(sourceId, targetId, maxDepth?): Promise<null | {
        entity: KnowledgeEntity;
        relation?: KnowledgeRelation;
    }[]>;
    getNeighborhood(entityId, depth?): Promise<{
        entities: KnowledgeEntity[];
        relations: KnowledgeRelation[];
    }>;
    semanticSearch(options): Promise<SemanticSearchResult[]>;
    extractFromText(text, options?): Promise<{
        entities: KnowledgeEntity[];
        relations: KnowledgeRelation[];
    }>;
    mergeEntities(entityIds, primaryId): Promise<KnowledgeEntity>;
    decayMemories(decayFactor?): Promise<number>;
    getStats(): Promise<KnowledgeGraphStats>;
    clear(): Promise<void>;
}

Implemented by

Methods

  • Query episodic memories

    Parameters

    • Optional options: {
          types?: ("error" | "success" | "task" | "conversation" | "discovery" | "interaction")[];
          participants?: string[];
          minImportance?: number;
          timeRange?: {
              from?: string;
              to?: string;
          };
          limit?: number;
      }
      • Optional types?: ("error" | "success" | "task" | "conversation" | "discovery" | "interaction")[]
      • Optional participants?: string[]
      • Optional minImportance?: number
      • Optional timeRange?: {
            from?: string;
            to?: string;
        }
        • Optional from?: string
        • Optional to?: string
      • Optional limit?: number

    Returns Promise<EpisodicMemory[]>

  • Decay old memories (reduce importance over time)

    Parameters

    • Optional decayFactor: number

    Returns Promise<number>