Interface KnowledgeExtractor

All Known Implementing Classes:
LLMKnowledgeExtractor

public interface KnowledgeExtractor
Extracts knowledge from agent sessions.

Knowledge extraction analyzes completed sessions to identify reusable insights like problem-solution pairs, patterns, decisions, and lessons learned.

Usage


 KnowledgeExtractor extractor = KnowledgeExtractor.llm(llmClient);

 // Extract all types of knowledge
 List<ExtractedKnowledge> knowledge = extractor.extract(session);

 // Extract specific types
 List<ExtractedKnowledge> solutions = extractor.extract(
     session,
     EnumSet.of(ExtractionType.SOLUTION, ExtractionType.PATTERN)
 );

 // Use extracted knowledge
 for (ExtractedKnowledge k : knowledge) {
     if (k.isHighConfidence()) {
         agent.believe("learned." + k.type().getKey(), k);
     }
 }
 
Author:
TnsAI Team
  • Method Details

    • extract

      default List<ExtractedKnowledge> extract(AgentSession session)
      Extracts all types of knowledge from a session.
      Parameters:
      session - the session to extract from
      Returns:
      list of extracted knowledge items
    • extract

      Extracts specific types of knowledge from a session.
      Parameters:
      session - the session to extract from
      types - the types of knowledge to extract
      Returns:
      list of extracted knowledge items
    • extractAll

      default List<ExtractedKnowledge> extractAll(List<AgentSession> sessions)
      Extracts knowledge from multiple sessions.
      Parameters:
      sessions - the sessions to extract from
      Returns:
      list of extracted knowledge items from all sessions
    • extractAll

      default List<ExtractedKnowledge> extractAll(List<AgentSession> sessions, Set<ExtractionType> types)
      Extracts knowledge from multiple sessions with specific types.
      Parameters:
      sessions - the sessions to extract from
      types - the types of knowledge to extract
      Returns:
      list of extracted knowledge items from all sessions
    • getMinConfidence

      double getMinConfidence()
      Gets the minimum confidence threshold for extraction. Items below this threshold will not be returned.
      Returns:
      minimum confidence (0.0 to 1.0)
    • withMinConfidence

      KnowledgeExtractor withMinConfidence(double minConfidence)
      Creates a new extractor with a different confidence threshold.
      Parameters:
      minConfidence - the minimum confidence threshold
      Returns:
      a new extractor with the specified threshold