Service Portal AI Search UX Troubleshooting GuideSummary<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: #000000; } span { font-size: 12pt; font-family: Lato; color: #000000; } h2 { font-size: 24pt; font-family: Lato; color: black; } h3 { font-size: 18pt; font-family: Lato; color: black; } h4 { font-size: 14pt; font-family: Lato; color: black; } a { font-size: 12pt; font-family: Lato; color: #00718F; } a:hover { font-size: 12pt; color: #024F69; } a:target { font-size: 12pt; color: #032D42; } a:visited { font-size: 12pt; color: #00718f; } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } This article aims to assist in the troubleshooting of AI Search UX issues on the Service Portal. Below is the table of contents in this article. Useful Properties for debuggingNow Assist General Troubleshooting How to find the right search profile and EVAMHow to find the genius result configuration and view template from AMB Scenario1: Genius Results are not returned in the portalScenario2: Performance TroubleshootingScenario3: Multi Content response Citations not clickableScenario4: Ask a follow up is not clickableScenario5: MCR renderered but Citations are missingOther issue scenarios Useful Properties for debugging: Properties Description Default Value glide.search.evam.use_legacy_template_generation Helps switching between Evam lite and legacy. (When this property is true make sure max length of raw_citation field on sys_search_genius_result_field table is set to 500000) false glide.search.evam.logger.enabled Evam lite logging False Prefix [SEARCH EVAM] glide.search.genius_results.portal_streaming_enabled Streaming property true glide.search.genius_results.async.max_loading_time Timeout for UX component 15 glide.search.logger.enabled Search logging False Prefix [SEARCH API] glide.search.performance.logger.enabled Performance logging False Prefix [SEARCH PERFORMANCE] glide.ais.query.disable_async_mode Disable async mode false sn_ais_assist.dpr_ingestion_completed Should be set to true. If this property is not set, AIS will not perform a DPR search and hence won't retrieve the necessary documents for the LLM calls. DPR ingestion complete should set this to true Now Assist General Troubleshooting: 1. Check on the Search profile under "Genius Results" related list, whether we have Now Assist Genius Results. Today in the portal, we support 3 "Now Assist"(NA) Genius Results, Now Assist Q&A Now Assist Actions Now Assist Multi-Content Response 2. Check on the EVAM definition used in the portal, under "EVAM View Config Bundle", whether "Multi Content Portal Response Bundle" exists. For "Virtual Agent"(VA), make sure, "Now Assist Self Service Multi-Content Response Bundle" exists. 3. By default, we support ASYNC mode controlled by system property - "glide.ais.query.disable_async_mode" (We do not ship this property OOTB), if it exists on customer instance, make sure, it is set to false. 4. Check whether the latest EVAM Lite code is used by making sure "glide.search.evam.use_legacy_template_generation" property is set to false. When this property is set to true for any performance reasons, make sure "max length" of raw_citation field on sys_search_genius_result_field table is set to 500000. 5. Check whether the system property "sn_ais_assist.dpr_ingestion_completed " is set to true, otherwise documents will not be injected in the search results, so no results will be returned from AI search. How to find the right search profile and EVAM: In portal right click open, inspect click on Network tab, type "exec" to filter network callsClick on exec call type GRAPHQL as shown below,Then check the preview of this /exec request as shown below to see input values being passed ,Pick the searchContextConfigId and lookup in "sys_search_context_config" Likewise, pick searchEvamConfigId and lookup in "sys_ux_composite_data" How to find the genius results configuration and view template used from AMB: In portal right click open, inspect click on Network tab, this will be browser dev toolThen reload the whole page and then start firing your search termGo to the network tab and filter for amb, there will be lot of AMB requests/responseFilter them for /search channelFocus on the request which has a user name, ignore the ones from guest userPick up the genius result configuration sys_id and EVAM view template as shown in the below screenshot,Alternatively, you can also explore AMB on table level, that is, once search is performed on portal, open "sys_amb_message" table, Sort by created on, channel name "/search" and open the record were created by "user_name", review "serialized cometd message", this will have same information as in above screenshot. GRs are not returned in the portal 1. Correct version used: Check if the right GR configs are linked to search profile, via exploring /exec call in network tab as detailed in above section "How to find right search profile and EVAM". Then explore GR config to ensure they are using all OOTB version has latest changes based on glide version customer is using 2. Precedence: If Multi Content Response GR is linked along with any other GR configs like Now Assist Q&A or catalog precedence in PORTAL SEARCH is only given to Multi Content Response GR (MCR) 3. AMB: When all above steps are as expected, let us check if Genius Result is present in AMB channel as detailed in the section "How to find Genius Results and EVAM View template used from AMB". 4. STREAMING ON (by default) :Streaming is controlled by system property "glide.search.genius_results.portal_streaming_enabled", make sure it is set to true. When streaming is on, you will notice multiple AMB requests with user as GUEST. 5. STREAMING OFF: In this scenario as well multiple records for the same or similar timestamp with GUEST user will be present but less in comparison to ON scenario. We care about record with username, expand record to find "data" object drilling down to "geniusResultsTemplates" object 6. SYNC Mode (glide.ais.query.disable_async_mode set to true): If async property is set to true, then skip AMB checks, as it will not use AMB anymore. We need to check if geniusResultstemplate is populated in the preview tab of /exec (GRAPHQL) call 7. EVAM: Let's check if the correct view config is mapped to the Evam definition, Find the EVAM definition being used (same way we found searchContextConfigId) in input values look for the searchEvamConfigId being used. Look it up in "sys_ux_composite_data" table. Check if "Multi Content Response Bundle for Portal". Performance Troubleshooting A significant increase in response time has been observed for Now Assist in portal environments. This performance degradation appears to be linked to multi-content responses, where one or more content items are catalog results returned as citations. Symptoms: This performance issue can be confirmed if the following condition is met: There is a timeout message in the browser console indicating that the response generation time exceeded 15 seconds.The end-to-end response generation time for a Now Assist query in a portal exceeds 15 seconds.There is a large gap between the time the BGE reranker is completed and the time the synthesized answer is started if we look at sys_gen_ai_log_metadata. How to Enable timestamp on dev tools console setting: Enable timestamps for console statements in inspect tab (Right click on portal, open inspect, click the gear icon on top right corner click show timestamp under console section) as shown in below screenshots, Compare the timestamp: If the timestamp is on the verbose section of the console tab you will see a message about GR timer expired. Look up the timestamp when synthesized GR was generated in "sys_gen_ai_log_metadata" table. If console timestamp is prior to the generative ai log table, then this is a timeout issue, where the component timed out waiting for response to be rendered which is controlled via system property "glide.search.genius_results.async.max_loading_time" Default value is 15 When timeout occurs after gen AI calls and we do not have GR in amb channel, then it could be due to one of the below defects,To resolve this issue, the following defects were raised and addressed: PRB1888352: Glide change to call the catalog conversation batch api. This change is dependent on Now Assist in the conversational catalog store app changes (in version 4.2.6). PRB1893377: Now assist in the Search app change to restrict calling out to the catalog LLMUtil api for conversational clients like VA. This has been fixed for v12 of the "Now Assist in AI Search" store app.PRB1925760: Now Assist in Search app change for Oct release of "Now Assist in AI Search " (v14), where we limit the call out for conversational clients for streaming, and changes also include changes for refactoring the code.PRB1932120: Glide change to clean out the AISearchCatalogConversationalHelper script and add a fallback to the old api.The Catalog enhancement on the catalog conversation table. Available in Austalia, Yokohama Patch8, Zurich Patch2. Most of the slowness can be resolved by upgrading the fixed in "Now Assist in AI Search" store app version and family release.When Timeout occurs after gen AI calls, and AMB does have GR but not displayed, review - PRB1917739 and align with Support via logging a case with these details. Multi Content response Citations aren't clickable a) Is this streaming enabled, and the final payload was not received in AMB? Step 1: In the case of streaming, we display the answer as soon as the first token is received. This means that, although the messages with inline citations were received, the final payload (entire databroker response) was not. Step 2: Disable streaming(refer to the properties list above) and check if the answer is still shown. Chances are, it will not be. Step 3: Verify that the EVAM definition attached to the portal has a "Multi Content Portal Response Bundle" b) The final payload was received? Step 1: In the AMB channel, check the final payload that was received. Step 2: Does the payload have the correct response with the sn-search-genius-synthesized-card template? If not, refer to Step 3 of (a) above Step 3: Does the received response payload have all the citations that were cited on the synthesized answer? If not this could be a AIS-glide issue Ask a follow-up isn't clickable Ask a follow-up is only valid for portals enabled with Enhanced Chat Step 1: Are there any errors in the console? Step 2: Is `vaEVAMItem` part of each of the geniusResultTemplates items payload received in AMB Step 3: Confirm if search request payload exec has a vaEVAMDefinitionId present and that corresponds to the sys_id of the EVAM definition of the assistant attached to the portal. MCR is rendered, Citations are missing Check the network tab next for "amb" call, go to the geniusResultsTemplates For each item, in the prop values – expand and go to model in the json object. Look for field "columns.result_type". For result_type: "synthesized" we need at least one item in with result_type: "citation" for citations to be rendered on the screen. If this is present, then check the field "columns.raw_citations", copy the value and paste it in a text editor. See if the fields "doc_x" or "cat_x" is present where x represents numbers. If 2/3 is not present, please open a case for Dev-AIS Glide assignment group and if present and still do not see citations being rendered open a case for Dev-Search UX Citations pop up does not open (sporadic) If the Genius Result Limit is set to 10 and more than 10 citations are returned then citations pop up does not open all the time. Workaround: Increase the genius result limit to 10 (Story WIP to fix in Q4) Other issue scenarios: 1. "KB2038160 - VA is frozen or not responding after upgrading to March 2025 release of Now Assist" (due to `glide.search.evam.use_legacy_template_generation` system property to true but max length of raw_citation field on sys_search_genius_result_field table is not set to 500000) 2. Q&A GRs are visible in search preview but not in portal (ATG search Q&A): Search preview performs a search in debug mode which skips relevancy model checks and thus if returned from backend will display the result, however portal search has relevancy model checks and only if the model deems it relevant returns to UI. 3. Exact Match: Exact match is not supported for portals. The same message is displayed in search application. If a number field is indexed and searched the API returns the match.