Documentation
¶
Index ¶
- type Config
- type Document
- type LocalStore
- func (s *LocalStore) Clear(ctx context.Context) error
- func (s *LocalStore) Close() error
- func (s *LocalStore) Delete(ctx context.Context, ids ...string) error
- func (s *LocalStore) Get(ctx context.Context, ids ...string) ([]Document, error)
- func (s *LocalStore) Insert(ctx context.Context, docs ...Document) error
- func (s *LocalStore) Search(ctx context.Context, queryVector Vector, limit int) ([]SearchResult, error)
- func (s *LocalStore) Update(ctx context.Context, docs ...Document) error
- type MetricType
- type PineconeStore
- func (s *PineconeStore) Clear(ctx context.Context) error
- func (s *PineconeStore) Close() error
- func (s *PineconeStore) Delete(ctx context.Context, ids ...string) error
- func (s *PineconeStore) Get(ctx context.Context, ids ...string) ([]Document, error)
- func (s *PineconeStore) Insert(ctx context.Context, docs ...Document) error
- func (s *PineconeStore) Search(ctx context.Context, queryVector Vector, limit int) ([]SearchResult, error)
- func (s *PineconeStore) Update(ctx context.Context, docs ...Document) error
- type SearchResult
- type Store
- type StoreType
- type Vector
- type WeaviateStore
- func (s *WeaviateStore) Clear(ctx context.Context) error
- func (s *WeaviateStore) Close() error
- func (s *WeaviateStore) Delete(ctx context.Context, ids ...string) error
- func (s *WeaviateStore) Get(ctx context.Context, ids ...string) ([]Document, error)
- func (s *WeaviateStore) Insert(ctx context.Context, docs ...Document) error
- func (s *WeaviateStore) Search(ctx context.Context, queryVector Vector, limit int) ([]SearchResult, error)
- func (s *WeaviateStore) Update(ctx context.Context, docs ...Document) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
Type string `json:"type"` // Type of vector store (e.g., "pinecone", "weaviate", "local")
Dimension int `json:"dimension"` // Dimension of vectors
MetricType string `json:"metric_type"` // Distance metric type (e.g., "cosine", "euclidean", "dot_product")
Options map[string]interface{} `json:"options,omitempty"` // Additional store-specific options
}
Config holds configuration for vector stores
type Document ¶
type Document struct {
ID string `json:"id"`
Content string `json:"content"`
Vector Vector `json:"vector"`
Metadata map[string]interface{} `json:"metadata,omitempty"`
}
Document represents a document with its vector embedding
type LocalStore ¶
type LocalStore struct {
// contains filtered or unexported fields
}
LocalStore implements an in-memory vector store
func (*LocalStore) Close ¶
func (s *LocalStore) Close() error
func (*LocalStore) Insert ¶
func (s *LocalStore) Insert(ctx context.Context, docs ...Document) error
func (*LocalStore) Search ¶
func (s *LocalStore) Search(ctx context.Context, queryVector Vector, limit int) ([]SearchResult, error)
type MetricType ¶
type MetricType string
MetricType represents supported distance metrics
const ( MetricCosine MetricType = "cosine" // Cosine similarity MetricEuclidean MetricType = "euclidean" // Euclidean distance MetricDotProduct MetricType = "dot_product" // Dot product similarity )
type PineconeStore ¶
type PineconeStore struct {
// contains filtered or unexported fields
}
PineconeStore implements vector store using Pinecone
func (*PineconeStore) Close ¶
func (s *PineconeStore) Close() error
func (*PineconeStore) Delete ¶
func (s *PineconeStore) Delete(ctx context.Context, ids ...string) error
func (*PineconeStore) Insert ¶
func (s *PineconeStore) Insert(ctx context.Context, docs ...Document) error
func (*PineconeStore) Search ¶
func (s *PineconeStore) Search(ctx context.Context, queryVector Vector, limit int) ([]SearchResult, error)
type SearchResult ¶
SearchResult represents a search result with similarity score
type Store ¶
type Store interface {
// Insert adds documents to the store
Insert(ctx context.Context, docs ...Document) error
// Search finds similar documents based on query vector
Search(ctx context.Context, queryVector Vector, limit int) ([]SearchResult, error)
// Delete removes documents from the store
Delete(ctx context.Context, ids ...string) error
// Update updates existing documents
Update(ctx context.Context, docs ...Document) error
// Get retrieves documents by their IDs
Get(ctx context.Context, ids ...string) ([]Document, error)
// Clear removes all documents from the store
Clear(ctx context.Context) error
// Close closes the store connection
Close() error
}
Store defines the interface for vector storage implementations
func NewLocalStore ¶
NewLocalStore creates a new local vector store
func NewPineconeStore ¶
NewPineconeStore creates a new Pinecone vector store
type WeaviateStore ¶
type WeaviateStore struct {
// contains filtered or unexported fields
}
WeaviateStore implements vector store using Weaviate
func (*WeaviateStore) Close ¶
func (s *WeaviateStore) Close() error
func (*WeaviateStore) Delete ¶
func (s *WeaviateStore) Delete(ctx context.Context, ids ...string) error
func (*WeaviateStore) Insert ¶
func (s *WeaviateStore) Insert(ctx context.Context, docs ...Document) error
func (*WeaviateStore) Search ¶
func (s *WeaviateStore) Search(ctx context.Context, queryVector Vector, limit int) ([]SearchResult, error)
Click to show internal directories.
Click to hide internal directories.