Documentation
¶
Overview ¶
Package vector provides the vector retrieval service interface for AI agents. This interface is consumed by Team C (Memo Enhancement).
Index ¶
- type MockVectorService
- func (m *MockVectorService) HybridSearch(ctx context.Context, query string, limit int) ([]SearchResult, error)
- func (m *MockVectorService) SearchSimilar(ctx context.Context, vector []float32, limit int, filter map[string]any) ([]VectorResult, error)
- func (m *MockVectorService) StoreEmbedding(ctx context.Context, docID string, vector []float32, metadata map[string]any) error
- type SearchResult
- type VectorResult
- type VectorService
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type MockVectorService ¶
type MockVectorService struct {
// contains filtered or unexported fields
}
MockVectorService is a mock implementation of VectorService for testing.
func NewMockVectorService ¶
func NewMockVectorService() *MockVectorService
NewMockVectorService creates a new MockVectorService with sample data.
func (*MockVectorService) HybridSearch ¶
func (m *MockVectorService) HybridSearch(ctx context.Context, query string, limit int) ([]SearchResult, error)
HybridSearch performs hybrid search combining vector and keyword search. Match types: - "keyword": exact keyword match found in content - "vector": no keyword match, but included via vector similarity In this mock, we don't do real vector embedding, so "hybrid" would require both.
func (*MockVectorService) SearchSimilar ¶
func (m *MockVectorService) SearchSimilar(ctx context.Context, vector []float32, limit int, filter map[string]any) ([]VectorResult, error)
SearchSimilar performs similarity search on vectors.
func (*MockVectorService) StoreEmbedding ¶
func (m *MockVectorService) StoreEmbedding(ctx context.Context, docID string, vector []float32, metadata map[string]any) error
StoreEmbedding stores a vector embedding with metadata.
type SearchResult ¶
type SearchResult struct {
Name string `json:"name"` // memo UID
Content string `json:"content"`
Score float32 `json:"score"`
MatchType string `json:"match_type"` // vector/keyword/hybrid
}
SearchResult represents a hybrid search result.
type VectorResult ¶
type VectorResult struct {
DocID string `json:"doc_id"`
Score float32 `json:"score"` // similarity score 0-1
Metadata map[string]any `json:"metadata"`
}
VectorResult represents a vector search result.
type VectorService ¶
type VectorService interface {
// StoreEmbedding stores a vector embedding with metadata.
StoreEmbedding(ctx context.Context, docID string, vector []float32, metadata map[string]any) error
// SearchSimilar performs similarity search on vectors.
// filter: filter conditions (user_id, created_after, etc.)
SearchSimilar(ctx context.Context, vector []float32, limit int, filter map[string]any) ([]VectorResult, error)
// HybridSearch performs hybrid search combining vector and keyword search.
HybridSearch(ctx context.Context, query string, limit int) ([]SearchResult, error)
}
VectorService defines the vector retrieval service interface. Consumers: Team C (Memo Enhancement)