brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
models-and-conversionsUse qdrant_client.models, REST model classes, REST/gRPC interoperability, pydantic compatibility helpers, payload/filter/query schemas, inference schema parsing, and conversion debugging.
Independent GitHub snapshot ยท Automated classification ยท Original documentation governs
Use this sub-skill when a task is about constructing qdrant_client.models objects, choosing generated REST model classes or enums, understanding accepted REST/gRPC inputs, converting between REST and gRPC shapes, debugging pydantic validation, inspecting filter/query/payload schemas, or tracing inference-object paths through schema parsing.
references/models-reference.md for common classes, enums, constructor patterns, strict validation behavior, payload/filter/query model shapes, and inference-object schema notes.references/conversions.md for RestToGrpc, GrpcToRest, common type aliases, payload value conversion, datetime handling, prefetch/query request conversion, sparse/vector batch conversion, and debugging tactics.references/troubleshooting.md when pydantic rejects extra fields, enums do not match, sparse vectors or batches fail conversion, REST/gRPC protobuf types are mixed incorrectly, datetime ranges shift, or nested prefetch/filter conversion is confusing.scripts/conversion_smoke.py for deterministic examples covering nested filters, min_should, prefetch query requests, sparse vectors, payload datetime conversion, and round-trip REST/gRPC checks.../client-operations/SKILL.md for actual QdrantClient collection, upsert, query, payload, index, alias, snapshot, facet, or matrix-search calls.../inference/SKILL.md for local FastEmbed, Cloud inference, model catalogs, embedding-size helpers, and end-to-end Document/Image workflows.../connection-and-transport/SKILL.md for raw REST/gRPC stubs, transport selection, authentication, channel lifecycle, and network behavior.../async-client/SKILL.md for awaitable client APIs; the same model classes usually apply after the async method is chosen.../migration-and-upload/SKILL.md for bulk upload helpers, batch splitting, retry strategy, and high-volume ingestion behavior.from qdrant_client import models in user-facing examples, then construct models.VectorParams, models.PointStruct, models.Filter, and query classes from that namespace.models.Distance, models.Fusion, models.PayloadSchemaType, and related enums rather than ad-hoc spelling.RestToGrpc.convert_* or GrpcToRest.convert_* and inspect the resulting message/model before involving a live client.Prefetch versus list[Prefetch] intentionally; conversion wraps a single top-level QueryRequest.prefetch into a list for gRPC QueryPoints.Document, Image, and InferenceObject examples at schema/construction level here; route embedding execution and optional dependencies to inference.from qdrant_client import models
from qdrant_client.conversions.conversion import RestToGrpc
query = models.QueryRequest(
prefetch=models.Prefetch(
query=models.NearestQuery(nearest=[0.1, 0.2, 0.3]),
using="dense",
filter=models.Filter(
must=[models.FieldCondition(key="kind", match=models.MatchValue(value="doc"))]
),
limit=20,
),
query=models.FusionQuery(fusion=models.Fusion.RRF),
limit=5,
)
grpc_query = RestToGrpc.convert_query_request(query, collection_name="docs")
from qdrant_client import models
point = models.PointStruct(
id=1,
vector={"dense": [0.1, 0.2, 0.3], "sparse": models.SparseVector(indices=[2], values=[0.8])},
payload={"tag": "example"},
)