Package com.tnsai.session.extraction
Interface KnowledgeStore
- All Known Implementing Classes:
FileKnowledgeStore,InMemoryKnowledgeStore
public interface KnowledgeStore
Store for extracted knowledge.
KnowledgeStore provides persistence and search capabilities for knowledge extracted from agent sessions. Knowledge can be shared across projects for cross-project learning.
Usage
// Create a file-based store
KnowledgeStore store = KnowledgeStore.file("~/.tnsai/knowledge/");
// Store knowledge
store.save(extractedKnowledge);
// Search knowledge
List<ExtractedKnowledge> results = store.search("authentication");
// Search with filter
KnowledgeFilter filter = KnowledgeFilter.builder()
.types(ExtractionType.SOLUTION)
.minConfidence(0.8)
.build();
List<ExtractedKnowledge> filtered = store.search("auth", filter);
// Get similar knowledge
List<ExtractedKnowledge> similar = store.findSimilar(knowledge, 5);
- Author:
- TnsAI Team
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final recordStatistics about stored knowledge. -
Method Summary
Modifier and TypeMethodDescriptionvoidclear()Clears all stored knowledge.intcount()Gets the total count of stored knowledge.intcountByType(ExtractionType type) Gets count by type.booleanDeletes knowledge by ID.static KnowledgeStoreCreates a file-based knowledge store.findSimilar(ExtractedKnowledge knowledge, int limit) Finds knowledge similar to the given item.getStats()Gets statistics about stored knowledge.static KnowledgeStoreinMemory()Creates an in-memory knowledge store.listBySession(String sessionId) Lists all knowledge by session.listByType(ExtractionType type) Lists all knowledge by type.listRecent(int limit) Lists recent knowledge.Loads knowledge by ID.voidsave(ExtractedKnowledge knowledge) Saves knowledge to the store.default voidsaveAll(List<ExtractedKnowledge> knowledgeList) Saves multiple knowledge items.default List<ExtractedKnowledge> Searches knowledge by text query.search(String query, KnowledgeFilter filter) Searches knowledge with filter.
-
Method Details
-
file
Creates a file-based knowledge store.- Parameters:
basePath- the base directory path- Returns:
- knowledge store
-
inMemory
Creates an in-memory knowledge store.- Returns:
- knowledge store
-
save
Saves knowledge to the store.- Parameters:
knowledge- the knowledge to save
-
saveAll
Saves multiple knowledge items.- Parameters:
knowledgeList- the knowledge items to save
-
load
Loads knowledge by ID.- Parameters:
id- the knowledge ID- Returns:
- the knowledge, or empty if not found
-
delete
Deletes knowledge by ID.- Parameters:
id- the knowledge ID- Returns:
- true if deleted, false if not found
-
search
Searches knowledge by text query.- Parameters:
query- the search query- Returns:
- matching knowledge items
-
search
Searches knowledge with filter.- Parameters:
query- the search query (can be null for filter-only search)filter- the filter to apply- Returns:
- matching knowledge items
-
findSimilar
Finds knowledge similar to the given item.- Parameters:
knowledge- the reference knowledgelimit- maximum results- Returns:
- similar knowledge items
-
listByType
Lists all knowledge by type.- Parameters:
type- the extraction type- Returns:
- knowledge items of that type
-
listBySession
Lists all knowledge by session.- Parameters:
sessionId- the session ID- Returns:
- knowledge items from that session
-
listRecent
Lists recent knowledge.- Parameters:
limit- maximum results- Returns:
- most recent knowledge items
-
count
int count()Gets the total count of stored knowledge.- Returns:
- count
-
countByType
Gets count by type.- Parameters:
type- the extraction type- Returns:
- count of that type
-
clear
void clear()Clears all stored knowledge. -
getStats
KnowledgeStore.KnowledgeStats getStats()Gets statistics about stored knowledge.- Returns:
- knowledge statistics
-