{"record":{"id":"b8f4ef2a376c077e","repo":"microsoft/semantic-kernel","slug":"the-amazon-bedrock-text-model-id-is-missing","errorCode":null,"errorMessage":"The Amazon Bedrock Text Model ID is missing.","messagePattern":"The Amazon Bedrock Text Model ID is missing\\.","errorType":"exception","errorClass":"ServiceInitializationError","httpStatus":null,"severity":"error","filePath":"python/semantic_kernel/connectors/ai/bedrock/services/bedrock_text_completion.py","lineNumber":74,"sourceCode":"            model_provider: The Bedrock model provider to use.\n            service_id: The Service ID for the text completion service.\n            runtime_client: The Amazon Bedrock runtime client to use.\n            client: The Amazon Bedrock client to use.\n            env_file_path: The path to the .env file to load settings from.\n            env_file_encoding: The encoding of the .env file.\n        \"\"\"\n        try:\n            bedrock_settings = BedrockSettings(\n                text_model_id=model_id,\n                model_provider=model_provider,\n                env_file_path=env_file_path,\n                env_file_encoding=env_file_encoding,\n            )\n        except ValidationError as e:\n            raise ServiceInitializationError(\"Failed to initialize the Amazon Bedrock Text Completion Service.\") from e\n\n        if bedrock_settings.text_model_id is None:\n            raise ServiceInitializationError(\"The Amazon Bedrock Text Model ID is missing.\")\n\n        super().__init__(\n            ai_model_id=bedrock_settings.text_model_id,\n            service_id=service_id or bedrock_settings.text_model_id,\n            runtime_client=runtime_client,\n            client=client,\n            bedrock_model_provider=bedrock_settings.model_provider,\n        )\n\n    # region Overriding base class methods\n\n    # Override from AIServiceClientBase\n    @override\n    def get_prompt_execution_settings_class(self) -> type[\"PromptExecutionSettings\"]:\n        return BedrockTextPromptExecutionSettings\n\n    @override\n    @trace_text_completion(BedrockBase.MODEL_PROVIDER_NAME)","sourceCodeStart":56,"sourceCodeEnd":92,"githubUrl":"https://github.com/microsoft/semantic-kernel/blob/c028a0c7dc4f0814cdcbaba9d998f187a41197bf/python/semantic_kernel/connectors/ai/bedrock/services/bedrock_text_completion.py#L56-L92","documentation":"Raised during BedrockTextCompletion construction when BedrockSettings parses but text_model_id resolves to None. The text completion service requires a concrete text model id (supplied via model_id, inferred, or from env); without it the service has no target model.","triggerScenarios":"Calling BedrockTextCompletion() without model_id and no BEDROCK text model id in the environment, or providing only model_provider without a resolvable text_model_id.","commonSituations":"Forgetting to pass model_id; expecting env to provide it but it is unset; constructing from provider only.","solutions":["Pass a valid text model_id explicitly.","Set the relevant BEDROCK text model env var if configured.","Always supply model_id even when model_provider is given."],"exampleFix":"# before\nservice = BedrockTextCompletion()  # no model id → error\n\n# after\nservice = BedrockTextCompletion(model_id=\"amazon.titan-text-express-v1\")","handlingStrategy":"validation","validationCode":"assert model_id, \"A text model_id is required for BedrockTextCompletion\"\nservice = BedrockTextCompletion(model_id=model_id)","typeGuard":"def has_text_model_id(model_id) -> bool:\n    return bool(model_id)","tryCatchPattern":"from semantic_kernel.exceptions import ServiceInitializationError\ntry:\n    service = BedrockTextCompletion(model_id=model_id)\nexcept ServiceInitializationError as e:\n    if \"Text Model ID\" in str(e):\n        service = BedrockTextCompletion(model_id=\"amazon.titan-text-express-v1\")","preventionTips":["Always pass a concrete text model_id.","Seed model config in env for CI.","Don't rely on provider-only construction."],"tags":["bedrock","configuration","service-init","model-id","text-completion","python"],"backgroundTag":null,"analyzedSha":"c028a0c7dc4f0814cdcbaba9d998f187a41197bf","analyzedAt":"2026-08-13T13:48:05.040Z","schemaVersion":2},"datasetVersion":"2026-08-13T14:17:21.547Z"}