Go client library for Hanzo Vector (Qdrant compatible).
Category: Hanzo Ecosystem Related Skills: hanzo/go-sdk.md, hanzo/hanzo-search-go.md
Go client library for Hanzo Vector (Qdrant compatible). Fork of qdrant/go-client with module path rewritten to github.com/hanzoai/vector-go. Uses gRPC for communication. The main package is qdrant -- all types, client, and helpers live there.
Fork of go-client (qdrant/go-client). Repo: hanzoai/vector-go, branch: master.
| Item | Value | |------|-------| | Module | github.com/hanzoai/vector-go | | Package | qdrant | | Go | 1.26+ | | Repo | github.com/hanzoai/vector-go | | Branch | master | | License | Apache-2.0 | | Protocol | gRPC | | Default port | 6334 |
go get github.com/hanzoai/vector-go
package main
import (
"context"
"fmt"
"github.com/hanzoai/vector-go/qdrant"
)
func main() {
client, err := qdrant.NewClient(&qdrant.Config{
Host: "localhost",
Port: 6334,
})
if err != nil {
panic(err)
}
defer client.Close()
ctx := context.Background()
// Create collection
client.CreateCollection(ctx, &qdrant.CreateCollection{
CollectionName: "docs",
VectorsConfig: qdrant.NewVectorsConfig(&qdrant.VectorParams{
Size: 384,
Distance: qdrant.Distance_Cosine,
}),
})
// Upsert points
client.Upsert(ctx, &qdrant.UpsertPoints{
CollectionName: "docs",
Points: []*qdrant.PointStruct{
{
Id: qdrant.NewIDNum(1),
Vectors: qdrant.NewVectors(0.1, 0.2, 0.3),
Payload: qdrant.NewValueMap(map[string]any{"title": "hello"}),
},
},
})
// Search
results, _ := client.Query(ctx, &qdrant.QueryPoints{
CollectionName: "docs",
Query: qdrant.NewQuery(0.1, 0.2, 0.3),
WithPayload: qdrant.NewWithPayload(true),
})
fmt.Println(results)
}
PoolSize, default 3, round-robin)client, _ := qdrant.NewClient(&qdrant.Config{
Host: "xyz.cloud.qdrant.io",
Port: 6334,
APIKey: "<your-api-key>",
UseTLS: true,
// PoolSize: 3, // gRPC connection pool size
// TLSConfig: &tls.Config{},
// GrpcOptions: []grpc.DialOption{},
})
// Direct gRPC service clients
collectionsClient := client.GetCollectionsClient()
pointsClient := client.GetPointsClient()
snapshotsClient := client.GetSnapshotsClient()
qdrantClient := client.GetQdrantClient()
conn := client.GetConnection() // raw *grpc.ClientConn
qdrant.NewIDNum(42) // numeric point ID
qdrant.NewIDUUID("uuid-string") // UUID point ID
qdrant.NewVectors(0.1, 0.2, 0.3) // dense vector
qdrant.NewVectorsConfig(params) // collection vector config
qdrant.NewValueMap(map[string]any{}) // payload from map
qdrant.NewQuery(0.1, 0.2, 0.3) // search query from floats
qdrant.NewWithPayload(true) // include payload in results
qdrant.NewMatch("field", "value") // filter condition
qdrant.PtrOf(value) // generic pointer helper
go build ./...
go test ./...
# Integration tests use testcontainers (Docker required)
Last Updated: 2026-03-13 Category: Hanzo Ecosystem Related: vector, qdrant, embeddings, similarity-search, go, client Prerequisites: Go 1.26+