Umbraco.AI.Search failing on Umbraco v17

Hi everyone,

I’m trying out Umbraco.AI.Search on Umbraco v17 project and I’m running into an issue when I click on the Search in Settings Section. Here is what I see in Google Dev Console

GET ``https://localhost:44374/umbraco/search/api/v1/indexes`` 500 (Internal Server Error)

Caught a server error, but failed parsing error body (expected JSON) SyntaxError: Unexpected token ‘S’, “System.Mis”… is not valid JSON

[UmbTryExecuteController] Error in request: UmbApiError: A fatal server error occurred. If this continues, please reach out to your administrator.
at b.mapToUmbError (resource.controller.ts:28:11)
at b.tryExecute (try-execute.controller.ts:35:26)
at async G (tryExecute.function.ts:27:19)
at async $r.getCollection (search-collection.server.data-source.ts:20:29)
at async gr._requestCollection (collection-default.context.ts:310:20)

And in the logs, I can see this error

System.MissingMethodException: Method not found: ‘Void Umbraco.Cms.Search.Core.Models.Indexing.IndexMetadata..ctor(Int64, Umbraco.Cms.Search.Core.Models.Indexing.HealthStatus)’.
at Umbraco.AI.Search.Core.Search.AIVectorIndexer.GetMetadataAsync(String indexAlias)
at Umbraco.AI.Search.Core.Search.AIVectorIndexer.GetMetadataAsync(String indexAlias)
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine)
at Umbraco.AI.Search.Core.Search.AIVectorIndexer.GetMetadataAsync(String indexAlias)
at Umbraco.Cms.Search.Core.Controllers.GetAllIndexesApiController.Indexes()

Here is my Setup:

Clean 7.0.5
Umbraco.AI 1.10.0
Umbraco.AI.Agent 1.9.0
Umbraco.AI.Agent.Copilot 1.0.0-alpha7
Umbraco.AI.Anthropic 1.3.0
Umbraco.AI.Core 1.10.0
Umbraco.AI.OpenAI 1.2.0
Umbraco.AI.Prompt 1.8.1
Umbraco.AI.Search 1.0.0-beta3
Umbraco.Cms 17.4.0-rc
Umbraco.Cms.DevelopmentMode.Backoffice 17.4.0-rc
Umbraco.Cms.Search.Core 1.0.0-beta.5

Any ideas on this? Am I missing something?

Any guidance appreciated :folded_hands:

Got it working by downgrading Umbraco.Cms.Search.Core from 1.0.0-beta.5 → 1.0.0-beta.3. Between those two betas, the IndexMetadata constructor signature changed
(the old two-arg (Int64, HealthStatus) form was removed). Umbraco.AI.Search 1.0.0-beta3 was compiled against the older signature, so it blows up at runtime against beta.5. Pinning both to beta.3 aligns the application binary interface.

1 Like