Documentation
¶
Overview ¶
Package vector provides Qdrant vector database client.
Implements vector storage and similarity search using Qdrant with HNSW configuration (m=16, ef_construct=100) and cosine distance.
Index ¶
- type CollectionInfo
- type Point
- type QdrantClient
- func (c *QdrantClient) CollectionName() string
- func (c *QdrantClient) Delete(ctx context.Context, ids []string) error
- func (c *QdrantClient) Dimension() int
- func (c *QdrantClient) GetCollectionInfo(ctx context.Context) (*CollectionInfo, error)
- func (c *QdrantClient) GetPoint(ctx context.Context, id string) (*Point, error)
- func (c *QdrantClient) InitCollection(ctx context.Context) error
- func (c *QdrantClient) IsAvailable() bool
- func (c *QdrantClient) IsEnabled() bool
- func (c *QdrantClient) Search(ctx context.Context, opts *SearchOptions) ([]SearchResult, error)
- func (c *QdrantClient) Upsert(ctx context.Context, id string, vector []float64, ...) error
- func (c *QdrantClient) UpsertPoints(ctx context.Context, points []Point) error
- type SearchOptions
- type SearchResult
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CollectionInfo ¶
type CollectionInfo struct {
VectorCount int64 `json:"vectors_count"`
PointsCount int64 `json:"points_count"`
Status string `json:"status"`
}
CollectionInfo represents collection statistics
type Point ¶
type Point struct {
ID string `json:"id"`
Vector []float64 `json:"vector"`
Payload map[string]interface{} `json:"payload,omitempty"`
}
Point represents a vector point in Qdrant
type QdrantClient ¶
type QdrantClient struct {
// contains filtered or unexported fields
}
QdrantClient provides vector storage capabilities via Qdrant VERIFIED: Matches local-memory Qdrant integration
func NewQdrantClient ¶
func NewQdrantClient(cfg *config.QdrantConfig) *QdrantClient
NewQdrantClient creates a new Qdrant client
func (*QdrantClient) CollectionName ¶
func (c *QdrantClient) CollectionName() string
CollectionName returns the collection name
func (*QdrantClient) Delete ¶
func (c *QdrantClient) Delete(ctx context.Context, ids []string) error
Delete removes a vector by ID
func (*QdrantClient) Dimension ¶
func (c *QdrantClient) Dimension() int
Dimension returns the vector dimension
func (*QdrantClient) GetCollectionInfo ¶
func (c *QdrantClient) GetCollectionInfo(ctx context.Context) (*CollectionInfo, error)
GetCollectionInfo returns collection statistics
func (*QdrantClient) InitCollection ¶
func (c *QdrantClient) InitCollection(ctx context.Context) error
InitCollection creates the collection if it doesn't exist VERIFIED: HNSW configuration (m=16, ef_construct=100)
func (*QdrantClient) IsAvailable ¶
func (c *QdrantClient) IsAvailable() bool
IsAvailable checks if Qdrant is available
func (*QdrantClient) IsEnabled ¶
func (c *QdrantClient) IsEnabled() bool
IsEnabled returns whether Qdrant is enabled
func (*QdrantClient) Search ¶
func (c *QdrantClient) Search(ctx context.Context, opts *SearchOptions) ([]SearchResult, error)
Search performs vector similarity search
func (*QdrantClient) Upsert ¶
func (c *QdrantClient) Upsert(ctx context.Context, id string, vector []float64, payload map[string]interface{}) error
Upsert inserts or updates a single vector
func (*QdrantClient) UpsertPoints ¶
func (c *QdrantClient) UpsertPoints(ctx context.Context, points []Point) error
UpsertPoints inserts or updates vector points
type SearchOptions ¶
type SearchOptions struct {
Vector []float64
Limit int
MinScore float64
Filter map[string]interface{}
WithPayload bool
}
SearchOptions contains options for vector search
type SearchResult ¶
type SearchResult struct {
ID string `json:"id"`
Score float64 `json:"score"`
Payload map[string]interface{} `json:"payload,omitempty"`
}
SearchResult represents a search result from Qdrant