Documentation
¶
Index ¶
- type ProjectVector
- type SampleVector
- type SimilarityResult
- type VectorStore
- func (vs *VectorStore) Close() error
- func (vs *VectorStore) FindSimilarProjects(projectID string, limit int, filters map[string]interface{}) ([]SimilarityResult, error)
- func (vs *VectorStore) FindSimilarSamples(sampleID string, limit int) ([]SimilarityResult, error)
- func (vs *VectorStore) GetStats() (map[string]int, error)
- func (vs *VectorStore) InsertProjectVector(pv *ProjectVector) error
- func (vs *VectorStore) InsertSampleVector(sv *SampleVector) error
- func (vs *VectorStore) SearchSimilar(embedding []float32, limit int) ([]SimilarityResult, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ProjectVector ¶
type ProjectVector struct {
ProjectID string `json:"project_id"`
Title string `json:"title"`
Abstract string `json:"abstract"`
Organism string `json:"organism"`
StudyType string `json:"study_type"`
SampleCount int `json:"sample_count"`
ExperimentCount int `json:"experiment_count"`
Embedding []float32 `json:"embedding,omitempty"`
}
ProjectVector represents a study/project with its embedding
type SampleVector ¶
type SampleVector struct {
SampleID string `json:"sample_id"`
ProjectID string `json:"project_id"`
Description string `json:"description"`
Organism string `json:"organism"`
Tissue string `json:"tissue"`
CellType string `json:"cell_type"`
Embedding []float32 `json:"embedding,omitempty"`
}
SampleVector represents a sample with its embedding
type SimilarityResult ¶
type SimilarityResult struct {
ID string `json:"id"`
Title string `json:"title"`
Organism string `json:"organism"`
Distance float32 `json:"distance"`
Score float32 `json:"score"` // 1 - distance for cosine similarity
}
SimilarityResult represents a similarity search result
type VectorStore ¶
type VectorStore struct {
// contains filtered or unexported fields
}
VectorStore manages vector embeddings using sqlite-vec
func NewVectorStore ¶
func NewVectorStore(dataDir string) (*VectorStore, error)
NewVectorStore creates a new vector store
func (*VectorStore) Close ¶
func (vs *VectorStore) Close() error
Close closes the vector store database
func (*VectorStore) FindSimilarProjects ¶
func (vs *VectorStore) FindSimilarProjects(projectID string, limit int, filters map[string]interface{}) ([]SimilarityResult, error)
FindSimilarProjects finds similar projects using vector similarity
func (*VectorStore) FindSimilarSamples ¶
func (vs *VectorStore) FindSimilarSamples(sampleID string, limit int) ([]SimilarityResult, error)
FindSimilarSamples finds similar samples
func (*VectorStore) GetStats ¶
func (vs *VectorStore) GetStats() (map[string]int, error)
GetStats returns statistics about the vector store
func (*VectorStore) InsertProjectVector ¶
func (vs *VectorStore) InsertProjectVector(pv *ProjectVector) error
InsertProjectVector adds or updates a project vector
func (*VectorStore) InsertSampleVector ¶
func (vs *VectorStore) InsertSampleVector(sv *SampleVector) error
InsertSampleVector adds or updates a sample vector
func (*VectorStore) SearchSimilar ¶
func (vs *VectorStore) SearchSimilar(embedding []float32, limit int) ([]SimilarityResult, error)
SearchSimilar searches for similar items using a query embedding