{"record":{"id":"6dd0f8a54235e7ed","repo":"microsoft/semantic-kernel","slug":"vector-field-options-vector-property-name-not-6dd0f8","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/in_memory.py","lineNumber":673,"sourceCode":"    async def collection_exists(self, **kwargs: Any) -> bool:\n        return True\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        \"\"\"Inner search method.\"\"\"\n        if not vector:\n            vector = await self._generate_vector_from_values(values, options)\n        return_records: dict[TKey, float] = {}\n        field = self.definition.try_get_vector_field(options.vector_property_name)\n        if not field:\n            raise VectorStoreModelException(\n                f\"Vector field '{options.vector_property_name}' not found in the data model definition.\"\n            )\n        if field.distance_function not in DISTANCE_FUNCTION_MAP:\n            raise VectorSearchExecutionException(\n                f\"Distance function '{field.distance_function}' is not supported. \"\n                f\"Supported functions are: {list(DISTANCE_FUNCTION_MAP.keys())}\"\n            )\n        distance_func = DISTANCE_FUNCTION_MAP[field.distance_function]  # type: ignore[assignment]\n\n        for key, record in self._get_filtered_records(options).items():\n            if vector and field is not None:\n                return_records[key] = self._calculate_vector_similarity(\n                    vector,\n                    record[field.storage_name or field.name],\n                    distance_func,\n                    invert_score=field.distance_function == DistanceFunction.COSINE_SIMILARITY,\n                )\n        if field.distance_function == DistanceFunction.DEFAULT:","sourceCodeStart":655,"sourceCodeEnd":691,"githubUrl":"https://github.com/microsoft/semantic-kernel/blob/c028a0c7dc4f0814cdcbaba9d998f187a41197bf/python/semantic_kernel/connectors/in_memory.py#L655-L691","documentation":"Thrown by _inner_search (in_memory.py:672-674) as VectorStoreModelException when options.vector_property_name does not match any vector field in the data model definition (definition.try_get_vector_field returns None). This happens before any distance computation, during search setup.","triggerScenarios":"Calling vector search with VectorSearchOptions(vector_property_name='foo') where 'foo' is not a declared vector field; omitting vector_property_name when the model has zero or multiple vector fields; a name/storage_name mismatch.","commonSituations":"Renaming a vector field without updating search options; mis-typing the property name; model with multiple vector fields where the default resolution is ambiguous.","solutions":["Set vector_property_name to the exact name of a declared vector field in the model definition.","Ensure the model actually declares at least one vector field with a matching name.","If the model has multiple vector fields, always specify vector_property_name explicitly."],"exampleFix":"# before\nopts = VectorSearchOptions(vector_property_name='embeding')  # typo / not declared\nresults = await collection.search(search_type=SearchType.VECTOR, options=opts, values='q')\n# after\nopts = VectorSearchOptions(vector_property_name='embedding')  # matches declared field","handlingStrategy":"validation","validationCode":"def resolve_vector_field(definition, name: str | None):\n    field = definition.try_get_vector_field(name)\n    if field is None:\n        raise ValueError(\n            f\"no vector field named {name!r}; available: {definition.vector_field_names()}\"\n        )\n    return field","typeGuard":"def has_vector_field(definition, name: str | None) -> bool:\n    return definition.try_get_vector_field(name) is not None","tryCatchPattern":"from semantic_kernel.exceptions.vector_store_exceptions import VectorStoreModelException\ntry:\n    results = await collection.search(search_type=SearchType.VECTOR, options=opts, values='q')\nexcept VectorStoreModelException as e:\n    # fix vector_property_name and retry\n    ...","preventionTips":["Keep search vector_property_name in sync with the declared vector field name.","After renaming a vector field, update all search call sites.","For multi-vector models, always set vector_property_name explicitly."],"tags":["in-memory","vector-search","data-model","validation","semantic-kernel"],"backgroundTag":null,"analyzedSha":"c028a0c7dc4f0814cdcbaba9d998f187a41197bf","analyzedAt":"2026-08-13T13:48:05.040Z","schemaVersion":2},"datasetVersion":"2026-08-13T14:17:21.547Z"}