vectors

package
v0.1.0-alpha.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 12, 2026 License: MIT Imports: 7 Imported by: 0

Documentation

Index

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL