Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Chunk ¶
type Chunk struct {
ID uuid.UUID `json:"id"`
DocumentID int64 `json:"document_id"`
DocumentRID uuid.UUID `json:"document_rid"`
Content string `json:"content"`
Path string `json:"path"` // ltree path
Embedding []float32 `json:"embedding,omitempty"`
StartPos *int `json:"start_pos,omitempty"`
EndPos *int `json:"end_pos,omitempty"`
ChunkIndex *int `json:"chunk_index,omitempty"`
Metadata Metadata `json:"metadata,omitempty"`
CreatedAt time.Time `json:"created_at"`
// Results
Similarity *float64 `json:"similarity,omitempty"`
IsMatch *bool `json:"is_match,omitempty"`
}
Chunk represents a document chunk (node in the graph)
type ChunkMention ¶
type ChunkMention struct {
ChunkID uuid.UUID `json:"chunk_id"`
EdgeID uuid.UUID `json:"edge_id"`
EdgeMetadata Metadata `json:"edge_metadata,omitempty"`
}
ChunkMention represents a chunk that mentions an entity
type Document ¶
type Document struct {
ID int64 `json:"id"`
RID uuid.UUID `json:"rid"`
Title string `json:"title"`
Source string `json:"source,omitempty"`
Content string `json:"content,omitempty" db:"-"` // Temporary field for processing, not stored in DB
Metadata Metadata `json:"metadata,omitempty"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
Document represents a source document
type Edge ¶
type Edge struct {
ID uuid.UUID `json:"id"`
SourceChunkID *uuid.UUID `json:"source_chunk_id,omitempty"`
TargetChunkID *uuid.UUID `json:"target_chunk_id,omitempty"`
SourceEntityID *uuid.UUID `json:"source_entity_id,omitempty"`
TargetEntityID *uuid.UUID `json:"target_entity_id,omitempty"`
EdgeType EdgeType `json:"edge_type"`
Weight float64 `json:"weight"`
Bidirectional bool `json:"bidirectional"`
Metadata Metadata `json:"metadata,omitempty"`
CreatedAt time.Time `json:"created_at"`
}
Edge represents a relationship between chunks and/or entities
type EdgeConnection ¶
EdgeConnection represents an edge with directional information
type Entity ¶
type Entity struct {
ID uuid.UUID `json:"id"`
Name string `json:"name"`
Type string `json:"entity_type"`
Metadata Metadata `json:"metadata,omitempty"`
CreatedAt time.Time `json:"created_at"`
}
Entity represents a named entity (person, place, concept, etc.)
type Metadata ¶
type Metadata map[string]interface{}
Metadata represents JSONB metadata stored in PostgreSQL
type QueryConfig ¶
type QueryConfig struct {
// Vector search parameters
TopK int `json:"top_k"`
SimilarityThreshold float64 `json:"similarity_threshold,omitempty"`
// Document filtering
DocumentRIDs []uuid.UUID `json:"document_rids,omitempty"` // Filter by specific documents
// Graph traversal parameters
MaxHops int `json:"max_hops,omitempty"`
EdgeTypes []EdgeType `json:"edge_types,omitempty"` // Filter by edge types
FollowBidirectional bool `json:"follow_bidirectional"`
// Ltree parameters
IncludeAncestors bool `json:"include_ancestors"`
IncludeDescendants bool `json:"include_descendants"`
IncludeSiblings bool `json:"include_siblings"`
// Ranking parameters
VectorWeight float64 `json:"vector_weight"` // Weight for similarity score
GraphWeight float64 `json:"graph_weight"` // Weight for graph distance
HierarchyWeight float64 `json:"hierarchy_weight"` // Weight for hierarchy distance
}
QueryConfig represents configuration for a retrieval query
func DefaultQueryConfig ¶
func DefaultQueryConfig() QueryConfig
DefaultQueryConfig returns a sensible default configuration
type RetrievalResult ¶
type RetrievalResult struct {
Chunk *Chunk `json:"chunk"`
Score float64 `json:"score"` // Combined score from ranking
SimilarityScore float64 `json:"similarity_score"` // Cosine similarity score
GraphDistance int `json:"graph_distance"` // Distance from query node in graph
RetrievalMethod string `json:"retrieval_method"` // How it was retrieved (vector, graph, ltree)
ConnectedEntities []Entity `json:"connected_entities,omitempty"`
}
RetrievalResult represents a chunk retrieved by a query
Click to show internal directories.
Click to hide internal directories.