{"record":{"id":"1bdb936bbe2946ca","repo":"microsoft/semantic-kernel","slug":"vector-field-options-vector-property-name-not-1bdb93","errorCode":null,"errorMessage":"Vector field '{options.vector_property_name}' not found in the data model definition.","messagePattern":"Vector field '(.+?)' not found in the data model definition\\.","errorType":"exception","errorClass":"VectorStoreModelException","httpStatus":null,"severity":"error","filePath":"python/semantic_kernel/connectors/chroma.py","lineNumber":332,"sourceCode":"            records.append(record)\n        return records\n\n    @override\n    async def _inner_delete(self, keys: Sequence[TKey], **kwargs: Any) -> None:\n        self._get_collection().delete(ids=keys)  # type: ignore\n\n    @override\n    async def _inner_search(\n        self,\n        search_type: SearchType,\n        options: VectorSearchOptions,\n        values: Any | None = None,\n        vector: Sequence[float | int] | None = None,\n        **kwargs: Any,\n    ) -> KernelSearchResults[VectorSearchResult[TModel]]:\n        vector_field = self.definition.try_get_vector_field(options.vector_property_name)\n        if not vector_field:\n            raise VectorStoreModelException(\n                f\"Vector field '{options.vector_property_name}' not found in the data model definition.\"\n            )\n        include = [\"metadatas\", \"distances\"]\n        if options.include_vectors:\n            include.append(\"documents\" if self.embedding_func else \"embeddings\")\n        args: dict[str, Any] = {\n            \"n_results\": options.top,\n            \"include\": include,\n        }\n        if filter := self._build_filter(options.filter):  # type: ignore\n            args[\"where\"] = filter if isinstance(filter, dict) else {\"$and\": filter}\n        if self.embedding_func:\n            args[\"query_texts\"] = values\n        elif vector is not None:\n            args[\"query_embeddings\"] = vector\n        else:\n            args[\"query_embeddings\"] = await self._generate_vector_from_values(values, options)\n        results = self._get_collection().query(**args)","sourceCodeStart":314,"sourceCodeEnd":350,"githubUrl":"https://github.com/microsoft/semantic-kernel/blob/c028a0c7dc4f0814cdcbaba9d998f187a41197bf/python/semantic_kernel/connectors/chroma.py#L314-L350","documentation":"A VectorStoreModelException raised at the start of _inner_search when options.vector_property_name does not resolve to a vector field via definition.try_get_vector_field(). It means the search requested a vector property that the collection's data model does not declare as a vector field.","triggerScenarios":"Calling collection.search(...) / _inner_search with a VectorSearchOptions whose vector_property_name is misspelled, refers to a non-vector field, or was omitted while the model has no unambiguous default vector field for try_get_vector_field to pick.","commonSituations":"Renaming a vector property in the model but forgetting to update search call sites; passing options built for a different collection/model; multi-field models where the wrong property name is supplied.","solutions":["Set options.vector_property_name to the exact name of a VectorStoreRecordVectorField declared in the collection definition.","If the model has exactly one vector field, ensure the options object defaults correctly (omit vector_property_name so the framework resolves it)."],"exampleFix":"// before\nresults = await collection.vectorized_search(vector=v, options=VectorSearchOptions(vector_property_name=\"vec\"))\n// after\nresults = await collection.vectorized_search(vector=v, options=VectorSearchOptions(vector_property_name=\"embedding\"))  # match the field name","handlingStrategy":"validation","validationCode":"vector_names = {f.name for f in definition.vector_fields}\nif options.vector_property_name not in vector_names:\n    raise ValueError(f\"vector_property_name must be one of {vector_names}\")","typeGuard":"def is_known_vector_property(definition, name: str) -> bool:\n    return definition.try_get_vector_field(name) is not None","tryCatchPattern":"from semantic_kernel.exceptions.vector_store_exceptions import VectorStoreModelException\ntry:\n    await collection.vectorized_search(vector=v, options=options)\nexcept VectorStoreModelException as e:\n    if \"not found in the data model\" in str(e):\n        options.vector_property_name = next(f.name for f in definition.vector_fields)\n        await collection.vectorized_search(vector=v, options=options)","preventionTips":["Set VectorSearchOptions.vector_property_name to a declared vector field name.","With a single vector field, omit vector_property_name to let the framework resolve it."],"tags":["chroma","vector-store","search","data-model"],"backgroundTag":null,"analyzedSha":"c028a0c7dc4f0814cdcbaba9d998f187a41197bf","analyzedAt":"2026-08-13T13:48:05.040Z","schemaVersion":2},"datasetVersion":"2026-08-13T14:17:21.547Z"}