diff --git a/README.md b/README.md index db056a35b3..46b328f873 100644 --- a/README.md +++ b/README.md @@ -51,7 +51,7 @@ This template, the application code and configuration it contains, has been buil [📺 Watch a video overview of the app.](https://youtu.be/3acB0OWmLvM) -This sample demonstrates a few approaches for creating ChatGPT-like experiences over your own data using the Retrieval Augmented Generation pattern. It uses Azure OpenAI Service to access a GPT model (gpt-4.1-mini), and Azure AI Search for data indexing and retrieval. +This sample demonstrates a few approaches for creating ChatGPT-like experiences over your own data using the Retrieval Augmented Generation pattern. It uses Azure OpenAI Service to access a GPT model (gpt-4.1), and Azure AI Search for data indexing and retrieval. The repo includes sample data so it's ready to try end to end. In this sample application we use a fictitious company called Contoso Electronics, and the experience allows its employees to ask questions about the benefits, internal policies, as well as job descriptions and roles. diff --git a/app/backend/approaches/prompts/chat_query_rewrite.prompty b/app/backend/approaches/prompts/chat_query_rewrite.prompty index 545b3f5b8c..54997c71c8 100644 --- a/app/backend/approaches/prompts/chat_query_rewrite.prompty +++ b/app/backend/approaches/prompts/chat_query_rewrite.prompty @@ -9,9 +9,9 @@ sample: user_query: Does it include hearing? past_messages: - role: user - content: "What is included in my Northwind Health Plus plan that is not in standard?" + content: "What steps do I take if a property owner dies without a will in Georgia?" - role: assistant - content: "The Northwind Health Plus plan includes coverage for emergency services, mental health and substance abuse coverage, and out-of-network services, which are not included in the Northwind Standard plan. [Benefit_Options.pdf#page=3]" + content: "If a property owner dies intestate (without a will) in Georgia, the estate typically goes through probate in the county probate court. The court appoints an administrator to manage the estate and distribute assets based on Georgia’s intestacy laws. Heirs may need to file a petition, provide a death certificate, and publish a notice to debtors and creditors. Property may require a title search and court approval before transfer. [GA_Probate_Guide.pdf#page=5]" --- system: Below is a history of the conversation so far, and a new question asked by the user that needs to be answered by searching in a knowledge base. @@ -42,3 +42,6 @@ Show available health plans user: Generate search query for: {{ user_query }} + + + diff --git a/app/frontend/index.html b/app/frontend/index.html index 30205db90f..f02636f225 100644 --- a/app/frontend/index.html +++ b/app/frontend/index.html @@ -4,7 +4,7 @@ - Azure OpenAI + AI Search + HeirAid
diff --git a/app/frontend/package-lock.json b/app/frontend/package-lock.json index b4ec8fb7a0..6da48b3591 100644 --- a/app/frontend/package-lock.json +++ b/app/frontend/package-lock.json @@ -44,7 +44,7 @@ "vite": "^5.4.18" }, "engines": { - "node": ">=14.0.0" + "node": ">=20.0.0" } }, "node_modules/@ampproject/remapping": { diff --git a/app/frontend/src/locales/da/translation.json b/app/frontend/src/locales/da/translation.json index 4589218daf..d1b327faa5 100644 --- a/app/frontend/src/locales/da/translation.json +++ b/app/frontend/src/locales/da/translation.json @@ -1,6 +1,6 @@ { - "pageTitle": "Azure OpenAI + AI Search", - "headerTitle": "Azure OpenAI + AI Search", + "pageTitle": "HeirAid", + "headerTitle": "HeirAid", "chat": "Chat", "qa": "Stil et spørgsmål", "login": "Log ind", diff --git a/app/frontend/src/locales/en/translation.json b/app/frontend/src/locales/en/translation.json index 8445407290..c7a92b2ad3 100644 --- a/app/frontend/src/locales/en/translation.json +++ b/app/frontend/src/locales/en/translation.json @@ -1,6 +1,6 @@ { - "pageTitle": "Azure OpenAI + AI Search", - "headerTitle": "Azure OpenAI + AI Search", + "pageTitle": "HeirAid", + "headerTitle": "HeirAid", "chat": "Chat", "qa": "Ask a question", "login": "Login", @@ -37,9 +37,9 @@ "chatEmptyStateTitle": "Chat with your data", "chatEmptyStateSubtitle": "Ask anything or try an example", "defaultExamples": { - "1": "What is included in my Northwind Health Plus plan that is not in standard?", - "2": "What happens in a performance review?", - "3": "What does a Product Manager do?", + "1": "What steps do I take if a property owner dies without a will in Georgia?", + "2": "How can I find out if a property has unpaid taxes in Fulton County?", + "3": "What is the process of transferring property ownership in Atlanta after death?", "placeholder": "Type a new question (e.g. does my plan cover annual eye exams?)" }, "askTitle": "Ask your data", diff --git a/app/frontend/src/locales/es/translation.json b/app/frontend/src/locales/es/translation.json index 2c63182693..11f2897392 100644 --- a/app/frontend/src/locales/es/translation.json +++ b/app/frontend/src/locales/es/translation.json @@ -1,6 +1,6 @@ { - "pageTitle": "Azure OpenAI + AI Search", - "headerTitle": "Azure OpenAI + AI Search", + "pageTitle": "HeirAid", + "headerTitle": "HeirAid", "chat": "Chat", "qa": "Haz una pregunta", "login": "Iniciar sesión", diff --git a/app/frontend/src/locales/fr/translation.json b/app/frontend/src/locales/fr/translation.json index 2e9860e057..f4ecdff2ec 100644 --- a/app/frontend/src/locales/fr/translation.json +++ b/app/frontend/src/locales/fr/translation.json @@ -1,6 +1,6 @@ { - "pageTitle": "Azure OpenAI + AI Search", - "headerTitle": "Azure OpenAI + AI Search", + "pageTitle": "HeirAid", + "headerTitle": "HeirAid", "chat": "Chat", "qa": "Posez une question", "login": "Connexion", diff --git a/app/frontend/src/locales/it/translation.json b/app/frontend/src/locales/it/translation.json index cf51a87252..f54f0b853f 100644 --- a/app/frontend/src/locales/it/translation.json +++ b/app/frontend/src/locales/it/translation.json @@ -1,6 +1,6 @@ { - "pageTitle": "Azure OpenAI + AI Search", - "headerTitle": "Azure OpenAI + AI Search", + "pageTitle": "HeirAid", + "headerTitle": "HeirAid", "chat": "Chat", "qa": "Fai una domanda", "login": "Accedi", diff --git a/app/frontend/src/locales/ja/translation.json b/app/frontend/src/locales/ja/translation.json index a954c73bd9..a8486c53e1 100644 --- a/app/frontend/src/locales/ja/translation.json +++ b/app/frontend/src/locales/ja/translation.json @@ -1,6 +1,6 @@ { - "pageTitle": "Azure OpenAI + AI Search", - "headerTitle": "Azure OpenAI + AI Search", + "pageTitle": "HeirAid", + "headerTitle": "HeirAid", "chat": "チャット", "qa": "一問一答", "login": "ログイン", diff --git a/app/frontend/src/locales/nl/translation.json b/app/frontend/src/locales/nl/translation.json index 3067f856fa..bf552944b9 100644 --- a/app/frontend/src/locales/nl/translation.json +++ b/app/frontend/src/locales/nl/translation.json @@ -1,6 +1,6 @@ { - "pageTitle": "Azure OpenAI + AI Search", - "headerTitle": "Azure OpenAI + AI Search", + "pageTitle": "HeirAid", + "headerTitle": "HeirAid", "chat": "Chat", "qa": "Stel een vraag", "login": "Inloggen", diff --git a/app/frontend/src/locales/ptBR/translation.json b/app/frontend/src/locales/ptBR/translation.json index 9e91c4a476..fbe6b54e36 100644 --- a/app/frontend/src/locales/ptBR/translation.json +++ b/app/frontend/src/locales/ptBR/translation.json @@ -1,6 +1,6 @@ { - "pageTitle": "Azure OpenAI + AI Search", - "headerTitle": "Azure OpenAI + AI Search", + "pageTitle": "HeirAid", + "headerTitle": "HeirAid", "chat": "Chat", "qa": "Faça uma pergunta", "login": "Entrar", diff --git a/azure.yaml b/azure.yaml index f77bfb5828..9522fcffb8 100644 --- a/azure.yaml +++ b/azure.yaml @@ -10,7 +10,7 @@ services: # Please check docs/azure_container_apps.md for more information on how to deploy to Azure Container Apps host: containerapp docker: - remoteBuild: true + remoteBuild: false # Please check docs/azure_app_service.md for more information on how to deploy to Azure App Service # host: appservice hooks: diff --git a/data/2025-Aircraft-Personal-Property-Return.pdf b/data/2025-Aircraft-Personal-Property-Return.pdf new file mode 100644 index 0000000000..a943f72b00 Binary files /dev/null and b/data/2025-Aircraft-Personal-Property-Return.pdf differ diff --git a/data/2025-Business-Personal-Property-Return.pdf b/data/2025-Business-Personal-Property-Return.pdf new file mode 100644 index 0000000000..985da096d5 Binary files /dev/null and b/data/2025-Business-Personal-Property-Return.pdf differ diff --git a/data/2025-Freeport-Exemption-Application.pdf b/data/2025-Freeport-Exemption-Application.pdf new file mode 100644 index 0000000000..b15f636422 Binary files /dev/null and b/data/2025-Freeport-Exemption-Application.pdf differ diff --git a/data/2025-Marine-Personal-Property-Return.pdf b/data/2025-Marine-Personal-Property-Return.pdf new file mode 100644 index 0000000000..cbbb1b891e Binary files /dev/null and b/data/2025-Marine-Personal-Property-Return.pdf differ diff --git a/data/53-8-10.pdf b/data/53-8-10.pdf new file mode 100644 index 0000000000..c3b786727a Binary files /dev/null and b/data/53-8-10.pdf differ diff --git a/data/53-8-13.pdf b/data/53-8-13.pdf new file mode 100644 index 0000000000..41ea207e15 Binary files /dev/null and b/data/53-8-13.pdf differ diff --git a/data/A01.pdf b/data/A01.pdf new file mode 100644 index 0000000000..670ddfad53 Binary files /dev/null and b/data/A01.pdf differ diff --git a/data/A02.pdf b/data/A02.pdf new file mode 100644 index 0000000000..0bf2e39afb Binary files /dev/null and b/data/A02.pdf differ diff --git a/data/A03.pdf b/data/A03.pdf new file mode 100644 index 0000000000..f7ca0fcb9f Binary files /dev/null and b/data/A03.pdf differ diff --git a/data/B01.pdf b/data/B01.pdf new file mode 100644 index 0000000000..d3a52a4eaa Binary files /dev/null and b/data/B01.pdf differ diff --git a/data/B02.pdf b/data/B02.pdf new file mode 100644 index 0000000000..5e6f0ca83a Binary files /dev/null and b/data/B02.pdf differ diff --git a/data/B03.pdf b/data/B03.pdf new file mode 100644 index 0000000000..7493e9e21e Binary files /dev/null and b/data/B03.pdf differ diff --git a/data/B04.pdf b/data/B04.pdf new file mode 100644 index 0000000000..02636a748d Binary files /dev/null and b/data/B04.pdf differ diff --git a/data/B05.pdf b/data/B05.pdf new file mode 100644 index 0000000000..5b3b687233 Binary files /dev/null and b/data/B05.pdf differ diff --git a/data/B06.pdf b/data/B06.pdf new file mode 100644 index 0000000000..d97c7779e1 Binary files /dev/null and b/data/B06.pdf differ diff --git a/data/B07.pdf b/data/B07.pdf new file mode 100644 index 0000000000..5b9d035efa Binary files /dev/null and b/data/B07.pdf differ diff --git a/data/B08.pdf b/data/B08.pdf new file mode 100644 index 0000000000..c925de1429 Binary files /dev/null and b/data/B08.pdf differ diff --git a/data/B09.pdf b/data/B09.pdf new file mode 100644 index 0000000000..89cbd3a8e9 Binary files /dev/null and b/data/B09.pdf differ diff --git a/data/B10.pdf b/data/B10.pdf new file mode 100644 index 0000000000..ecb0235006 Binary files /dev/null and b/data/B10.pdf differ diff --git a/data/B11.pdf b/data/B11.pdf new file mode 100644 index 0000000000..841b98a12a Binary files /dev/null and b/data/B11.pdf differ diff --git a/data/Benefit_Options.pdf b/data/Benefit_Options.pdf deleted file mode 100644 index 6a4c07dc94..0000000000 Binary files a/data/Benefit_Options.pdf and /dev/null differ diff --git a/data/C01.pdf b/data/C01.pdf new file mode 100644 index 0000000000..f27816ef39 Binary files /dev/null and b/data/C01.pdf differ diff --git a/data/C02.pdf b/data/C02.pdf new file mode 100644 index 0000000000..ef112e97a5 Binary files /dev/null and b/data/C02.pdf differ diff --git a/data/C03.pdf b/data/C03.pdf new file mode 100644 index 0000000000..1609dd1392 Binary files /dev/null and b/data/C03.pdf differ diff --git a/data/C04.pdf b/data/C04.pdf new file mode 100644 index 0000000000..3fb7ceb368 Binary files /dev/null and b/data/C04.pdf differ diff --git a/data/C05.pdf b/data/C05.pdf new file mode 100644 index 0000000000..d873bf77fb Binary files /dev/null and b/data/C05.pdf differ diff --git a/data/C06.pdf b/data/C06.pdf new file mode 100644 index 0000000000..39cf701787 Binary files /dev/null and b/data/C06.pdf differ diff --git a/data/COUNCIL01.pdf b/data/COUNCIL01.pdf new file mode 100644 index 0000000000..51a2cedace Binary files /dev/null and b/data/COUNCIL01.pdf differ diff --git a/data/COUNCIL02.pdf b/data/COUNCIL02.pdf new file mode 100644 index 0000000000..eddedce276 Binary files /dev/null and b/data/COUNCIL02.pdf differ diff --git a/data/COUNCIL03.pdf b/data/COUNCIL03.pdf new file mode 100644 index 0000000000..1a2b9c5db2 Binary files /dev/null and b/data/COUNCIL03.pdf differ diff --git a/data/COUNCIL04.pdf b/data/COUNCIL04.pdf new file mode 100644 index 0000000000..4ce544e163 Binary files /dev/null and b/data/COUNCIL04.pdf differ diff --git a/data/COUNCIL05.pdf b/data/COUNCIL05.pdf new file mode 100644 index 0000000000..385d768908 Binary files /dev/null and b/data/COUNCIL05.pdf differ diff --git a/data/COUNCIL06.pdf b/data/COUNCIL06.pdf new file mode 100644 index 0000000000..fd11034b2e Binary files /dev/null and b/data/COUNCIL06.pdf differ diff --git a/data/COUNCIL07.pdf b/data/COUNCIL07.pdf new file mode 100644 index 0000000000..f04f824dbb Binary files /dev/null and b/data/COUNCIL07.pdf differ diff --git a/data/COUNCIL08.pdf b/data/COUNCIL08.pdf new file mode 100644 index 0000000000..084c67049b Binary files /dev/null and b/data/COUNCIL08.pdf differ diff --git a/data/COUNCIL09.pdf b/data/COUNCIL09.pdf new file mode 100644 index 0000000000..60c4d759ca Binary files /dev/null and b/data/COUNCIL09.pdf differ diff --git a/data/COUNCIL10.pdf b/data/COUNCIL10.pdf new file mode 100644 index 0000000000..3ff37f4ca8 Binary files /dev/null and b/data/COUNCIL10.pdf differ diff --git a/data/COUNCIL11.pdf b/data/COUNCIL11.pdf new file mode 100644 index 0000000000..b6268e3d98 Binary files /dev/null and b/data/COUNCIL11.pdf differ diff --git a/data/COUNCIL12.pdf b/data/COUNCIL12.pdf new file mode 100644 index 0000000000..8165b0b54a Binary files /dev/null and b/data/COUNCIL12.pdf differ diff --git a/data/Contoso_Electronics_Company_Overview.md b/data/Contoso_Electronics_Company_Overview.md deleted file mode 100644 index 033d7dd84a..0000000000 --- a/data/Contoso_Electronics_Company_Overview.md +++ /dev/null @@ -1,48 +0,0 @@ -# Contoso Electronics - -*Disclaimer: This content is generated by AI and may not accurately represent factual information about any real entity. Use this information with caution and verify details from reliable sources.* - -## History - -Contoso Electronics, a pioneering force in the tech industry, was founded in 1985 by visionary entrepreneurs with a passion for innovation. Over the years, the company has played a pivotal role in shaping the landscape of consumer electronics. - -| Year | Milestone | -|------|-----------| -| 1985 | Company founded with a focus on cutting-edge technology | -| 1990 | Launched the first-ever handheld personal computer | -| 2000 | Introduced groundbreaking advancements in AI and robotics | -| 2015 | Expansion into sustainable and eco-friendly product lines | - -## Company Overview - -At Contoso Electronics, we take pride in fostering a dynamic and inclusive workplace. Our dedicated team of experts collaborates to create innovative solutions that empower and connect people globally. - -### Core Values - -- **Innovation:** Constantly pushing the boundaries of technology. -- **Diversity:** Embracing different perspectives for creative excellence. -- **Sustainability:** Committed to eco-friendly practices in our products. - -## Vacation Perks - -We believe in work-life balance and understand the importance of well-deserved breaks. Our vacation perks are designed to help our employees recharge and return with renewed enthusiasm. - -| Vacation Tier | Duration | Additional Benefits | -|---------------|----------|---------------------| -| Standard | 2 weeks | Health and wellness stipend | -| Senior | 4 weeks | Travel vouchers for a dream destination | -| Executive | 6 weeks | Luxury resort getaway with family | - -## Employee Recognition - -Recognizing the hard work and dedication of our employees is at the core of our culture. Here are some ways we celebrate achievements: - -- Monthly "Innovator of the Month" awards -- Annual gala with awards for outstanding contributions -- Team-building retreats for high-performing departments - -## Join Us! - -Contoso Electronics is always on the lookout for talented individuals who share our passion for innovation. If you're ready to be part of a dynamic team shaping the future of technology, check out our [careers page](http://www.contoso.com) for exciting opportunities. - -[Learn more about Contoso Electronics!](http://www.contoso.com) diff --git a/data/D01.pdf b/data/D01.pdf new file mode 100644 index 0000000000..5bf50c8be1 Binary files /dev/null and b/data/D01.pdf differ diff --git a/data/D02.pdf b/data/D02.pdf new file mode 100644 index 0000000000..325198faa7 Binary files /dev/null and b/data/D02.pdf differ diff --git a/data/D03.pdf b/data/D03.pdf new file mode 100644 index 0000000000..74e76c11b1 Binary files /dev/null and b/data/D03.pdf differ diff --git a/data/E01.pdf b/data/E01.pdf new file mode 100644 index 0000000000..07cca859fc Binary files /dev/null and b/data/E01.pdf differ diff --git a/data/E02.pdf b/data/E02.pdf new file mode 100644 index 0000000000..c4f7d59318 Binary files /dev/null and b/data/E02.pdf differ diff --git a/data/E03.pdf b/data/E03.pdf new file mode 100644 index 0000000000..55b05c085d Binary files /dev/null and b/data/E03.pdf differ diff --git a/data/E04.pdf b/data/E04.pdf new file mode 100644 index 0000000000..33f32e7e23 Binary files /dev/null and b/data/E04.pdf differ diff --git a/data/E05.pdf b/data/E05.pdf new file mode 100644 index 0000000000..e486974b7b Binary files /dev/null and b/data/E05.pdf differ diff --git a/data/E06.pdf b/data/E06.pdf new file mode 100644 index 0000000000..f167d0c450 Binary files /dev/null and b/data/E06.pdf differ diff --git a/data/E07.pdf b/data/E07.pdf new file mode 100644 index 0000000000..00b89b671d Binary files /dev/null and b/data/E07.pdf differ diff --git a/data/F01.pdf b/data/F01.pdf new file mode 100644 index 0000000000..6fdad302da Binary files /dev/null and b/data/F01.pdf differ diff --git a/data/F02.pdf b/data/F02.pdf new file mode 100644 index 0000000000..c2cc1c0130 Binary files /dev/null and b/data/F02.pdf differ diff --git a/data/F03.pdf b/data/F03.pdf new file mode 100644 index 0000000000..3a6ce2c614 Binary files /dev/null and b/data/F03.pdf differ diff --git a/data/F04.pdf b/data/F04.pdf new file mode 100644 index 0000000000..9a6db4f78c Binary files /dev/null and b/data/F04.pdf differ diff --git a/data/Fulton-Trust-Affidavit.pdf b/data/Fulton-Trust-Affidavit.pdf new file mode 100644 index 0000000000..66a0930295 Binary files /dev/null and b/data/Fulton-Trust-Affidavit.pdf differ diff --git a/data/G01.pdf b/data/G01.pdf new file mode 100644 index 0000000000..288868751d Binary files /dev/null and b/data/G01.pdf differ diff --git a/data/G02.pdf b/data/G02.pdf new file mode 100644 index 0000000000..a0d3cfa1b2 Binary files /dev/null and b/data/G02.pdf differ diff --git a/data/G03.pdf b/data/G03.pdf new file mode 100644 index 0000000000..bcd7c7972d Binary files /dev/null and b/data/G03.pdf differ diff --git a/data/GPCSF-1-General-Instructions.pdf b/data/GPCSF-1-General-Instructions.pdf new file mode 100644 index 0000000000..6aa3b10776 Binary files /dev/null and b/data/GPCSF-1-General-Instructions.pdf differ diff --git a/data/GPCSF-10-Petition-for-Years-Support.pdf b/data/GPCSF-10-Petition-for-Years-Support.pdf new file mode 100644 index 0000000000..bcc37a8041 Binary files /dev/null and b/data/GPCSF-10-Petition-for-Years-Support.pdf differ diff --git a/data/GPCSF-11-Petition-for-the-Appointment-of-an-Emergency-Guardian-and-or-Conservator-for-a-Proposed-Ward.pdf b/data/GPCSF-11-Petition-for-the-Appointment-of-an-Emergency-Guardian-and-or-Conservator-for-a-Proposed-Ward.pdf new file mode 100644 index 0000000000..627b3613b7 Binary files /dev/null and b/data/GPCSF-11-Petition-for-the-Appointment-of-an-Emergency-Guardian-and-or-Conservator-for-a-Proposed-Ward.pdf differ diff --git a/data/GPCSF-12-Petition-for-the-Appointment-of-a-Guardian-and-or-Conservator-for-a-Proposed-Ward.pdf b/data/GPCSF-12-Petition-for-the-Appointment-of-a-Guardian-and-or-Conservator-for-a-Proposed-Ward.pdf new file mode 100644 index 0000000000..9db12ed019 Binary files /dev/null and b/data/GPCSF-12-Petition-for-the-Appointment-of-a-Guardian-and-or-Conservator-for-a-Proposed-Ward.pdf differ diff --git a/data/GPCSF-13-Petition-of-Personal-Representative-for-Leave-to-Sell-Property.pdf b/data/GPCSF-13-Petition-of-Personal-Representative-for-Leave-to-Sell-Property.pdf new file mode 100644 index 0000000000..1ac8271399 Binary files /dev/null and b/data/GPCSF-13-Petition-of-Personal-Representative-for-Leave-to-Sell-Property.pdf differ diff --git a/data/GPCSF-17-Petition-for-Leave-to-Convey-or-Encumber-Property-Previously-Set-Aside-as-Years-Support.pdf b/data/GPCSF-17-Petition-for-Leave-to-Convey-or-Encumber-Property-Previously-Set-Aside-as-Years-Support.pdf new file mode 100644 index 0000000000..6862da4eb7 Binary files /dev/null and b/data/GPCSF-17-Petition-for-Leave-to-Convey-or-Encumber-Property-Previously-Set-Aside-as-Years-Support.pdf differ diff --git a/data/GPCSF-19-Petition-to-Compromise-Doubtful-Claim-of-Minor-Adult-Ward.pdf b/data/GPCSF-19-Petition-to-Compromise-Doubtful-Claim-of-Minor-Adult-Ward.pdf new file mode 100644 index 0000000000..0b064bc1ff Binary files /dev/null and b/data/GPCSF-19-Petition-to-Compromise-Doubtful-Claim-of-Minor-Adult-Ward.pdf differ diff --git a/data/GPCSF-2-Petition-for-Temporary-Letters-of-Administration.pdf b/data/GPCSF-2-Petition-for-Temporary-Letters-of-Administration.pdf new file mode 100644 index 0000000000..f68fd5f7c3 Binary files /dev/null and b/data/GPCSF-2-Petition-for-Temporary-Letters-of-Administration.pdf differ diff --git a/data/GPCSF-20-Petition-for-Leave-to-Encroach-on-Corpus-1.pdf b/data/GPCSF-20-Petition-for-Leave-to-Encroach-on-Corpus-1.pdf new file mode 100644 index 0000000000..42104ed2de Binary files /dev/null and b/data/GPCSF-20-Petition-for-Leave-to-Encroach-on-Corpus-1.pdf differ diff --git a/data/GPCSF-28-Petition-for-Temporary-Letters-of-Guardianship-of-Minor.pdf b/data/GPCSF-28-Petition-for-Temporary-Letters-of-Guardianship-of-Minor.pdf new file mode 100644 index 0000000000..9f9e802e46 Binary files /dev/null and b/data/GPCSF-28-Petition-for-Temporary-Letters-of-Guardianship-of-Minor.pdf differ diff --git a/data/GPCSF-3-Petition-for-Letters-of-Administration.pdf b/data/GPCSF-3-Petition-for-Letters-of-Administration.pdf new file mode 100644 index 0000000000..0430311522 Binary files /dev/null and b/data/GPCSF-3-Petition-for-Letters-of-Administration.pdf differ diff --git a/data/GPCSF-30-Petition-for-Letters-of-Conservatorship-of-Minor.pdf b/data/GPCSF-30-Petition-for-Letters-of-Conservatorship-of-Minor.pdf new file mode 100644 index 0000000000..732f955ac5 Binary files /dev/null and b/data/GPCSF-30-Petition-for-Letters-of-Conservatorship-of-Minor.pdf differ diff --git a/data/GPCSF-32-Petition-by-Personal-Representative-for-Waiver-of-Bond-Waiver-of-Reports-Waiver-of-Stateme.pdf b/data/GPCSF-32-Petition-by-Personal-Representative-for-Waiver-of-Bond-Waiver-of-Reports-Waiver-of-Stateme.pdf new file mode 100644 index 0000000000..0444a035b4 Binary files /dev/null and b/data/GPCSF-32-Petition-by-Personal-Representative-for-Waiver-of-Bond-Waiver-of-Reports-Waiver-of-Stateme.pdf differ diff --git a/data/GPCSF-33-Petition-for-Discharge-of-Personal-Representative.pdf b/data/GPCSF-33-Petition-for-Discharge-of-Personal-Representative.pdf new file mode 100644 index 0000000000..4396230e95 Binary files /dev/null and b/data/GPCSF-33-Petition-for-Discharge-of-Personal-Representative.pdf differ diff --git a/data/GPCSF-34-Petition-of-Conservator-for-Final-Settlement-of-Accounts-and-Discharge-from-Office-and-Liability.pdf b/data/GPCSF-34-Petition-of-Conservator-for-Final-Settlement-of-Accounts-and-Discharge-from-Office-and-Liability.pdf new file mode 100644 index 0000000000..8eda6da866 Binary files /dev/null and b/data/GPCSF-34-Petition-of-Conservator-for-Final-Settlement-of-Accounts-and-Discharge-from-Office-and-Liability.pdf differ diff --git a/data/GPCSF-4-Petition-to-Probate-Will-in-Common-Form.pdf b/data/GPCSF-4-Petition-to-Probate-Will-in-Common-Form.pdf new file mode 100644 index 0000000000..b773f88bb1 Binary files /dev/null and b/data/GPCSF-4-Petition-to-Probate-Will-in-Common-Form.pdf differ diff --git a/data/GPCSF-5-Petition-to-Probate-Will-in-Solemn-Form.pdf b/data/GPCSF-5-Petition-to-Probate-Will-in-Solemn-Form.pdf new file mode 100644 index 0000000000..ee2f22bc98 Binary files /dev/null and b/data/GPCSF-5-Petition-to-Probate-Will-in-Solemn-Form.pdf differ diff --git a/data/GPCSF-65-Petition-for-Termination-of-Guardianship-Conservatorship-and-Restoration-of-Rights.pdf b/data/GPCSF-65-Petition-for-Termination-of-Guardianship-Conservatorship-and-Restoration-of-Rights.pdf new file mode 100644 index 0000000000..ea57e2d886 Binary files /dev/null and b/data/GPCSF-65-Petition-for-Termination-of-Guardianship-Conservatorship-and-Restoration-of-Rights.pdf differ diff --git a/data/GPCSF-7-Petition-to-Probate-Will-in-Solemn-Form-and-for-Letters-of-Administration-with-Will-Annexed.pdf b/data/GPCSF-7-Petition-to-Probate-Will-in-Solemn-Form-and-for-Letters-of-Administration-with-Will-Annexed.pdf new file mode 100644 index 0000000000..a6746ea4d3 Binary files /dev/null and b/data/GPCSF-7-Petition-to-Probate-Will-in-Solemn-Form-and-for-Letters-of-Administration-with-Will-Annexed.pdf differ diff --git a/data/GPCSF-9-Petition-for-Order-Declaring-No-Administration-Necessary.pdf b/data/GPCSF-9-Petition-for-Order-Declaring-No-Administration-Necessary.pdf new file mode 100644 index 0000000000..fdc696a051 Binary files /dev/null and b/data/GPCSF-9-Petition-for-Order-Declaring-No-Administration-Necessary.pdf differ diff --git a/data/GPT4V_Examples/Financial Market Analysis Report 2023.pdf b/data/GPT4V_Examples/Financial Market Analysis Report 2023.pdf deleted file mode 100644 index eef17aad75..0000000000 Binary files a/data/GPT4V_Examples/Financial Market Analysis Report 2023.pdf and /dev/null differ diff --git a/data/H01.pdf b/data/H01.pdf new file mode 100644 index 0000000000..b7fbe5f5d1 Binary files /dev/null and b/data/H01.pdf differ diff --git a/data/H02.pdf b/data/H02.pdf new file mode 100644 index 0000000000..58e816abd7 Binary files /dev/null and b/data/H02.pdf differ diff --git a/data/H03.pdf b/data/H03.pdf new file mode 100644 index 0000000000..8e58327be6 Binary files /dev/null and b/data/H03.pdf differ diff --git a/data/H04.pdf b/data/H04.pdf new file mode 100644 index 0000000000..eaebdc45d5 Binary files /dev/null and b/data/H04.pdf differ diff --git a/data/I01.pdf b/data/I01.pdf new file mode 100644 index 0000000000..0627d422ff Binary files /dev/null and b/data/I01.pdf differ diff --git a/data/I02.pdf b/data/I02.pdf new file mode 100644 index 0000000000..3f982b5899 Binary files /dev/null and b/data/I02.pdf differ diff --git a/data/I03.pdf b/data/I03.pdf new file mode 100644 index 0000000000..1916be98a9 Binary files /dev/null and b/data/I03.pdf differ diff --git a/data/I04.pdf b/data/I04.pdf new file mode 100644 index 0000000000..99783cdc1c Binary files /dev/null and b/data/I04.pdf differ diff --git a/data/I05.pdf b/data/I05.pdf new file mode 100644 index 0000000000..7383810640 Binary files /dev/null and b/data/I05.pdf differ diff --git a/data/J01.pdf b/data/J01.pdf new file mode 100644 index 0000000000..9f2007ca3d Binary files /dev/null and b/data/J01.pdf differ diff --git a/data/J02.pdf b/data/J02.pdf new file mode 100644 index 0000000000..a5efc1bfcf Binary files /dev/null and b/data/J02.pdf differ diff --git a/data/J03.pdf b/data/J03.pdf new file mode 100644 index 0000000000..ccc9776bb6 Binary files /dev/null and b/data/J03.pdf differ diff --git a/data/Json_Examples/2189.json b/data/Json_Examples/2189.json deleted file mode 100644 index d7066c9fbd..0000000000 --- a/data/Json_Examples/2189.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "AreaPath": "SmartHotel360", - "AssignedTo": null, - "Categories": null, - "ChangedDate": "2023-12-13T23:08:38.69Z", - "ClosedDate": null, - "CreatedDate": "2023-12-13T23:08:38.69Z", - "Description": "As a customer, I would like to reserve a conference room such that:

1. It should display available date and time slots
2. Give an option to reserve a conference room for X hours
3. One can reserve a conference room for max 4 hours per day
", - "Id": 2189, - "State": "New", - "StateChangeDate": "2023-12-13T23:08:38.69Z", - "Tags": "Reservation", - "Title": "As a customer, I would like to reserve a conference room" -} diff --git a/data/Json_Examples/2190.json b/data/Json_Examples/2190.json deleted file mode 100644 index 5a45f1158f..0000000000 --- a/data/Json_Examples/2190.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "AreaPath": "SmartHotel360", - "AssignedTo": null, - "Categories": null, - "ChangedDate": "2023-12-13T23:08:38.997Z", - "ClosedDate": null, - "CreatedDate": "2023-12-13T23:08:38.997Z", - "Description": "

Enter the guest's name to whom you would\nlike to send a confirmation, display the company, contact, source\nand agent associated\nwith the reservation.

", - "Id": 2190, - "State": "New", - "StateChangeDate": "2023-12-13T23:08:38.997Z", - "Tags": "Notification", - "Title": "As a reservation agent, I would like to send confirmations to guest" -} diff --git a/data/Json_Examples/2191.json b/data/Json_Examples/2191.json deleted file mode 100644 index 455e4c9a24..0000000000 --- a/data/Json_Examples/2191.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "AreaPath": "SmartHotel360", - "AssignedTo": null, - "Categories": null, - "ChangedDate": "2023-12-13T23:08:39.17Z", - "ClosedDate": null, - "CreatedDate": "2023-12-13T23:08:39.17Z", - "Description": "

If you have not picked up\nyour vehicle you can remove or cancel your reservation by clicking here.


1. Car reserved should have an option to cancel the request
2. Car driver should receive a notification about cancellation
", - "Id": 2191, - "State": "New", - "StateChangeDate": "2023-12-13T23:08:39.17Z", - "Tags": "Reservation", - "Title": "As a customer, I should be able to remove a car reservation " -} diff --git a/data/Json_Examples/2192.json b/data/Json_Examples/2192.json deleted file mode 100644 index d2e489f317..0000000000 --- a/data/Json_Examples/2192.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "AreaPath": "SmartHotel360", - "AssignedTo": null, - "Categories": null, - "ChangedDate": "2023-12-13T23:08:39.383Z", - "ClosedDate": null, - "CreatedDate": "2023-12-13T23:08:39.383Z", - "Description": "As a courtesy, grant an\nextra hour or two to leave the room, especially if it isn't booked\nfor the upcoming evening. But customer must call the front desk\nin advance and request a late checkout.


1. Late Check-in time should be displayed
2. Request should be sent to front-desk 
3. Any extra charge should be displayed
", - "Id": 2192, - "State": "New", - "StateChangeDate": "2023-12-13T23:08:39.383Z", - "Tags": "Front-desk; Members; Reservation", - "Title": "As a customer, I should be able to request hotel for late Check-out" -} diff --git a/data/Json_Examples/query.json b/data/Json_Examples/query.json deleted file mode 100644 index ceb9dc1a6f..0000000000 --- a/data/Json_Examples/query.json +++ /dev/null @@ -1,244 +0,0 @@ -[ - { - "fields": { - "System.Id": 2348, - "System.State": "New", - "System.Title": "Provide related items or frequently bought together section when people browse or search", - "System.WorkItemType": "Product Backlog Item" - }, - "id": 2348, - "relations": null, - "rev": 1, - "url": "https://dev.azure.com/codebytes/_apis/wit/workItems/2348" - }, - { - "fields": { - "System.Id": 2349, - "System.State": "New", - "System.Title": "As tester, I need to test the website on all the relevant broswers and devices and be sure that it can handle our load.", - "System.WorkItemType": "Product Backlog Item" - }, - "id": 2349, - "relations": null, - "rev": 1, - "url": "https://dev.azure.com/codebytes/_apis/wit/workItems/2349" - }, - { - "fields": { - "System.Id": 2350, - "System.State": "New", - "System.Title": "As a customer, I should be able to put items to shopping cart", - "System.WorkItemType": "Product Backlog Item" - }, - "id": 2350, - "relations": null, - "rev": 1, - "url": "https://dev.azure.com/codebytes/_apis/wit/workItems/2350" - }, - { - "fields": { - "System.Id": 2351, - "System.State": "New", - "System.Title": "As a customer, I should be able to print my purchase order", - "System.WorkItemType": "Product Backlog Item" - }, - "id": 2351, - "relations": null, - "rev": 1, - "url": "https://dev.azure.com/codebytes/_apis/wit/workItems/2351" - }, - { - "fields": { - "System.Id": 2352, - "System.State": "New", - "System.Title": "As a customer, I would like to have a sort capabaility by price and customer ratings", - "System.WorkItemType": "Product Backlog Item" - }, - "id": 2352, - "relations": null, - "rev": 1, - "url": "https://dev.azure.com/codebytes/_apis/wit/workItems/2352" - }, - { - "fields": { - "System.Id": 2353, - "System.State": "New", - "System.Title": "Recommended products must be based on customer purchase pattern history", - "System.WorkItemType": "Product Backlog Item" - }, - "id": 2353, - "relations": null, - "rev": 1, - "url": "https://dev.azure.com/codebytes/_apis/wit/workItems/2353" - }, - { - "fields": { - "System.Id": 2354, - "System.State": "New", - "System.Title": "As a customer, I would like to save my addresses so that I can easily select the address for delivery", - "System.WorkItemType": "Product Backlog Item" - }, - "id": 2354, - "relations": null, - "rev": 1, - "url": "https://dev.azure.com/codebytes/_apis/wit/workItems/2354" - }, - { - "fields": { - "System.Id": 2355, - "System.State": "New", - "System.Title": "As marketer, I want to run an A|B test on alternative Web Sites using Application Insights.", - "System.WorkItemType": "Product Backlog Item" - }, - "id": 2355, - "relations": null, - "rev": 1, - "url": "https://dev.azure.com/codebytes/_apis/wit/workItems/2355" - }, - { - "fields": { - "System.AssignedTo": { - "_links": { - "avatar": { - "href": "https://dev.azure.com/codebytes/_apis/GraphProfile/MemberAvatars/aad.ZDlhOGEyZjktMGZmZS03YjY4LTlkYjctNjk1ZWZiNGY2Nzg0" - } - }, - "descriptor": "aad.ZDlhOGEyZjktMGZmZS03YjY4LTlkYjctNjk1ZWZiNGY2Nzg0", - "displayName": "Chris Ayers", - "id": "cd8258ec-ad87-4c0d-9026-e5e343447185", - "imageUrl": "https://dev.azure.com/codebytes/_apis/GraphProfile/MemberAvatars/aad.ZDlhOGEyZjktMGZmZS03YjY4LTlkYjctNjk1ZWZiNGY2Nzg0", - "uniqueName": "chrisayers@microsoft.com", - "url": "https://spsprodeus27.vssps.visualstudio.com/A6b854e9d-a8be-405d-a4cc-5eb8e7027155/_apis/Identities/cd8258ec-ad87-4c0d-9026-e5e343447185" - }, - "System.Id": 2356, - "System.State": "Done", - "System.Title": "Provide customers the ability to track status of the package", - "System.WorkItemType": "Product Backlog Item" - }, - "id": 2356, - "relations": null, - "rev": 1, - "url": "https://dev.azure.com/codebytes/_apis/wit/workItems/2356" - }, - { - "fields": { - "System.AssignedTo": { - "_links": { - "avatar": { - "href": "https://dev.azure.com/codebytes/_apis/GraphProfile/MemberAvatars/aad.ZDlhOGEyZjktMGZmZS03YjY4LTlkYjctNjk1ZWZiNGY2Nzg0" - } - }, - "descriptor": "aad.ZDlhOGEyZjktMGZmZS03YjY4LTlkYjctNjk1ZWZiNGY2Nzg0", - "displayName": "Chris Ayers", - "id": "cd8258ec-ad87-4c0d-9026-e5e343447185", - "imageUrl": "https://dev.azure.com/codebytes/_apis/GraphProfile/MemberAvatars/aad.ZDlhOGEyZjktMGZmZS03YjY4LTlkYjctNjk1ZWZiNGY2Nzg0", - "uniqueName": "chrisayers@microsoft.com", - "url": "https://spsprodeus27.vssps.visualstudio.com/A6b854e9d-a8be-405d-a4cc-5eb8e7027155/_apis/Identities/cd8258ec-ad87-4c0d-9026-e5e343447185" - }, - "System.Id": 2357, - "System.State": "Done", - "System.Title": "As a customer, I would like to have the ability to send my items as gift", - "System.WorkItemType": "Product Backlog Item" - }, - "id": 2357, - "relations": null, - "rev": 2, - "url": "https://dev.azure.com/codebytes/_apis/wit/workItems/2357" - }, - { - "fields": { - "System.Id": 2358, - "System.State": "Committed", - "System.Title": "As a customer, I would like to store my credit card details securely", - "System.WorkItemType": "Product Backlog Item" - }, - "id": 2358, - "relations": null, - "rev": 1, - "url": "https://dev.azure.com/codebytes/_apis/wit/workItems/2358" - }, - { - "fields": { - "System.Id": 2359, - "System.State": "Committed", - "System.Title": "As a customer, I should be able to select different shipping option", - "System.WorkItemType": "Product Backlog Item" - }, - "id": 2359, - "relations": null, - "rev": 1, - "url": "https://dev.azure.com/codebytes/_apis/wit/workItems/2359" - }, - { - "fields": { - "System.Id": 2360, - "System.State": "Committed", - "System.Title": "As developer, I want to use Azure Machine Learning to provide a recommendations engine behind the website.", - "System.WorkItemType": "Product Backlog Item" - }, - "id": 2360, - "relations": null, - "rev": 1, - "url": "https://dev.azure.com/codebytes/_apis/wit/workItems/2360" - }, - { - "fields": { - "System.Id": 2361, - "System.State": "Committed", - "System.Title": "Provide tentative duration for shipping.", - "System.WorkItemType": "Product Backlog Item" - }, - "id": 2361, - "relations": null, - "rev": 1, - "url": "https://dev.azure.com/codebytes/_apis/wit/workItems/2361" - }, - { - "fields": { - "System.Id": 2362, - "System.State": "Approved", - "System.Title": "Notify the user about any changes made to the order", - "System.WorkItemType": "Product Backlog Item" - }, - "id": 2362, - "relations": null, - "rev": 1, - "url": "https://dev.azure.com/codebytes/_apis/wit/workItems/2362" - }, - { - "fields": { - "System.Id": 2363, - "System.State": "Approved", - "System.Title": "As a admin, I should be able to update prices on ad-hoc condition", - "System.WorkItemType": "Product Backlog Item" - }, - "id": 2363, - "relations": null, - "rev": 1, - "url": "https://dev.azure.com/codebytes/_apis/wit/workItems/2363" - }, - { - "fields": { - "System.Id": 2364, - "System.State": "Approved", - "System.Title": "As a customer, I would like to provide my feedback on items that I have purchased", - "System.WorkItemType": "Product Backlog Item" - }, - "id": 2364, - "relations": null, - "rev": 1, - "url": "https://dev.azure.com/codebytes/_apis/wit/workItems/2364" - }, - { - "fields": { - "System.Id": 2365, - "System.State": "Approved", - "System.Title": "As a customer, I would like to have a wishlist where I can add items for future purchase", - "System.WorkItemType": "Product Backlog Item" - }, - "id": 2365, - "relations": null, - "rev": 1, - "url": "https://dev.azure.com/codebytes/_apis/wit/workItems/2365" - } -] diff --git a/data/K01.pdf b/data/K01.pdf new file mode 100644 index 0000000000..9370c7bce2 Binary files /dev/null and b/data/K01.pdf differ diff --git a/data/K02.pdf b/data/K02.pdf new file mode 100644 index 0000000000..a287e520b9 Binary files /dev/null and b/data/K02.pdf differ diff --git a/data/K03.pdf b/data/K03.pdf new file mode 100644 index 0000000000..3d70498134 Binary files /dev/null and b/data/K03.pdf differ diff --git a/data/L01.pdf b/data/L01.pdf new file mode 100644 index 0000000000..c7eec41e5f Binary files /dev/null and b/data/L01.pdf differ diff --git a/data/L02.pdf b/data/L02.pdf new file mode 100644 index 0000000000..7ae8402389 Binary files /dev/null and b/data/L02.pdf differ diff --git a/data/M01.pdf b/data/M01.pdf new file mode 100644 index 0000000000..72d1dd1665 Binary files /dev/null and b/data/M01.pdf differ diff --git a/data/M02.pdf b/data/M02.pdf new file mode 100644 index 0000000000..b9e4f0ef16 Binary files /dev/null and b/data/M02.pdf differ diff --git a/data/N01.pdf b/data/N01.pdf new file mode 100644 index 0000000000..0cdde3507b Binary files /dev/null and b/data/N01.pdf differ diff --git a/data/N02.pdf b/data/N02.pdf new file mode 100644 index 0000000000..6b453258da Binary files /dev/null and b/data/N02.pdf differ diff --git a/data/N03.pdf b/data/N03.pdf new file mode 100644 index 0000000000..6eaf075227 Binary files /dev/null and b/data/N03.pdf differ diff --git a/data/N04.pdf b/data/N04.pdf new file mode 100644 index 0000000000..5984586f27 Binary files /dev/null and b/data/N04.pdf differ diff --git a/data/NPU_A.pdf b/data/NPU_A.pdf new file mode 100644 index 0000000000..df79a87818 Binary files /dev/null and b/data/NPU_A.pdf differ diff --git a/data/NPU_B.pdf b/data/NPU_B.pdf new file mode 100644 index 0000000000..4791d0f5a3 Binary files /dev/null and b/data/NPU_B.pdf differ diff --git a/data/NPU_C.pdf b/data/NPU_C.pdf new file mode 100644 index 0000000000..9fe57e2430 Binary files /dev/null and b/data/NPU_C.pdf differ diff --git a/data/NPU_D.pdf b/data/NPU_D.pdf new file mode 100644 index 0000000000..0f0cf1fa49 Binary files /dev/null and b/data/NPU_D.pdf differ diff --git a/data/NPU_E.pdf b/data/NPU_E.pdf new file mode 100644 index 0000000000..0995000ec1 Binary files /dev/null and b/data/NPU_E.pdf differ diff --git a/data/NPU_F.pdf b/data/NPU_F.pdf new file mode 100644 index 0000000000..dc55d2a3f3 Binary files /dev/null and b/data/NPU_F.pdf differ diff --git a/data/NPU_G.pdf b/data/NPU_G.pdf new file mode 100644 index 0000000000..c88cdf10ce Binary files /dev/null and b/data/NPU_G.pdf differ diff --git a/data/NPU_H.pdf b/data/NPU_H.pdf new file mode 100644 index 0000000000..a446a70b88 Binary files /dev/null and b/data/NPU_H.pdf differ diff --git a/data/NPU_I.pdf b/data/NPU_I.pdf new file mode 100644 index 0000000000..4e021c9423 Binary files /dev/null and b/data/NPU_I.pdf differ diff --git a/data/NPU_J.pdf b/data/NPU_J.pdf new file mode 100644 index 0000000000..dd5d84c554 Binary files /dev/null and b/data/NPU_J.pdf differ diff --git a/data/NPU_K.pdf b/data/NPU_K.pdf new file mode 100644 index 0000000000..1137b9d57f Binary files /dev/null and b/data/NPU_K.pdf differ diff --git a/data/NPU_L.pdf b/data/NPU_L.pdf new file mode 100644 index 0000000000..28a65f73fe Binary files /dev/null and b/data/NPU_L.pdf differ diff --git a/data/NPU_M.pdf b/data/NPU_M.pdf new file mode 100644 index 0000000000..b53c597294 Binary files /dev/null and b/data/NPU_M.pdf differ diff --git a/data/NPU_N.pdf b/data/NPU_N.pdf new file mode 100644 index 0000000000..4768c42390 Binary files /dev/null and b/data/NPU_N.pdf differ diff --git a/data/NPU_O.pdf b/data/NPU_O.pdf new file mode 100644 index 0000000000..82819e14a6 Binary files /dev/null and b/data/NPU_O.pdf differ diff --git a/data/NPU_P.pdf b/data/NPU_P.pdf new file mode 100644 index 0000000000..516c8906c2 Binary files /dev/null and b/data/NPU_P.pdf differ diff --git a/data/NPU_Q.pdf b/data/NPU_Q.pdf new file mode 100644 index 0000000000..a6a7cf3d2a Binary files /dev/null and b/data/NPU_Q.pdf differ diff --git a/data/NPU_R.pdf b/data/NPU_R.pdf new file mode 100644 index 0000000000..9d53df1c70 Binary files /dev/null and b/data/NPU_R.pdf differ diff --git a/data/NPU_S.pdf b/data/NPU_S.pdf new file mode 100644 index 0000000000..b5dac9c059 Binary files /dev/null and b/data/NPU_S.pdf differ diff --git a/data/NPU_T.pdf b/data/NPU_T.pdf new file mode 100644 index 0000000000..eb8f0b24d1 Binary files /dev/null and b/data/NPU_T.pdf differ diff --git a/data/NPU_V.pdf b/data/NPU_V.pdf new file mode 100644 index 0000000000..69ec9d873a Binary files /dev/null and b/data/NPU_V.pdf differ diff --git a/data/NPU_W.pdf b/data/NPU_W.pdf new file mode 100644 index 0000000000..c5b672cdf8 Binary files /dev/null and b/data/NPU_W.pdf differ diff --git a/data/NPU_X.pdf b/data/NPU_X.pdf new file mode 100644 index 0000000000..00e711ffcf Binary files /dev/null and b/data/NPU_X.pdf differ diff --git a/data/NPU_Y.pdf b/data/NPU_Y.pdf new file mode 100644 index 0000000000..677e94317e Binary files /dev/null and b/data/NPU_Y.pdf differ diff --git a/data/NPU_Z.pdf b/data/NPU_Z.pdf new file mode 100644 index 0000000000..9beff50f8b Binary files /dev/null and b/data/NPU_Z.pdf differ diff --git a/data/Northwind_Health_Plus_Benefits_Details.pdf b/data/Northwind_Health_Plus_Benefits_Details.pdf deleted file mode 100644 index 97579a4fb5..0000000000 Binary files a/data/Northwind_Health_Plus_Benefits_Details.pdf and /dev/null differ diff --git a/data/Northwind_Standard_Benefits_Details.pdf b/data/Northwind_Standard_Benefits_Details.pdf deleted file mode 100644 index 7d50ff8c02..0000000000 Binary files a/data/Northwind_Standard_Benefits_Details.pdf and /dev/null differ diff --git a/data/O.C.G.A. Section 53-5-2.pdf b/data/O.C.G.A. Section 53-5-2.pdf new file mode 100644 index 0000000000..396e2cac53 Binary files /dev/null and b/data/O.C.G.A. Section 53-5-2.pdf differ diff --git "a/data/O.C.G.A. \302\247 48-3-9.pdf" "b/data/O.C.G.A. \302\247 48-3-9.pdf" new file mode 100644 index 0000000000..b7e8592d92 Binary files /dev/null and "b/data/O.C.G.A. \302\247 48-3-9.pdf" differ diff --git "a/data/O.C.G.A. \302\247 48-5-7.pdf" "b/data/O.C.G.A. \302\247 48-5-7.pdf" new file mode 100644 index 0000000000..62c732b421 Binary files /dev/null and "b/data/O.C.G.A. \302\247 48-5-7.pdf" differ diff --git "a/data/O.C.G.A. \302\247 53-5-21.pdf" "b/data/O.C.G.A. \302\247 53-5-21.pdf" new file mode 100644 index 0000000000..aa269a4aee Binary files /dev/null and "b/data/O.C.G.A. \302\247 53-5-21.pdf" differ diff --git "a/data/O.C.G.A. \302\247 53-7-40.pdf" "b/data/O.C.G.A. \302\247 53-7-40.pdf" new file mode 100644 index 0000000000..fbe925c924 Binary files /dev/null and "b/data/O.C.G.A. \302\247 53-7-40.pdf" differ diff --git a/data/O01.pdf b/data/O01.pdf new file mode 100644 index 0000000000..a656e4ad30 Binary files /dev/null and b/data/O01.pdf differ diff --git a/data/O02.pdf b/data/O02.pdf new file mode 100644 index 0000000000..c3bea153f6 Binary files /dev/null and b/data/O02.pdf differ diff --git a/data/O03.pdf b/data/O03.pdf new file mode 100644 index 0000000000..903ddc139c Binary files /dev/null and b/data/O03.pdf differ diff --git a/data/OCGA-52-1.pdf b/data/OCGA-52-1.pdf new file mode 100644 index 0000000000..98a4bef276 Binary files /dev/null and b/data/OCGA-52-1.pdf differ diff --git a/data/P01.pdf b/data/P01.pdf new file mode 100644 index 0000000000..e3aa6ffdc8 Binary files /dev/null and b/data/P01.pdf differ diff --git a/data/P02.pdf b/data/P02.pdf new file mode 100644 index 0000000000..9419f2f1ec Binary files /dev/null and b/data/P02.pdf differ diff --git a/data/P03.pdf b/data/P03.pdf new file mode 100644 index 0000000000..c63a91695f Binary files /dev/null and b/data/P03.pdf differ diff --git a/data/P04.pdf b/data/P04.pdf new file mode 100644 index 0000000000..e624f7180e Binary files /dev/null and b/data/P04.pdf differ diff --git a/data/P05.pdf b/data/P05.pdf new file mode 100644 index 0000000000..68c5dce727 Binary files /dev/null and b/data/P05.pdf differ diff --git a/data/P06.pdf b/data/P06.pdf new file mode 100644 index 0000000000..2d9919479e Binary files /dev/null and b/data/P06.pdf differ diff --git a/data/PerksPlus.pdf b/data/PerksPlus.pdf deleted file mode 100644 index 2e167a2a6a..0000000000 Binary files a/data/PerksPlus.pdf and /dev/null differ diff --git a/data/Physicians-Disability-Certification.pdf b/data/Physicians-Disability-Certification.pdf new file mode 100644 index 0000000000..b7dc8195ab Binary files /dev/null and b/data/Physicians-Disability-Certification.pdf differ diff --git a/data/Q01.pdf b/data/Q01.pdf new file mode 100644 index 0000000000..08b1d6ff26 Binary files /dev/null and b/data/Q01.pdf differ diff --git a/data/R01.pdf b/data/R01.pdf new file mode 100644 index 0000000000..61d84fc5ad Binary files /dev/null and b/data/R01.pdf differ diff --git a/data/R02.pdf b/data/R02.pdf new file mode 100644 index 0000000000..934addf4e9 Binary files /dev/null and b/data/R02.pdf differ diff --git a/data/R03.pdf b/data/R03.pdf new file mode 100644 index 0000000000..1e9f94973c Binary files /dev/null and b/data/R03.pdf differ diff --git a/data/Real-Property-Return.pdf b/data/Real-Property-Return.pdf new file mode 100644 index 0000000000..c1b5c888fe Binary files /dev/null and b/data/Real-Property-Return.pdf differ diff --git a/data/Request-to-Remove-Homestead-Exemption-02-28-20.pdf b/data/Request-to-Remove-Homestead-Exemption-02-28-20.pdf new file mode 100644 index 0000000000..75284bb286 Binary files /dev/null and b/data/Request-to-Remove-Homestead-Exemption-02-28-20.pdf differ diff --git a/data/S01.pdf b/data/S01.pdf new file mode 100644 index 0000000000..9eea9df6c8 Binary files /dev/null and b/data/S01.pdf differ diff --git a/data/S02.pdf b/data/S02.pdf new file mode 100644 index 0000000000..01f6929b31 Binary files /dev/null and b/data/S02.pdf differ diff --git a/data/S03.pdf b/data/S03.pdf new file mode 100644 index 0000000000..daebc23645 Binary files /dev/null and b/data/S03.pdf differ diff --git a/data/T01.pdf b/data/T01.pdf new file mode 100644 index 0000000000..6b07bfe07c Binary files /dev/null and b/data/T01.pdf differ diff --git a/data/T02.pdf b/data/T02.pdf new file mode 100644 index 0000000000..558f88d0c1 Binary files /dev/null and b/data/T02.pdf differ diff --git a/data/T03.pdf b/data/T03.pdf new file mode 100644 index 0000000000..538d10e254 Binary files /dev/null and b/data/T03.pdf differ diff --git a/data/T04.pdf b/data/T04.pdf new file mode 100644 index 0000000000..8c58e92eb4 Binary files /dev/null and b/data/T04.pdf differ diff --git a/data/V01.pdf b/data/V01.pdf new file mode 100644 index 0000000000..01c38c0223 Binary files /dev/null and b/data/V01.pdf differ diff --git a/data/V02.pdf b/data/V02.pdf new file mode 100644 index 0000000000..582134db16 Binary files /dev/null and b/data/V02.pdf differ diff --git a/data/V03.pdf b/data/V03.pdf new file mode 100644 index 0000000000..24bd6e93bd Binary files /dev/null and b/data/V03.pdf differ diff --git a/data/V04.pdf b/data/V04.pdf new file mode 100644 index 0000000000..542b223f7d Binary files /dev/null and b/data/V04.pdf differ diff --git a/data/W01.pdf b/data/W01.pdf new file mode 100644 index 0000000000..b9c42f746e Binary files /dev/null and b/data/W01.pdf differ diff --git a/data/W02.pdf b/data/W02.pdf new file mode 100644 index 0000000000..3e549b4a7b Binary files /dev/null and b/data/W02.pdf differ diff --git a/data/W03.pdf b/data/W03.pdf new file mode 100644 index 0000000000..485d8bbd36 Binary files /dev/null and b/data/W03.pdf differ diff --git a/data/W04.pdf b/data/W04.pdf new file mode 100644 index 0000000000..03bf06f06e Binary files /dev/null and b/data/W04.pdf differ diff --git a/data/X01.pdf b/data/X01.pdf new file mode 100644 index 0000000000..4ba3cb98ae Binary files /dev/null and b/data/X01.pdf differ diff --git a/data/X02.pdf b/data/X02.pdf new file mode 100644 index 0000000000..99da1796e0 Binary files /dev/null and b/data/X02.pdf differ diff --git a/data/X03.pdf b/data/X03.pdf new file mode 100644 index 0000000000..655bdbf0b5 Binary files /dev/null and b/data/X03.pdf differ diff --git a/data/X04.pdf b/data/X04.pdf new file mode 100644 index 0000000000..378f238c04 Binary files /dev/null and b/data/X04.pdf differ diff --git a/data/Y01.pdf b/data/Y01.pdf new file mode 100644 index 0000000000..e6ce1ac1f8 Binary files /dev/null and b/data/Y01.pdf differ diff --git a/data/Y02.pdf b/data/Y02.pdf new file mode 100644 index 0000000000..095343b309 Binary files /dev/null and b/data/Y02.pdf differ diff --git a/data/Y03.pdf b/data/Y03.pdf new file mode 100644 index 0000000000..6ef87b78ab Binary files /dev/null and b/data/Y03.pdf differ diff --git a/data/Y04.pdf b/data/Y04.pdf new file mode 100644 index 0000000000..05ad35237d Binary files /dev/null and b/data/Y04.pdf differ diff --git a/data/Z01.pdf b/data/Z01.pdf new file mode 100644 index 0000000000..ea0f433e26 Binary files /dev/null and b/data/Z01.pdf differ diff --git a/data/Z02.pdf b/data/Z02.pdf new file mode 100644 index 0000000000..56128451a7 Binary files /dev/null and b/data/Z02.pdf differ diff --git a/data/Z03.pdf b/data/Z03.pdf new file mode 100644 index 0000000000..547ad7922a Binary files /dev/null and b/data/Z03.pdf differ diff --git a/data/Z04.pdf b/data/Z04.pdf new file mode 100644 index 0000000000..00aa3dd978 Binary files /dev/null and b/data/Z04.pdf differ diff --git a/data/Z05.pdf b/data/Z05.pdf new file mode 100644 index 0000000000..e9b0221ad9 Binary files /dev/null and b/data/Z05.pdf differ diff --git a/data/employee_handbook.pdf b/data/employee_handbook.pdf deleted file mode 100644 index 878f36f7dd..0000000000 Binary files a/data/employee_handbook.pdf and /dev/null differ diff --git a/data/fulton_decedents_estates.pdf b/data/fulton_decedents_estates.pdf new file mode 100644 index 0000000000..bda21d979b Binary files /dev/null and b/data/fulton_decedents_estates.pdf differ diff --git a/data/housing_loans.pdf b/data/housing_loans.pdf new file mode 100644 index 0000000000..8ad2549aff Binary files /dev/null and b/data/housing_loans.pdf differ diff --git a/data/role_library.pdf b/data/role_library.pdf deleted file mode 100644 index ff70c65651..0000000000 Binary files a/data/role_library.pdf and /dev/null differ diff --git a/docs/agentic_retrieval.md b/docs/agentic_retrieval.md index 0f8f8e69a9..a5cb8d9b9f 100644 --- a/docs/agentic_retrieval.md +++ b/docs/agentic_retrieval.md @@ -10,7 +10,7 @@ See the agentic retrieval documentation. ### Prerequisites -* A deployment of any of the supported agentic retrieval models in the [supported regions](https://learn.microsoft.com/azure/ai-services/openai/concepts/models#standard-deployment-model-availability). If you're not sure, try to create a gpt-4.1-mini deployment from your Azure OpenAI deployments page. +* A deployment of any of the supported agentic retrieval models in the [supported regions](https://learn.microsoft.com/azure/ai-services/openai/concepts/models#standard-deployment-model-availability). If you're not sure, try to create a gpt-4.1 deployment from your Azure OpenAI deployments page. ### Deployment @@ -24,13 +24,13 @@ See the agentic retrieval documentation. 2. **(Optional) Set the agentic retrieval model** - You can configure which model agentic retrieval uses. By default, gpt-4.1-mini is used. + You can configure which model agentic retrieval uses. By default, gpt-4.1 is used. To change the model, set the following environment variables appropriately: ```shell azd env set AZURE_OPENAI_SEARCHAGENT_DEPLOYMENT searchagent - azd env set AZURE_OPENAI_SEARCHAGENT_MODEL gpt-4.1-mini + azd env set AZURE_OPENAI_SEARCHAGENT_MODEL gpt-4.1 azd env set AZURE_OPENAI_SEARCHAGENT_MODEL_VERSION 2025-04-14 ``` diff --git a/docs/deploy_existing.md b/docs/deploy_existing.md index 3b0972f805..3c768f11d1 100644 --- a/docs/deploy_existing.md +++ b/docs/deploy_existing.md @@ -26,8 +26,8 @@ You should set these values before running `azd up`. Once you've set them, retur 1. Run `azd env set AZURE_OPENAI_SERVICE {Name of existing OpenAI service}` 1. Run `azd env set AZURE_OPENAI_RESOURCE_GROUP {Name of existing resource group that OpenAI service is provisioned to}` 1. Run `azd env set AZURE_OPENAI_LOCATION {Location of existing OpenAI service}` -1. Run `azd env set AZURE_OPENAI_CHATGPT_DEPLOYMENT {Name of existing chat deployment}`. Only needed if your chat deployment name is not the default 'gpt-4.1-mini'. -1. Run `azd env set AZURE_OPENAI_CHATGPT_MODEL {Model name of existing chat deployment}`. Only needed if your chat model is not the default 'gpt-4.1-mini'. +1. Run `azd env set AZURE_OPENAI_CHATGPT_DEPLOYMENT {Name of existing chat deployment}`. Only needed if your chat deployment name is not the default 'gpt-4.1'. +1. Run `azd env set AZURE_OPENAI_CHATGPT_MODEL {Model name of existing chat deployment}`. Only needed if your chat model is not the default 'gpt-4.1'. 1. Run `azd env set AZURE_OPENAI_CHATGPT_DEPLOYMENT_VERSION {Version string for existing chat deployment}`. Only needed if your chat deployment model version is not the default '2024-07-18'. You definitely need to change this if you changed the model. 1. Run `azd env set AZURE_OPENAI_CHATGPT_DEPLOYMENT_SKU {Name of SKU for existing chat deployment}`. Only needed if your chat deployment SKU is not the default 'Standard', like if it is 'GlobalStandard' instead. 1. Run `azd env set AZURE_OPENAI_EMB_DEPLOYMENT {Name of existing embedding deployment}`. Only needed if your embeddings deployment is not the default 'embedding'. diff --git a/docs/deploy_features.md b/docs/deploy_features.md index 89d79ca4b0..bee64fcd78 100644 --- a/docs/deploy_features.md +++ b/docs/deploy_features.md @@ -24,7 +24,7 @@ You should typically enable these features before running `azd up`. Once you've ## Using different chat completion models -As of early June 2025, the default chat completion model is `gpt-4.1-mini`. If you deployed this sample before that date, the default model is `gpt-3.5-turbo` or `gpt-4o-mini`. You can change the chat completion model to any Azure OpenAI chat model that's available in your Azure OpenAI resource region by following these steps: +As of early June 2025, the default chat completion model is `gpt-4.1`. If you deployed this sample before that date, the default model is `gpt-3.5-turbo` or `gpt-4o-mini`. You can change the chat completion model to any Azure OpenAI chat model that's available in your Azure OpenAI resource region by following these steps: 1. To set the name of the deployment, run this command with a unique name in your Azure OpenAI account. You can use any deployment name, as long as it's unique in your Azure OpenAI account. For convenience, many developers use the same deployment name as the model name, but this is not required. @@ -40,10 +40,10 @@ As of early June 2025, the default chat completion model is `gpt-4.1-mini`. If y 1. To set the GPT model to a different [available model](https://learn.microsoft.com/azure/ai-services/openai/concepts/models), run this command with the appropriate model name. - For gpt-4.1-mini: + For gpt-4.1: ```bash - azd env set AZURE_OPENAI_CHATGPT_MODEL gpt-4.1-mini + azd env set AZURE_OPENAI_CHATGPT_MODEL gpt-4.1 ``` For gpt-4o: @@ -72,7 +72,7 @@ As of early June 2025, the default chat completion model is `gpt-4.1-mini`. If y 1. To set the Azure OpenAI model version from the [available versions](https://learn.microsoft.com/azure/ai-services/openai/concepts/models), run this command with the appropriate version string. - For gpt-4.1-mini: + For gpt-4.1: ```bash azd env set AZURE_OPENAI_CHATGPT_DEPLOYMENT_VERSION 2025-04-14 diff --git a/docs/gpt4v.md b/docs/gpt4v.md index ba010a1270..6e7ce31f20 100644 --- a/docs/gpt4v.md +++ b/docs/gpt4v.md @@ -23,7 +23,7 @@ For more details on how this feature works, read [this blog post](https://techco * The ability to deploy a gpt-4o model in the [supported regions](https://learn.microsoft.com/azure/ai-services/openai/concepts/models#standard-deployment-model-availability). If you're not sure, try to create a gpt-4o deployment from your Azure OpenAI deployments page. * Ensure that you can deploy the Azure OpenAI resource group in [a region and deployment SKU where all required components are available](https://learn.microsoft.com/azure/cognitive-services/openai/concepts/models#model-summary-table-and-region-availability): * Azure OpenAI models - * gpt-4.1-mini + * gpt-4.1 * text-embedding-3-large * gpt-4o (for vision/evaluation features) * [Azure AI Vision](https://learn.microsoft.com/azure/ai-services/computer-vision/) diff --git a/docs/http_protocol.md b/docs/http_protocol.md index 9739543713..44ba218bdd 100644 --- a/docs/http_protocol.md +++ b/docs/http_protocol.md @@ -6,17 +6,19 @@ The HTTP protocol is inspired by the [OpenAI ChatCompletion API](https://platfor Table of contents: -* [HTTP requests to chat app endpoints](#http-requests-to-chat-app-endpoints) - * [Request context properties](#request-context-properties) -* [HTTP responses from RAG chat app endpoints](#http-responses-from-rag-chat-app-endpoints) - * [Non-streaming response](#non-streaming-response) - * [Successful response](#successful-response) - * [Error response](#error-response) - * [Streaming response](#streaming-response) - * [Successful streamed response](#successful-streamed-response) - * [Error in streamed response](#error-in-streamed-response) - * [Answer formatting](#answer-formatting) - * [Response context properties](#response-context-properties) +- [RAG Chat: HTTP Protocol](#rag-chat-http-protocol) + - [HTTP requests to chat app endpoints](#http-requests-to-chat-app-endpoints) + - [Usage example](#usage-example) + - [Request context properties](#request-context-properties) + - [HTTP responses from RAG chat app endpoints](#http-responses-from-rag-chat-app-endpoints) + - [Non-streaming response](#non-streaming-response) + - [Successful response](#successful-response) + - [Error response](#error-response) + - [Streaming response](#streaming-response) + - [Successful streamed response](#successful-streamed-response) + - [Error in streamed response](#error-in-streamed-response) + - [Answer formatting](#answer-formatting) + - [Response context properties](#response-context-properties) ## HTTP requests to chat app endpoints @@ -41,7 +43,7 @@ The example belows represents a valid and compliant request body to the chat app { "messages": [ { - "content": "What is included in my Northwind Health Plus plan that is not in standard?", + "content": "What steps do I take if a property owner dies without a will in Georgia?", "role": "user" } ], diff --git a/evals/results/gpt4omini-emb3l/README.md b/evals/results/gpt4omini-emb3l/README.md index 4b8048311b..601d59e008 100644 --- a/evals/results/gpt4omini-emb3l/README.md +++ b/evals/results/gpt4omini-emb3l/README.md @@ -2,7 +2,7 @@ This evaluation was done with the application configured to use the following models: -* Chat completion: **gpt-4.1-mini (2025-04-14 model version)** +* Chat completion: **gpt-4.1 (2025-04-14 model version)** * Embedding: **text-embedding-3-large (with binary quantization, 1024 dimension reducation, and oversampling)** The model used for evaluation was: **gpt-4o (2024-08-06 version)** diff --git a/infra/main.bicep b/infra/main.bicep index da31b2b385..8fc2a687bc 100644 --- a/infra/main.bicep +++ b/infra/main.bicep @@ -150,8 +150,8 @@ param chatGptDeploymentSkuName string = '' param chatGptDeploymentCapacity int = 0 var chatGpt = { - modelName: !empty(chatGptModelName) ? chatGptModelName : 'gpt-4.1-mini' - deploymentName: !empty(chatGptDeploymentName) ? chatGptDeploymentName : 'gpt-4.1-mini' + modelName: !empty(chatGptModelName) ? chatGptModelName : 'gpt-4.1' + deploymentName: !empty(chatGptDeploymentName) ? chatGptDeploymentName : 'gpt-4.1' deploymentVersion: !empty(chatGptDeploymentVersion) ? chatGptDeploymentVersion : '2025-04-14' deploymentSkuName: !empty(chatGptDeploymentSkuName) ? chatGptDeploymentSkuName : 'GlobalStandard' deploymentCapacity: chatGptDeploymentCapacity != 0 ? chatGptDeploymentCapacity : 30 @@ -204,7 +204,7 @@ param searchAgentModelVersion string = '' param searchAgentDeploymentSkuName string = '' param searchAgentDeploymentCapacity int = 0 var searchAgent = { - modelName: !empty(searchAgentModelName) ? searchAgentModelName : 'gpt-4.1-mini' + modelName: !empty(searchAgentModelName) ? searchAgentModelName : 'gpt-4.1' deploymentName: !empty(searchAgentDeploymentName) ? searchAgentDeploymentName : 'searchagent' deploymentVersion: !empty(searchAgentModelVersion) ? searchAgentModelVersion : '2025-04-14' deploymentSkuName: !empty(searchAgentDeploymentSkuName) ? searchAgentDeploymentSkuName : 'GlobalStandard' diff --git a/locustfile.py b/locustfile.py index b41b9bd372..b1ade8bf70 100644 --- a/locustfile.py +++ b/locustfile.py @@ -16,10 +16,9 @@ def ask_question(self): time.sleep(self.wait_time()) first_question = random.choice( [ - "What is included in my Northwind Health Plus plan that is not in standard?", - "What does a Product Manager do?", - "What happens in a performance review?", - "Whats your whistleblower policy?", + "What steps do I take if a property owner dies without a will in Georgia?", + "How can I find out if a property has unpaid taxes in Fulton County?", + "What is the process of transferring property ownership in Atlanta after death?", ] ) diff --git a/scripts/adlsgen2setup.py b/scripts/adlsgen2setup.py index 1deccdf199..38fac49630 100644 --- a/scripts/adlsgen2setup.py +++ b/scripts/adlsgen2setup.py @@ -142,8 +142,8 @@ async def create_or_get_group(self, group_name: str): "securityEnabled": self.security_enabled_groups, "groupTypes": ["Unified"], # If Unified does not work for you, then you may need the following settings instead: - # "mailEnabled": False, - # "mailNickname": group_name, + "mailEnabled": False, + "mailNickname": group_name, } async with session.post("https://graph.microsoft.com/v1.0/groups", json=group) as response: content = await response.json() diff --git a/scripts/sampleacls.json b/scripts/sampleacls.json index dd2d4888fa..1f35b4e0c3 100644 --- a/scripts/sampleacls.json +++ b/scripts/sampleacls.json @@ -1,38 +1,285 @@ { "files": { - "Benefit_Options.pdf": { - "directory": "benefitinfo" + "2025-Aircraft-Personal-Property-Return.pdf": { + "directory": "forms" }, - "employee_handbook.pdf": { - "directory": "employeeinfo" + "2025-Business-Personal-Property-Return.pdf": { + "directory": "forms" }, - "Northwind_Health_Plus_Benefits_Details.pdf": { - "directory": "benefitinfo" + "2025-Freeport-Exemption-Application.pdf": { + "directory": "forms" }, - "Northwind_Standard_Benefits_Details.pdf": { - "directory": "benefitinfo" + "2025-Marine-Personal-Property-Return.pdf": { + "directory": "forms" }, - "PerksPlus.pdf": { - "directory": "benefitinfo" + "53-8-10.pdf": { + "directory": "legal_codes" }, - "role_library.pdf": { - "directory": "employeeinfo" - } + "53-8-13.pdf": { + "directory": "legal_codes" + }, + "Fulton-Trust-Affidavit.pdf": { + "directory": "forms" + }, + "GPCSF-1-General-Instructions.pdf": { + "directory": "probate_forms" + }, + "GPCSF-10-Petition-for-Years-Support.pdf": { + "directory": "probate_forms" + }, + "GPCSF-11-Petition-for-the-Appointment-of-an-Emergency-Guardian-and-or-Conservator-for-a-Proposed-Ward.pdf": { + "directory": "probate_forms" + }, + "GPCSF-12-Petition-for-the-Appointment-of-a-Guardian-and-or-Conservator-for-a-Proposed-Ward.pdf": { + "directory": "probate_forms" + }, + "GPCSF-13-Petition-of-Personal-Representative-for-Leave-to-Sell-Property.pdf": { + "directory": "probate_forms" + }, + "GPCSF-17-Petition-for-Leave-to-Convey-or-Encumber-Property-Previously-Set-Aside-as-Years-Support.pdf": { + "directory": "probate_forms" + }, + "GPCSF-19-Petition-to-Compromise-Doubtful-Claim-of-Minor-Adult-Ward.pdf": { + "directory": "probate_forms" + }, + "GPCSF-2-Petition-for-Temporary-Letters-of-Administration.pdf": { + "directory": "probate_forms" + }, + "GPCSF-20-Petition-for-Leave-to-Encroach-on-Corpus-1.pdf": { + "directory": "probate_forms" + }, + "GPCSF-28-Petition-for-Temporary-Letters-of-Guardianship-of-Minor.pdf": { + "directory": "probate_forms" + }, + "GPCSF-3-Petition-for-Letters-of-Administration.pdf": { + "directory": "probate_forms" + }, + "GPCSF-30-Petition-for-Letters-of-Conservatorship-of-Minor.pdf": { + "directory": "probate_forms" + }, + "GPCSF-32-Petition-by-Personal-Representative-for-Waiver-of-Bond-Waiver-of-Reports-Waiver-of-Stateme.pdf": { + "directory": "probate_forms" + }, + "GPCSF-33-Petition-for-Discharge-of-Personal-Representative.pdf": { + "directory": "probate_forms" + }, + "GPCSF-34-Petition-of-Conservator-for-Final-Settlement-of-Accounts-and-Discharge-from-Office-and-Liability.pdf": { + "directory": "probate_forms" + }, + "GPCSF-4-Petition-to-Probate-Will-in-Common-Form.pdf": { + "directory": "probate_forms" + }, + "GPCSF-5-Petition-to-Probate-Will-in-Solemn-Form.pdf": { + "directory": "probate_forms" + }, + "GPCSF-65-Petition-for-Termination-of-Guardianship-Conservatorship-and-Restoration-of-Rights.pdf": { + "directory": "probate_forms" + }, + "GPCSF-7-Petition-to-Probate-Will-in-Solemn-Form-and-for-Letters-of-Administration-with-Will-Annexed.pdf": { + "directory": "probate_forms" + }, + "GPCSF-9-Petition-for-Order-Declaring-No-Administration-Necessary.pdf": { + "directory": "probate_forms" + }, + "O.C.G.A. Section 53-5-2.pdf": { + "directory": "legal_codes" + }, + "O.C.G.A. § 48-3-9.pdf": { + "directory": "legal_codes" + }, + "O.C.G.A. § 48-5-7.pdf": { + "directory": "legal_codes" + }, + "O.C.G.A. § 53-5-21.pdf": { + "directory": "legal_codes" + }, + "O.C.G.A. § 53-7-40.pdf": { + "directory": "legal_codes" + }, + "OCGA-52-1.pdf": { + "directory": "legal_codes" + }, + "Physicians-Disability-Certification.pdf": { + "directory": "forms" + }, + "Real-Property-Return.pdf": { + "directory": "forms" + }, + "Request-to-Remove-Homestead-Exemption-02-28-20.pdf": { + "directory": "forms" + }, + "fulton_decedents_estates.pdf": { + "directory": "general_info" + }, + "housing_loans.pdf": { + "directory": "general_info" + }, + "A01.pdf": { "directory": "neighborhood_nexus" }, + "A02.pdf": { "directory": "neighborhood_nexus" }, + "A03.pdf": { "directory": "neighborhood_nexus" }, + "B01.pdf": { "directory": "neighborhood_nexus" }, + "B02.pdf": { "directory": "neighborhood_nexus" }, + "B03.pdf": { "directory": "neighborhood_nexus" }, + "B04.pdf": { "directory": "neighborhood_nexus" }, + "B05.pdf": { "directory": "neighborhood_nexus" }, + "B06.pdf": { "directory": "neighborhood_nexus" }, + "B07.pdf": { "directory": "neighborhood_nexus" }, + "B08.pdf": { "directory": "neighborhood_nexus" }, + "B09.pdf": { "directory": "neighborhood_nexus" }, + "B10.pdf": { "directory": "neighborhood_nexus" }, + "B11.pdf": { "directory": "neighborhood_nexus" }, + "C01.pdf": { "directory": "neighborhood_nexus" }, + "C02.pdf": { "directory": "neighborhood_nexus" }, + "C03.pdf": { "directory": "neighborhood_nexus" }, + "C04.pdf": { "directory": "neighborhood_nexus" }, + "C05.pdf": { "directory": "neighborhood_nexus" }, + "C06.pdf": { "directory": "neighborhood_nexus" }, + "COUNCIL01.pdf": { "directory": "neighborhood_nexus" }, + "COUNCIL02.pdf": { "directory": "neighborhood_nexus" }, + "COUNCIL03.pdf": { "directory": "neighborhood_nexus" }, + "COUNCIL04.pdf": { "directory": "neighborhood_nexus" }, + "COUNCIL05.pdf": { "directory": "neighborhood_nexus" }, + "COUNCIL06.pdf": { "directory": "neighborhood_nexus" }, + "COUNCIL07.pdf": { "directory": "neighborhood_nexus" }, + "COUNCIL08.pdf": { "directory": "neighborhood_nexus" }, + "COUNCIL09.pdf": { "directory": "neighborhood_nexus" }, + "COUNCIL10.pdf": { "directory": "neighborhood_nexus" }, + "COUNCIL11.pdf": { "directory": "neighborhood_nexus" }, + "COUNCIL12.pdf": { "directory": "neighborhood_nexus" }, + "D01.pdf": { "directory": "neighborhood_nexus" }, + "D02.pdf": { "directory": "neighborhood_nexus" }, + "D03.pdf": { "directory": "neighborhood_nexus" }, + "E01.pdf": { "directory": "neighborhood_nexus" }, + "E02.pdf": { "directory": "neighborhood_nexus" }, + "E03.pdf": { "directory": "neighborhood_nexus" }, + "E04.pdf": { "directory": "neighborhood_nexus" }, + "E05.pdf": { "directory": "neighborhood_nexus" }, + "E06.pdf": { "directory": "neighborhood_nexus" }, + "E07.pdf": { "directory": "neighborhood_nexus" }, + "F01.pdf": { "directory": "neighborhood_nexus" }, + "F02.pdf": { "directory": "neighborhood_nexus" }, + "F03.pdf": { "directory": "neighborhood_nexus" }, + "F04.pdf": { "directory": "neighborhood_nexus" }, + "G01.pdf": { "directory": "neighborhood_nexus" }, + "G02.pdf": { "directory": "neighborhood_nexus" }, + "G03.pdf": { "directory": "neighborhood_nexus" }, + "H01.pdf": { "directory": "neighborhood_nexus" }, + "H02.pdf": { "directory": "neighborhood_nexus" }, + "H03.pdf": { "directory": "neighborhood_nexus" }, + "H04.pdf": { "directory": "neighborhood_nexus" }, + "I01.pdf": { "directory": "neighborhood_nexus" }, + "I02.pdf": { "directory": "neighborhood_nexus" }, + "I03.pdf": { "directory": "neighborhood_nexus" }, + "I04.pdf": { "directory": "neighborhood_nexus" }, + "I05.pdf": { "directory": "neighborhood_nexus" }, + "J01.pdf": { "directory": "neighborhood_nexus" }, + "J02.pdf": { "directory": "neighborhood_nexus" }, + "J03.pdf": { "directory": "neighborhood_nexus" }, + "K01.pdf": { "directory": "neighborhood_nexus" }, + "K02.pdf": { "directory": "neighborhood_nexus" }, + "K03.pdf": { "directory": "neighborhood_nexus" }, + "L01.pdf": { "directory": "neighborhood_nexus" }, + "L02.pdf": { "directory": "neighborhood_nexus" }, + "M01.pdf": { "directory": "neighborhood_nexus" }, + "M02.pdf": { "directory": "neighborhood_nexus" }, + "N01.pdf": { "directory": "neighborhood_nexus" }, + "N02.pdf": { "directory": "neighborhood_nexus" }, + "N03.pdf": { "directory": "neighborhood_nexus" }, + "N04.pdf": { "directory": "neighborhood_nexus" }, + "NPU_A.pdf": { "directory": "neighborhood_nexus" }, + "NPU_B.pdf": { "directory": "neighborhood_nexus" }, + "NPU_C.pdf": { "directory": "neighborhood_nexus" }, + "NPU_D.pdf": { "directory": "neighborhood_nexus" }, + "NPU_E.pdf": { "directory": "neighborhood_nexus" }, + "NPU_F.pdf": { "directory": "neighborhood_nexus" }, + "NPU_G.pdf": { "directory": "neighborhood_nexus" }, + "NPU_H.pdf": { "directory": "neighborhood_nexus" }, + "NPU_I.pdf": { "directory": "neighborhood_nexus" }, + "NPU_J.pdf": { "directory": "neighborhood_nexus" }, + "NPU_K.pdf": { "directory": "neighborhood_nexus" }, + "NPU_L.pdf": { "directory": "neighborhood_nexus" }, + "NPU_M.pdf": { "directory": "neighborhood_nexus" }, + "NPU_N.pdf": { "directory": "neighborhood_nexus" }, + "NPU_O.pdf": { "directory": "neighborhood_nexus" }, + "NPU_P.pdf": { "directory": "neighborhood_nexus" }, + "NPU_Q.pdf": { "directory": "neighborhood_nexus" }, + "NPU_R.pdf": { "directory": "neighborhood_nexus" }, + "NPU_S.pdf": { "directory": "neighborhood_nexus" }, + "NPU_T.pdf": { "directory": "neighborhood_nexus" }, + "NPU_V.pdf": { "directory": "neighborhood_nexus" }, + "NPU_W.pdf": { "directory": "neighborhood_nexus" }, + "NPU_X.pdf": { "directory": "neighborhood_nexus" }, + "NPU_Y.pdf": { "directory": "neighborhood_nexus" }, + "NPU_Z.pdf": { "directory": "neighborhood_nexus" }, + "O01.pdf": { "directory": "neighborhood_nexus" }, + "O02.pdf": { "directory": "neighborhood_nexus" }, + "O03.pdf": { "directory": "neighborhood_nexus" }, + "P01.pdf": { "directory": "neighborhood_nexus" }, + "P02.pdf": { "directory": "neighborhood_nexus" }, + "P03.pdf": { "directory": "neighborhood_nexus" }, + "P04.pdf": { "directory": "neighborhood_nexus" }, + "P05.pdf": { "directory": "neighborhood_nexus" }, + "P06.pdf": { "directory": "neighborhood_nexus" }, + "Q01.pdf": { "directory": "neighborhood_nexus" }, + "R01.pdf": { "directory": "neighborhood_nexus" }, + "R02.pdf": { "directory": "neighborhood_nexus" }, + "R03.pdf": { "directory": "neighborhood_nexus" }, + "S01.pdf": { "directory": "neighborhood_nexus" }, + "S02.pdf": { "directory": "neighborhood_nexus" }, + "S03.pdf": { "directory": "neighborhood_nexus" }, + "T01.pdf": { "directory": "neighborhood_nexus" }, + "T02.pdf": { "directory": "neighborhood_nexus" }, + "T03.pdf": { "directory": "neighborhood_nexus" }, + "T04.pdf": { "directory": "neighborhood_nexus" }, + "V01.pdf": { "directory": "neighborhood_nexus" }, + "V02.pdf": { "directory": "neighborhood_nexus" }, + "V03.pdf": { "directory": "neighborhood_nexus" }, + "V04.pdf": { "directory": "neighborhood_nexus" }, + "W01.pdf": { "directory": "neighborhood_nexus" }, + "W02.pdf": { "directory": "neighborhood_nexus" }, + "W03.pdf": { "directory": "neighborhood_nexus" }, + "W04.pdf": { "directory": "neighborhood_nexus" }, + "X01.pdf": { "directory": "neighborhood_nexus" }, + "X02.pdf": { "directory": "neighborhood_nexus" }, + "X03.pdf": { "directory": "neighborhood_nexus" }, + "X04.pdf": { "directory": "neighborhood_nexus" }, + "Y01.pdf": { "directory": "neighborhood_nexus" }, + "Y02.pdf": { "directory": "neighborhood_nexus" }, + "Y03.pdf": { "directory": "neighborhood_nexus" }, + "Y04.pdf": { "directory": "neighborhood_nexus" }, + "Z01.pdf": { "directory": "neighborhood_nexus" }, + "Z02.pdf": { "directory": "neighborhood_nexus" }, + "Z03.pdf": { "directory": "neighborhood_nexus" }, + "Z04.pdf": { "directory": "neighborhood_nexus" }, + "Z05.pdf": { "directory": "neighborhood_nexus" } }, "directories": { - "employeeinfo": { - "groups": ["GPTKB_HRTest"] + "forms": { + "groups": ["PropertyFormsUsers"] + }, + "probate_forms": { + "groups": ["ProbateCourtUsers", "LegalTeamUsers"] + }, + "legal_codes": { + "groups": ["LegalReferenceUsers","LegalTeamUsers"] + }, + "general_info": { + "groups": ["PublicInfoUsers","LegalTeamUsers"] }, - "benefitinfo": { - "groups": ["GPTKB_EmployeeTest", "GPTKB_HRTest"] + "neighborhood_nexus": { + "groups": ["CommunityUsers","PublicInfoUsers", "LegalTeamUsers"] }, "/": { - "groups": ["GPTKB_AdminTest"] + "groups": ["GlobalAdmins"] } }, "groups": [ - "GPTKB_AdminTest", - "GPTKB_HRTest", - "GPTKB_EmployeeTest" + "PropertyFormsUsers", + "ProbateCourtUsers", + "LegalTeamUsers", + "LegalReferenceUsers", + "PublicInfoUsers", + "CommunityUsers", + "GlobalAdmins" ] -} +} \ No newline at end of file diff --git a/tests/conftest.py b/tests/conftest.py index 2405dad8e9..4c2223634e 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -126,7 +126,7 @@ def mock_openai_chatcompletion(monkeypatch): class AsyncChatCompletionIterator: def __init__(self, answer: str, reasoning: bool, usage: dict[str, Any]): chunk_id = "test-id" - model = "gpt-4.1-mini" if not reasoning else "o3-mini" + model = "gpt-4.1" if not reasoning else "o3-mini" self.responses = [ {"object": "chat.completion.chunk", "choices": [], "id": chunk_id, "model": model, "created": 1}, { @@ -373,11 +373,11 @@ def mock_blob_container_client(monkeypatch): { "OPENAI_HOST": "azure", "AZURE_OPENAI_SERVICE": "test-openai-service", - "AZURE_OPENAI_CHATGPT_MODEL": "gpt-4.1-mini", - "AZURE_OPENAI_CHATGPT_DEPLOYMENT": "gpt-4.1-mini", + "AZURE_OPENAI_CHATGPT_MODEL": "gpt-4.1", + "AZURE_OPENAI_CHATGPT_DEPLOYMENT": "gpt-4.1", "AZURE_OPENAI_EMB_DEPLOYMENT": "test-ada", - "AZURE_OPENAI_SEARCHAGENT_MODEL": "gpt-4.1-mini", - "AZURE_OPENAI_SEARCHAGENT_DEPLOYMENT": "gpt-4.1-mini", + "AZURE_OPENAI_SEARCHAGENT_MODEL": "gpt-4.1", + "AZURE_OPENAI_SEARCHAGENT_DEPLOYMENT": "gpt-4.1", "USE_AGENTIC_RETRIEVAL": "true", } ] @@ -386,11 +386,11 @@ def mock_blob_container_client(monkeypatch): { "OPENAI_HOST": "azure", "AZURE_OPENAI_SERVICE": "test-openai-service", - "AZURE_OPENAI_CHATGPT_MODEL": "gpt-4.1-mini", - "AZURE_OPENAI_CHATGPT_DEPLOYMENT": "gpt-4.1-mini", + "AZURE_OPENAI_CHATGPT_MODEL": "gpt-4.1", + "AZURE_OPENAI_CHATGPT_DEPLOYMENT": "gpt-4.1", "AZURE_OPENAI_EMB_DEPLOYMENT": "test-ada", - "AZURE_OPENAI_SEARCHAGENT_MODEL": "gpt-4.1-mini", - "AZURE_OPENAI_SEARCHAGENT_DEPLOYMENT": "gpt-4.1-mini", + "AZURE_OPENAI_SEARCHAGENT_MODEL": "gpt-4.1", + "AZURE_OPENAI_SEARCHAGENT_DEPLOYMENT": "gpt-4.1", "USE_AGENTIC_RETRIEVAL": "true", "AZURE_USE_AUTHENTICATION": "true", "AZURE_SERVER_APP_ID": "SERVER_APP", @@ -415,7 +415,7 @@ def mock_env(monkeypatch, request): monkeypatch.setenv("AZURE_SEARCH_SERVICE", "test-search-service") monkeypatch.setenv("AZURE_SPEECH_SERVICE_ID", "test-id") monkeypatch.setenv("AZURE_SPEECH_SERVICE_LOCATION", "eastus") - monkeypatch.setenv("AZURE_OPENAI_CHATGPT_MODEL", "gpt-4.1-mini") + monkeypatch.setenv("AZURE_OPENAI_CHATGPT_MODEL", "gpt-4.1") monkeypatch.setenv("ALLOWED_ORIGIN", "https://frontend.com") for key, value in request.param.items(): monkeypatch.setenv(key, value) @@ -618,7 +618,7 @@ async def auth_client( monkeypatch.setenv("AZURE_STORAGE_CONTAINER", "test-storage-container") monkeypatch.setenv("AZURE_SEARCH_INDEX", "test-search-index") monkeypatch.setenv("AZURE_SEARCH_SERVICE", "test-search-service") - monkeypatch.setenv("AZURE_OPENAI_CHATGPT_MODEL", "gpt-4.1-mini") + monkeypatch.setenv("AZURE_OPENAI_CHATGPT_MODEL", "gpt-4.1") monkeypatch.setenv("USE_USER_UPLOAD", "true") monkeypatch.setenv("AZURE_USERSTORAGE_ACCOUNT", "test-userstorage-account") monkeypatch.setenv("AZURE_USERSTORAGE_CONTAINER", "test-userstorage-container") @@ -657,7 +657,7 @@ async def auth_public_documents_client( monkeypatch.setenv("AZURE_STORAGE_CONTAINER", "test-storage-container") monkeypatch.setenv("AZURE_SEARCH_INDEX", "test-search-index") monkeypatch.setenv("AZURE_SEARCH_SERVICE", "test-search-service") - monkeypatch.setenv("AZURE_OPENAI_CHATGPT_MODEL", "gpt-4.1-mini") + monkeypatch.setenv("AZURE_OPENAI_CHATGPT_MODEL", "gpt-4.1") monkeypatch.setenv("USE_USER_UPLOAD", "true") monkeypatch.setenv("AZURE_USERSTORAGE_ACCOUNT", "test-userstorage-account") monkeypatch.setenv("AZURE_USERSTORAGE_CONTAINER", "test-userstorage-container") diff --git a/tests/e2e.py b/tests/e2e.py index adb5805e07..b55b771355 100644 --- a/tests/e2e.py +++ b/tests/e2e.py @@ -56,7 +56,7 @@ def run_server(port: int): "AZURE_SPEECH_SERVICE_ID": "test-id", "AZURE_SPEECH_SERVICE_LOCATION": "eastus", "AZURE_OPENAI_SERVICE": "test-openai-service", - "AZURE_OPENAI_CHATGPT_MODEL": "gpt-4.1-mini", + "AZURE_OPENAI_CHATGPT_MODEL": "gpt-4.1", "AZURE_OPENAI_EMB_MODEL_NAME": "text-embedding-3-large", "AZURE_OPENAI_EMB_DIMENSIONS": "3072", }, @@ -84,7 +84,7 @@ def sized_page(page: Page, request): def test_home(page: Page, live_server_url: str): page.goto(live_server_url) - expect(page).to_have_title("Azure OpenAI + AI Search") + expect(page).to_have_title("HeirAid") def test_chat(sized_page: Page, live_server_url: str): @@ -105,7 +105,7 @@ def handle(route: Route): # Check initial page state page.goto(live_server_url) - expect(page).to_have_title("Azure OpenAI + AI Search") + expect(page).to_have_title("HeirAid") expect(page.get_by_role("heading", name="Chat with your data")).to_be_visible() expect(page.get_by_role("button", name="Clear chat")).to_be_disabled() expect(page.get_by_role("button", name="Developer settings")).to_be_enabled() @@ -171,7 +171,7 @@ def handle(route: Route): # Check initial page state page.goto(live_server_url) - expect(page).to_have_title("Azure OpenAI + AI Search") + expect(page).to_have_title("HeirAid") # Customize all the settings page.get_by_role("button", name="Developer settings").click() @@ -245,7 +245,7 @@ def handle_config(route: Route): # Check initial page state page.goto(live_server_url) - expect(page).to_have_title("Azure OpenAI + AI Search") + expect(page).to_have_title("HeirAid") # Customize the GPT-4-vision settings page.get_by_role("button", name="Developer settings").click() @@ -280,7 +280,7 @@ def handle(route: Route): # Check initial page state page.goto(live_server_url) - expect(page).to_have_title("Azure OpenAI + AI Search") + expect(page).to_have_title("HeirAid") expect(page.get_by_role("button", name="Developer settings")).to_be_enabled() page.get_by_role("button", name="Developer settings").click() page.get_by_text("Stream chat completion responses").click() @@ -313,7 +313,7 @@ def handle(route: Route): # Check initial page state page.goto(live_server_url) - expect(page).to_have_title("Azure OpenAI + AI Search") + expect(page).to_have_title("HeirAid") expect(page.get_by_role("button", name="Developer settings")).to_be_enabled() page.get_by_role("button", name="Developer settings").click() page.get_by_text("Suggest follow-up questions").click() @@ -350,7 +350,7 @@ def handle(route: Route): # Check initial page state page.goto(live_server_url) - expect(page).to_have_title("Azure OpenAI + AI Search") + expect(page).to_have_title("HeirAid") expect(page.get_by_role("button", name="Developer settings")).to_be_enabled() page.get_by_role("button", name="Developer settings").click() page.get_by_text("Stream chat completion responses").click() @@ -391,7 +391,7 @@ def handle(route: Route): page.route("*/**/ask", handle) page.goto(live_server_url) - expect(page).to_have_title("Azure OpenAI + AI Search") + expect(page).to_have_title("HeirAid") # The burger menu only exists at smaller viewport sizes if page.get_by_role("button", name="Toggle menu").is_visible(): @@ -432,7 +432,7 @@ def handle_config(route: Route): page.goto(live_server_url) - expect(page).to_have_title("Azure OpenAI + AI Search") + expect(page).to_have_title("HeirAid") expect(page.get_by_role("button", name="Clear chat")).to_be_visible() expect(page.get_by_role("button", name="Manage file uploads")).not_to_be_visible() @@ -464,7 +464,7 @@ def handle_config(route: Route): page.goto(live_server_url) - expect(page).to_have_title("Azure OpenAI + AI Search") + expect(page).to_have_title("HeirAid") expect(page.get_by_role("button", name="Manage file uploads")).to_be_visible() expect(page.get_by_role("button", name="Manage file uploads")).to_be_disabled() diff --git a/tests/snapshots/test_app/test_ask_prompt_template/client0/result.json b/tests/snapshots/test_app/test_ask_prompt_template/client0/result.json index f87c699598..f8c9bc3cb9 100644 --- a/tests/snapshots/test_app/test_ask_prompt_template/client0/result.json +++ b/tests/snapshots/test_app/test_ask_prompt_template/client0/result.json @@ -66,7 +66,7 @@ } ], "props": { - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_ask_prompt_template/client1/result.json b/tests/snapshots/test_app/test_ask_prompt_template/client1/result.json index 2101ea2479..4179b9906d 100644 --- a/tests/snapshots/test_app/test_ask_prompt_template/client1/result.json +++ b/tests/snapshots/test_app/test_ask_prompt_template/client1/result.json @@ -67,7 +67,7 @@ ], "props": { "deployment": "test-chatgpt", - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_ask_prompt_template_concat/client0/result.json b/tests/snapshots/test_app/test_ask_prompt_template_concat/client0/result.json index 747854fb5f..cfadebc465 100644 --- a/tests/snapshots/test_app/test_ask_prompt_template_concat/client0/result.json +++ b/tests/snapshots/test_app/test_ask_prompt_template_concat/client0/result.json @@ -66,7 +66,7 @@ } ], "props": { - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_ask_prompt_template_concat/client1/result.json b/tests/snapshots/test_app/test_ask_prompt_template_concat/client1/result.json index f5eaea9742..e5bca43e1f 100644 --- a/tests/snapshots/test_app/test_ask_prompt_template_concat/client1/result.json +++ b/tests/snapshots/test_app/test_ask_prompt_template_concat/client1/result.json @@ -67,7 +67,7 @@ ], "props": { "deployment": "test-chatgpt", - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_ask_rtr_hybrid/client0/result.json b/tests/snapshots/test_app/test_ask_rtr_hybrid/client0/result.json index c5580e560f..af5c3e55b0 100644 --- a/tests/snapshots/test_app/test_ask_rtr_hybrid/client0/result.json +++ b/tests/snapshots/test_app/test_ask_rtr_hybrid/client0/result.json @@ -66,7 +66,7 @@ } ], "props": { - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_ask_rtr_hybrid/client1/result.json b/tests/snapshots/test_app/test_ask_rtr_hybrid/client1/result.json index 24a3c895e0..dd8a4e5e6e 100644 --- a/tests/snapshots/test_app/test_ask_rtr_hybrid/client1/result.json +++ b/tests/snapshots/test_app/test_ask_rtr_hybrid/client1/result.json @@ -67,7 +67,7 @@ ], "props": { "deployment": "test-chatgpt", - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_ask_rtr_text/client0/result.json b/tests/snapshots/test_app/test_ask_rtr_text/client0/result.json index 36e8a4d4ea..c3a191969f 100644 --- a/tests/snapshots/test_app/test_ask_rtr_text/client0/result.json +++ b/tests/snapshots/test_app/test_ask_rtr_text/client0/result.json @@ -66,7 +66,7 @@ } ], "props": { - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_ask_rtr_text/client1/result.json b/tests/snapshots/test_app/test_ask_rtr_text/client1/result.json index d08007ecf8..291f4b51c0 100644 --- a/tests/snapshots/test_app/test_ask_rtr_text/client1/result.json +++ b/tests/snapshots/test_app/test_ask_rtr_text/client1/result.json @@ -67,7 +67,7 @@ ], "props": { "deployment": "test-chatgpt", - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_ask_rtr_text_agent/agent_client0/result.json b/tests/snapshots/test_app/test_ask_rtr_text_agent/agent_client0/result.json index 86019f5e31..5a096465ae 100644 --- a/tests/snapshots/test_app/test_ask_rtr_text_agent/agent_client0/result.json +++ b/tests/snapshots/test_app/test_ask_rtr_text_agent/agent_client0/result.json @@ -40,8 +40,8 @@ } ], "props": { - "deployment": "gpt-4.1-mini", - "model": "gpt-4.1-mini", + "deployment": "gpt-4.1", + "model": "gpt-4.1", "query_plan": [ { "elapsed_ms": 200, @@ -84,8 +84,8 @@ } ], "props": { - "deployment": "gpt-4.1-mini", - "model": "gpt-4.1-mini", + "deployment": "gpt-4.1", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_ask_rtr_text_agent_filter/agent_auth_client0/result.json b/tests/snapshots/test_app/test_ask_rtr_text_agent_filter/agent_auth_client0/result.json index d997437fed..9fe2bca7ba 100644 --- a/tests/snapshots/test_app/test_ask_rtr_text_agent_filter/agent_auth_client0/result.json +++ b/tests/snapshots/test_app/test_ask_rtr_text_agent_filter/agent_auth_client0/result.json @@ -40,8 +40,8 @@ } ], "props": { - "deployment": "gpt-4.1-mini", - "model": "gpt-4.1-mini", + "deployment": "gpt-4.1", + "model": "gpt-4.1", "query_plan": [ { "elapsed_ms": 200, @@ -84,8 +84,8 @@ } ], "props": { - "deployment": "gpt-4.1-mini", - "model": "gpt-4.1-mini", + "deployment": "gpt-4.1", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_ask_rtr_text_filter/auth_client0/result.json b/tests/snapshots/test_app/test_ask_rtr_text_filter/auth_client0/result.json index 7e36cf601a..e884ea1b81 100644 --- a/tests/snapshots/test_app/test_ask_rtr_text_filter/auth_client0/result.json +++ b/tests/snapshots/test_app/test_ask_rtr_text_filter/auth_client0/result.json @@ -67,7 +67,7 @@ ], "props": { "deployment": "test-chatgpt", - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_ask_rtr_text_filter_public_documents/auth_public_documents_client0/result.json b/tests/snapshots/test_app/test_ask_rtr_text_filter_public_documents/auth_public_documents_client0/result.json index bb68c0c910..2e5787691e 100644 --- a/tests/snapshots/test_app/test_ask_rtr_text_filter_public_documents/auth_public_documents_client0/result.json +++ b/tests/snapshots/test_app/test_ask_rtr_text_filter_public_documents/auth_public_documents_client0/result.json @@ -67,7 +67,7 @@ ], "props": { "deployment": "test-chatgpt", - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_ask_rtr_text_semanticcaptions/client0/result.json b/tests/snapshots/test_app/test_ask_rtr_text_semanticcaptions/client0/result.json index 3899663b89..aadad6d04b 100644 --- a/tests/snapshots/test_app/test_ask_rtr_text_semanticcaptions/client0/result.json +++ b/tests/snapshots/test_app/test_ask_rtr_text_semanticcaptions/client0/result.json @@ -66,7 +66,7 @@ } ], "props": { - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_ask_rtr_text_semanticcaptions/client1/result.json b/tests/snapshots/test_app/test_ask_rtr_text_semanticcaptions/client1/result.json index cc4a73f6ca..cc50c2c230 100644 --- a/tests/snapshots/test_app/test_ask_rtr_text_semanticcaptions/client1/result.json +++ b/tests/snapshots/test_app/test_ask_rtr_text_semanticcaptions/client1/result.json @@ -67,7 +67,7 @@ ], "props": { "deployment": "test-chatgpt", - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_ask_rtr_text_semanticranker/client0/result.json b/tests/snapshots/test_app/test_ask_rtr_text_semanticranker/client0/result.json index 90e819d0b1..a35af8ae95 100644 --- a/tests/snapshots/test_app/test_ask_rtr_text_semanticranker/client0/result.json +++ b/tests/snapshots/test_app/test_ask_rtr_text_semanticranker/client0/result.json @@ -66,7 +66,7 @@ } ], "props": { - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_ask_rtr_text_semanticranker/client1/result.json b/tests/snapshots/test_app/test_ask_rtr_text_semanticranker/client1/result.json index a7961ad07b..22d983c3e6 100644 --- a/tests/snapshots/test_app/test_ask_rtr_text_semanticranker/client1/result.json +++ b/tests/snapshots/test_app/test_ask_rtr_text_semanticranker/client1/result.json @@ -67,7 +67,7 @@ ], "props": { "deployment": "test-chatgpt", - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_ask_vision/client0/result.json b/tests/snapshots/test_app/test_ask_vision/client0/result.json index a20d442559..25ed33265e 100644 --- a/tests/snapshots/test_app/test_ask_vision/client0/result.json +++ b/tests/snapshots/test_app/test_ask_vision/client0/result.json @@ -66,7 +66,7 @@ } ], "props": { - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_chat_followup/client0/result.json b/tests/snapshots/test_app/test_chat_followup/client0/result.json index fe60e20a2f..e87e57d82e 100644 --- a/tests/snapshots/test_app/test_chat_followup/client0/result.json +++ b/tests/snapshots/test_app/test_chat_followup/client0/result.json @@ -38,7 +38,7 @@ } ], "props": { - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, @@ -98,7 +98,7 @@ } ], "props": { - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_chat_followup/client1/result.json b/tests/snapshots/test_app/test_chat_followup/client1/result.json index def88f4948..547500d5f7 100644 --- a/tests/snapshots/test_app/test_chat_followup/client1/result.json +++ b/tests/snapshots/test_app/test_chat_followup/client1/result.json @@ -39,7 +39,7 @@ ], "props": { "deployment": "test-chatgpt", - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, @@ -100,7 +100,7 @@ ], "props": { "deployment": "test-chatgpt", - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_chat_hybrid/client0/result.json b/tests/snapshots/test_app/test_chat_hybrid/client0/result.json index 36b4fc9d62..fa65d63aa1 100644 --- a/tests/snapshots/test_app/test_chat_hybrid/client0/result.json +++ b/tests/snapshots/test_app/test_chat_hybrid/client0/result.json @@ -36,7 +36,7 @@ } ], "props": { - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, @@ -96,7 +96,7 @@ } ], "props": { - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_chat_hybrid/client1/result.json b/tests/snapshots/test_app/test_chat_hybrid/client1/result.json index 2ac2c398c4..18fad3ce1a 100644 --- a/tests/snapshots/test_app/test_chat_hybrid/client1/result.json +++ b/tests/snapshots/test_app/test_chat_hybrid/client1/result.json @@ -37,7 +37,7 @@ ], "props": { "deployment": "test-chatgpt", - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, @@ -98,7 +98,7 @@ ], "props": { "deployment": "test-chatgpt", - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_chat_hybrid_semantic_captions/client0/result.json b/tests/snapshots/test_app/test_chat_hybrid_semantic_captions/client0/result.json index c3ac0d1b04..b9036eeeb0 100644 --- a/tests/snapshots/test_app/test_chat_hybrid_semantic_captions/client0/result.json +++ b/tests/snapshots/test_app/test_chat_hybrid_semantic_captions/client0/result.json @@ -36,7 +36,7 @@ } ], "props": { - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, @@ -96,7 +96,7 @@ } ], "props": { - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_chat_hybrid_semantic_captions/client1/result.json b/tests/snapshots/test_app/test_chat_hybrid_semantic_captions/client1/result.json index dd1eefb405..55821d071a 100644 --- a/tests/snapshots/test_app/test_chat_hybrid_semantic_captions/client1/result.json +++ b/tests/snapshots/test_app/test_chat_hybrid_semantic_captions/client1/result.json @@ -37,7 +37,7 @@ ], "props": { "deployment": "test-chatgpt", - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, @@ -98,7 +98,7 @@ ], "props": { "deployment": "test-chatgpt", - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_chat_hybrid_semantic_ranker/client0/result.json b/tests/snapshots/test_app/test_chat_hybrid_semantic_ranker/client0/result.json index 47d8771efb..f56cce81d8 100644 --- a/tests/snapshots/test_app/test_chat_hybrid_semantic_ranker/client0/result.json +++ b/tests/snapshots/test_app/test_chat_hybrid_semantic_ranker/client0/result.json @@ -36,7 +36,7 @@ } ], "props": { - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, @@ -96,7 +96,7 @@ } ], "props": { - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_chat_hybrid_semantic_ranker/client1/result.json b/tests/snapshots/test_app/test_chat_hybrid_semantic_ranker/client1/result.json index 9d789b4c96..3334ecb06b 100644 --- a/tests/snapshots/test_app/test_chat_hybrid_semantic_ranker/client1/result.json +++ b/tests/snapshots/test_app/test_chat_hybrid_semantic_ranker/client1/result.json @@ -37,7 +37,7 @@ ], "props": { "deployment": "test-chatgpt", - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, @@ -98,7 +98,7 @@ ], "props": { "deployment": "test-chatgpt", - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_chat_prompt_template/client0/result.json b/tests/snapshots/test_app/test_chat_prompt_template/client0/result.json index 8d5813ed6e..d858e26f12 100644 --- a/tests/snapshots/test_app/test_chat_prompt_template/client0/result.json +++ b/tests/snapshots/test_app/test_chat_prompt_template/client0/result.json @@ -36,7 +36,7 @@ } ], "props": { - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, @@ -96,7 +96,7 @@ } ], "props": { - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_chat_prompt_template/client1/result.json b/tests/snapshots/test_app/test_chat_prompt_template/client1/result.json index e04281665b..b27418917e 100644 --- a/tests/snapshots/test_app/test_chat_prompt_template/client1/result.json +++ b/tests/snapshots/test_app/test_chat_prompt_template/client1/result.json @@ -37,7 +37,7 @@ ], "props": { "deployment": "test-chatgpt", - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, @@ -98,7 +98,7 @@ ], "props": { "deployment": "test-chatgpt", - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_chat_prompt_template_concat/client0/result.json b/tests/snapshots/test_app/test_chat_prompt_template_concat/client0/result.json index a2fcf087c6..1c1106e111 100644 --- a/tests/snapshots/test_app/test_chat_prompt_template_concat/client0/result.json +++ b/tests/snapshots/test_app/test_chat_prompt_template_concat/client0/result.json @@ -36,7 +36,7 @@ } ], "props": { - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, @@ -96,7 +96,7 @@ } ], "props": { - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_chat_prompt_template_concat/client1/result.json b/tests/snapshots/test_app/test_chat_prompt_template_concat/client1/result.json index dc72539ca3..31e64efb16 100644 --- a/tests/snapshots/test_app/test_chat_prompt_template_concat/client1/result.json +++ b/tests/snapshots/test_app/test_chat_prompt_template_concat/client1/result.json @@ -37,7 +37,7 @@ ], "props": { "deployment": "test-chatgpt", - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, @@ -98,7 +98,7 @@ ], "props": { "deployment": "test-chatgpt", - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_chat_seed/client0/result.json b/tests/snapshots/test_app/test_chat_seed/client0/result.json index 36b4fc9d62..fa65d63aa1 100644 --- a/tests/snapshots/test_app/test_chat_seed/client0/result.json +++ b/tests/snapshots/test_app/test_chat_seed/client0/result.json @@ -36,7 +36,7 @@ } ], "props": { - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, @@ -96,7 +96,7 @@ } ], "props": { - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_chat_seed/client1/result.json b/tests/snapshots/test_app/test_chat_seed/client1/result.json index 2ac2c398c4..18fad3ce1a 100644 --- a/tests/snapshots/test_app/test_chat_seed/client1/result.json +++ b/tests/snapshots/test_app/test_chat_seed/client1/result.json @@ -37,7 +37,7 @@ ], "props": { "deployment": "test-chatgpt", - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, @@ -98,7 +98,7 @@ ], "props": { "deployment": "test-chatgpt", - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_chat_session_state_persists/client0/result.json b/tests/snapshots/test_app/test_chat_session_state_persists/client0/result.json index 412ba62071..ca7cf885ca 100644 --- a/tests/snapshots/test_app/test_chat_session_state_persists/client0/result.json +++ b/tests/snapshots/test_app/test_chat_session_state_persists/client0/result.json @@ -36,7 +36,7 @@ } ], "props": { - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, @@ -96,7 +96,7 @@ } ], "props": { - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_chat_session_state_persists/client1/result.json b/tests/snapshots/test_app/test_chat_session_state_persists/client1/result.json index fca318bbb7..b9ca134b16 100644 --- a/tests/snapshots/test_app/test_chat_session_state_persists/client1/result.json +++ b/tests/snapshots/test_app/test_chat_session_state_persists/client1/result.json @@ -37,7 +37,7 @@ ], "props": { "deployment": "test-chatgpt", - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, @@ -98,7 +98,7 @@ ], "props": { "deployment": "test-chatgpt", - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_chat_stream_followup/client0/result.jsonlines b/tests/snapshots/test_app/test_chat_stream_followup/client0/result.jsonlines index b2362b3e58..d9cc34fabc 100644 --- a/tests/snapshots/test_app/test_chat_stream_followup/client0/result.jsonlines +++ b/tests/snapshots/test_app/test_chat_stream_followup/client0/result.jsonlines @@ -1,5 +1,5 @@ -{"delta": {"role": "assistant"}, "context": {"data_points": {"text": ["Benefit_Options-2.pdf: There is a whistleblower policy."], "images": null}, "thoughts": [{"title": "Prompt to generate search query", "description": [{"role": "system", "content": "Below is a history of the conversation so far, and a new question asked by the user that needs to be answered by searching in a knowledge base.\nYou have access to Azure AI Search index with 100's of documents.\nGenerate a search query based on the conversation and the new question.\nDo not include cited source filenames and document names e.g. info.txt or doc.pdf in the search query terms.\nDo not include any text inside [] or <<>> in the search query terms.\nDo not include any special characters like '+'.\nIf the question is not in English, translate the question to English before generating the search query.\nIf you cannot generate a search query, return just the number 0."}, {"role": "user", "content": "How did crypto do last year?"}, {"role": "assistant", "content": "Summarize Cryptocurrency Market Dynamics from last year"}, {"role": "user", "content": "What are my health plans?"}, {"role": "assistant", "content": "Show available health plans"}, {"role": "user", "content": "Generate search query for: What is the capital of France?"}], "props": {"model": "gpt-4.1-mini", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}, {"title": "Search using generated search query", "description": "capital of France", "props": {"use_semantic_captions": false, "use_semantic_ranker": false, "use_query_rewriting": false, "top": 3, "filter": null, "use_vector_search": true, "use_text_search": true}}, {"title": "Search results", "description": [{"id": "file-Benefit_Options_pdf-42656E656669745F4F7074696F6E732E706466-page-2", "content": "There is a whistleblower policy.", "category": null, "sourcepage": "Benefit_Options-2.pdf", "sourcefile": "Benefit_Options.pdf", "oids": null, "groups": null, "captions": [{"additional_properties": {}, "text": "Caption: A whistleblower policy.", "highlights": []}], "score": 0.03279569745063782, "reranker_score": 3.4577205181121826, "search_agent_query": null}], "props": null}, {"title": "Prompt to generate answer", "description": [{"role": "system", "content": "Assistant helps the company employees with their healthcare plan questions, and questions about the employee handbook. Be brief in your answers.\nAnswer ONLY with the facts listed in the list of sources below. If there isn't enough information below, say you don't know. Do not generate answers that don't use the sources below. If asking a clarifying question to the user would help, ask the question.\nIf the question is not in English, answer in the language used in the question.\nEach source has a name followed by colon and the actual information, always include the source name for each fact you use in the response. Use square brackets to reference the source, for example [info1.txt]. Don't combine sources, list each source separately, for example [info1.txt][info2.pdf].\n\n\n\n\nGenerate 3 very brief follow-up questions that the user would likely ask next.\nEnclose the follow-up questions in double angle brackets. Example:\n<>\n<>\n<>\nDo not repeat questions that have already been asked.\nMake sure the last question ends with \">>\"."}, {"role": "user", "content": "What is the capital of France?\n\nSources:\n\nBenefit_Options-2.pdf: There is a whistleblower policy."}], "props": {"model": "gpt-4.1-mini"}}], "followup_questions": null}, "session_state": null} +{"delta": {"role": "assistant"}, "context": {"data_points": {"text": ["Benefit_Options-2.pdf: There is a whistleblower policy."], "images": null}, "thoughts": [{"title": "Prompt to generate search query", "description": [{"role": "system", "content": "Below is a history of the conversation so far, and a new question asked by the user that needs to be answered by searching in a knowledge base.\nYou have access to Azure AI Search index with 100's of documents.\nGenerate a search query based on the conversation and the new question.\nDo not include cited source filenames and document names e.g. info.txt or doc.pdf in the search query terms.\nDo not include any text inside [] or <<>> in the search query terms.\nDo not include any special characters like '+'.\nIf the question is not in English, translate the question to English before generating the search query.\nIf you cannot generate a search query, return just the number 0."}, {"role": "user", "content": "How did crypto do last year?"}, {"role": "assistant", "content": "Summarize Cryptocurrency Market Dynamics from last year"}, {"role": "user", "content": "What are my health plans?"}, {"role": "assistant", "content": "Show available health plans"}, {"role": "user", "content": "Generate search query for: What is the capital of France?"}], "props": {"model": "gpt-4.1", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}, {"title": "Search using generated search query", "description": "capital of France", "props": {"use_semantic_captions": false, "use_semantic_ranker": false, "use_query_rewriting": false, "top": 3, "filter": null, "use_vector_search": true, "use_text_search": true}}, {"title": "Search results", "description": [{"id": "file-Benefit_Options_pdf-42656E656669745F4F7074696F6E732E706466-page-2", "content": "There is a whistleblower policy.", "category": null, "sourcepage": "Benefit_Options-2.pdf", "sourcefile": "Benefit_Options.pdf", "oids": null, "groups": null, "captions": [{"additional_properties": {}, "text": "Caption: A whistleblower policy.", "highlights": []}], "score": 0.03279569745063782, "reranker_score": 3.4577205181121826, "search_agent_query": null}], "props": null}, {"title": "Prompt to generate answer", "description": [{"role": "system", "content": "Assistant helps the company employees with their healthcare plan questions, and questions about the employee handbook. Be brief in your answers.\nAnswer ONLY with the facts listed in the list of sources below. If there isn't enough information below, say you don't know. Do not generate answers that don't use the sources below. If asking a clarifying question to the user would help, ask the question.\nIf the question is not in English, answer in the language used in the question.\nEach source has a name followed by colon and the actual information, always include the source name for each fact you use in the response. Use square brackets to reference the source, for example [info1.txt]. Don't combine sources, list each source separately, for example [info1.txt][info2.pdf].\n\n\n\n\nGenerate 3 very brief follow-up questions that the user would likely ask next.\nEnclose the follow-up questions in double angle brackets. Example:\n<>\n<>\n<>\nDo not repeat questions that have already been asked.\nMake sure the last question ends with \">>\"."}, {"role": "user", "content": "What is the capital of France?\n\nSources:\n\nBenefit_Options-2.pdf: There is a whistleblower policy."}], "props": {"model": "gpt-4.1"}}], "followup_questions": null}, "session_state": null} {"delta": {"content": null, "role": "assistant"}} {"delta": {"content": "The capital of France is Paris. [Benefit_Options-2.pdf]. ", "role": "assistant"}} -{"delta": {"role": "assistant"}, "context": {"data_points": {"text": ["Benefit_Options-2.pdf: There is a whistleblower policy."], "images": null}, "thoughts": [{"title": "Prompt to generate search query", "description": [{"role": "system", "content": "Below is a history of the conversation so far, and a new question asked by the user that needs to be answered by searching in a knowledge base.\nYou have access to Azure AI Search index with 100's of documents.\nGenerate a search query based on the conversation and the new question.\nDo not include cited source filenames and document names e.g. info.txt or doc.pdf in the search query terms.\nDo not include any text inside [] or <<>> in the search query terms.\nDo not include any special characters like '+'.\nIf the question is not in English, translate the question to English before generating the search query.\nIf you cannot generate a search query, return just the number 0."}, {"role": "user", "content": "How did crypto do last year?"}, {"role": "assistant", "content": "Summarize Cryptocurrency Market Dynamics from last year"}, {"role": "user", "content": "What are my health plans?"}, {"role": "assistant", "content": "Show available health plans"}, {"role": "user", "content": "Generate search query for: What is the capital of France?"}], "props": {"model": "gpt-4.1-mini", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}, {"title": "Search using generated search query", "description": "capital of France", "props": {"use_semantic_captions": false, "use_semantic_ranker": false, "use_query_rewriting": false, "top": 3, "filter": null, "use_vector_search": true, "use_text_search": true}}, {"title": "Search results", "description": [{"id": "file-Benefit_Options_pdf-42656E656669745F4F7074696F6E732E706466-page-2", "content": "There is a whistleblower policy.", "category": null, "sourcepage": "Benefit_Options-2.pdf", "sourcefile": "Benefit_Options.pdf", "oids": null, "groups": null, "captions": [{"additional_properties": {}, "text": "Caption: A whistleblower policy.", "highlights": []}], "score": 0.03279569745063782, "reranker_score": 3.4577205181121826, "search_agent_query": null}], "props": null}, {"title": "Prompt to generate answer", "description": [{"role": "system", "content": "Assistant helps the company employees with their healthcare plan questions, and questions about the employee handbook. Be brief in your answers.\nAnswer ONLY with the facts listed in the list of sources below. If there isn't enough information below, say you don't know. Do not generate answers that don't use the sources below. If asking a clarifying question to the user would help, ask the question.\nIf the question is not in English, answer in the language used in the question.\nEach source has a name followed by colon and the actual information, always include the source name for each fact you use in the response. Use square brackets to reference the source, for example [info1.txt]. Don't combine sources, list each source separately, for example [info1.txt][info2.pdf].\n\n\n\n\nGenerate 3 very brief follow-up questions that the user would likely ask next.\nEnclose the follow-up questions in double angle brackets. Example:\n<>\n<>\n<>\nDo not repeat questions that have already been asked.\nMake sure the last question ends with \">>\"."}, {"role": "user", "content": "What is the capital of France?\n\nSources:\n\nBenefit_Options-2.pdf: There is a whistleblower policy."}], "props": {"model": "gpt-4.1-mini", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}], "followup_questions": null}, "session_state": null} -{"delta": {"role": "assistant"}, "context": {"context": {"data_points": {"text": ["Benefit_Options-2.pdf: There is a whistleblower policy."], "images": null}, "thoughts": [{"title": "Prompt to generate search query", "description": [{"role": "system", "content": "Below is a history of the conversation so far, and a new question asked by the user that needs to be answered by searching in a knowledge base.\nYou have access to Azure AI Search index with 100's of documents.\nGenerate a search query based on the conversation and the new question.\nDo not include cited source filenames and document names e.g. info.txt or doc.pdf in the search query terms.\nDo not include any text inside [] or <<>> in the search query terms.\nDo not include any special characters like '+'.\nIf the question is not in English, translate the question to English before generating the search query.\nIf you cannot generate a search query, return just the number 0."}, {"role": "user", "content": "How did crypto do last year?"}, {"role": "assistant", "content": "Summarize Cryptocurrency Market Dynamics from last year"}, {"role": "user", "content": "What are my health plans?"}, {"role": "assistant", "content": "Show available health plans"}, {"role": "user", "content": "Generate search query for: What is the capital of France?"}], "props": {"model": "gpt-4.1-mini", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}, {"title": "Search using generated search query", "description": "capital of France", "props": {"use_semantic_captions": false, "use_semantic_ranker": false, "use_query_rewriting": false, "top": 3, "filter": null, "use_vector_search": true, "use_text_search": true}}, {"title": "Search results", "description": [{"id": "file-Benefit_Options_pdf-42656E656669745F4F7074696F6E732E706466-page-2", "content": "There is a whistleblower policy.", "category": null, "sourcepage": "Benefit_Options-2.pdf", "sourcefile": "Benefit_Options.pdf", "oids": null, "groups": null, "captions": [{"additional_properties": {}, "text": "Caption: A whistleblower policy.", "highlights": []}], "score": 0.03279569745063782, "reranker_score": 3.4577205181121826, "search_agent_query": null}], "props": null}, {"title": "Prompt to generate answer", "description": [{"role": "system", "content": "Assistant helps the company employees with their healthcare plan questions, and questions about the employee handbook. Be brief in your answers.\nAnswer ONLY with the facts listed in the list of sources below. If there isn't enough information below, say you don't know. Do not generate answers that don't use the sources below. If asking a clarifying question to the user would help, ask the question.\nIf the question is not in English, answer in the language used in the question.\nEach source has a name followed by colon and the actual information, always include the source name for each fact you use in the response. Use square brackets to reference the source, for example [info1.txt]. Don't combine sources, list each source separately, for example [info1.txt][info2.pdf].\n\n\n\n\nGenerate 3 very brief follow-up questions that the user would likely ask next.\nEnclose the follow-up questions in double angle brackets. Example:\n<>\n<>\n<>\nDo not repeat questions that have already been asked.\nMake sure the last question ends with \">>\"."}, {"role": "user", "content": "What is the capital of France?\n\nSources:\n\nBenefit_Options-2.pdf: There is a whistleblower policy."}], "props": {"model": "gpt-4.1-mini", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}], "followup_questions": null}, "followup_questions": ["What is the capital of Spain?"]}} +{"delta": {"role": "assistant"}, "context": {"data_points": {"text": ["Benefit_Options-2.pdf: There is a whistleblower policy."], "images": null}, "thoughts": [{"title": "Prompt to generate search query", "description": [{"role": "system", "content": "Below is a history of the conversation so far, and a new question asked by the user that needs to be answered by searching in a knowledge base.\nYou have access to Azure AI Search index with 100's of documents.\nGenerate a search query based on the conversation and the new question.\nDo not include cited source filenames and document names e.g. info.txt or doc.pdf in the search query terms.\nDo not include any text inside [] or <<>> in the search query terms.\nDo not include any special characters like '+'.\nIf the question is not in English, translate the question to English before generating the search query.\nIf you cannot generate a search query, return just the number 0."}, {"role": "user", "content": "How did crypto do last year?"}, {"role": "assistant", "content": "Summarize Cryptocurrency Market Dynamics from last year"}, {"role": "user", "content": "What are my health plans?"}, {"role": "assistant", "content": "Show available health plans"}, {"role": "user", "content": "Generate search query for: What is the capital of France?"}], "props": {"model": "gpt-4.1", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}, {"title": "Search using generated search query", "description": "capital of France", "props": {"use_semantic_captions": false, "use_semantic_ranker": false, "use_query_rewriting": false, "top": 3, "filter": null, "use_vector_search": true, "use_text_search": true}}, {"title": "Search results", "description": [{"id": "file-Benefit_Options_pdf-42656E656669745F4F7074696F6E732E706466-page-2", "content": "There is a whistleblower policy.", "category": null, "sourcepage": "Benefit_Options-2.pdf", "sourcefile": "Benefit_Options.pdf", "oids": null, "groups": null, "captions": [{"additional_properties": {}, "text": "Caption: A whistleblower policy.", "highlights": []}], "score": 0.03279569745063782, "reranker_score": 3.4577205181121826, "search_agent_query": null}], "props": null}, {"title": "Prompt to generate answer", "description": [{"role": "system", "content": "Assistant helps the company employees with their healthcare plan questions, and questions about the employee handbook. Be brief in your answers.\nAnswer ONLY with the facts listed in the list of sources below. If there isn't enough information below, say you don't know. Do not generate answers that don't use the sources below. If asking a clarifying question to the user would help, ask the question.\nIf the question is not in English, answer in the language used in the question.\nEach source has a name followed by colon and the actual information, always include the source name for each fact you use in the response. Use square brackets to reference the source, for example [info1.txt]. Don't combine sources, list each source separately, for example [info1.txt][info2.pdf].\n\n\n\n\nGenerate 3 very brief follow-up questions that the user would likely ask next.\nEnclose the follow-up questions in double angle brackets. Example:\n<>\n<>\n<>\nDo not repeat questions that have already been asked.\nMake sure the last question ends with \">>\"."}, {"role": "user", "content": "What is the capital of France?\n\nSources:\n\nBenefit_Options-2.pdf: There is a whistleblower policy."}], "props": {"model": "gpt-4.1", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}], "followup_questions": null}, "session_state": null} +{"delta": {"role": "assistant"}, "context": {"context": {"data_points": {"text": ["Benefit_Options-2.pdf: There is a whistleblower policy."], "images": null}, "thoughts": [{"title": "Prompt to generate search query", "description": [{"role": "system", "content": "Below is a history of the conversation so far, and a new question asked by the user that needs to be answered by searching in a knowledge base.\nYou have access to Azure AI Search index with 100's of documents.\nGenerate a search query based on the conversation and the new question.\nDo not include cited source filenames and document names e.g. info.txt or doc.pdf in the search query terms.\nDo not include any text inside [] or <<>> in the search query terms.\nDo not include any special characters like '+'.\nIf the question is not in English, translate the question to English before generating the search query.\nIf you cannot generate a search query, return just the number 0."}, {"role": "user", "content": "How did crypto do last year?"}, {"role": "assistant", "content": "Summarize Cryptocurrency Market Dynamics from last year"}, {"role": "user", "content": "What are my health plans?"}, {"role": "assistant", "content": "Show available health plans"}, {"role": "user", "content": "Generate search query for: What is the capital of France?"}], "props": {"model": "gpt-4.1", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}, {"title": "Search using generated search query", "description": "capital of France", "props": {"use_semantic_captions": false, "use_semantic_ranker": false, "use_query_rewriting": false, "top": 3, "filter": null, "use_vector_search": true, "use_text_search": true}}, {"title": "Search results", "description": [{"id": "file-Benefit_Options_pdf-42656E656669745F4F7074696F6E732E706466-page-2", "content": "There is a whistleblower policy.", "category": null, "sourcepage": "Benefit_Options-2.pdf", "sourcefile": "Benefit_Options.pdf", "oids": null, "groups": null, "captions": [{"additional_properties": {}, "text": "Caption: A whistleblower policy.", "highlights": []}], "score": 0.03279569745063782, "reranker_score": 3.4577205181121826, "search_agent_query": null}], "props": null}, {"title": "Prompt to generate answer", "description": [{"role": "system", "content": "Assistant helps the company employees with their healthcare plan questions, and questions about the employee handbook. Be brief in your answers.\nAnswer ONLY with the facts listed in the list of sources below. If there isn't enough information below, say you don't know. Do not generate answers that don't use the sources below. If asking a clarifying question to the user would help, ask the question.\nIf the question is not in English, answer in the language used in the question.\nEach source has a name followed by colon and the actual information, always include the source name for each fact you use in the response. Use square brackets to reference the source, for example [info1.txt]. Don't combine sources, list each source separately, for example [info1.txt][info2.pdf].\n\n\n\n\nGenerate 3 very brief follow-up questions that the user would likely ask next.\nEnclose the follow-up questions in double angle brackets. Example:\n<>\n<>\n<>\nDo not repeat questions that have already been asked.\nMake sure the last question ends with \">>\"."}, {"role": "user", "content": "What is the capital of France?\n\nSources:\n\nBenefit_Options-2.pdf: There is a whistleblower policy."}], "props": {"model": "gpt-4.1", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}], "followup_questions": null}, "followup_questions": ["What is the capital of Spain?"]}} diff --git a/tests/snapshots/test_app/test_chat_stream_followup/client1/result.jsonlines b/tests/snapshots/test_app/test_chat_stream_followup/client1/result.jsonlines index 67e4b109db..f77f07f2ae 100644 --- a/tests/snapshots/test_app/test_chat_stream_followup/client1/result.jsonlines +++ b/tests/snapshots/test_app/test_chat_stream_followup/client1/result.jsonlines @@ -1,5 +1,5 @@ -{"delta": {"role": "assistant"}, "context": {"data_points": {"text": ["Benefit_Options-2.pdf: There is a whistleblower policy."], "images": null}, "thoughts": [{"title": "Prompt to generate search query", "description": [{"role": "system", "content": "Below is a history of the conversation so far, and a new question asked by the user that needs to be answered by searching in a knowledge base.\nYou have access to Azure AI Search index with 100's of documents.\nGenerate a search query based on the conversation and the new question.\nDo not include cited source filenames and document names e.g. info.txt or doc.pdf in the search query terms.\nDo not include any text inside [] or <<>> in the search query terms.\nDo not include any special characters like '+'.\nIf the question is not in English, translate the question to English before generating the search query.\nIf you cannot generate a search query, return just the number 0."}, {"role": "user", "content": "How did crypto do last year?"}, {"role": "assistant", "content": "Summarize Cryptocurrency Market Dynamics from last year"}, {"role": "user", "content": "What are my health plans?"}, {"role": "assistant", "content": "Show available health plans"}, {"role": "user", "content": "Generate search query for: What is the capital of France?"}], "props": {"model": "gpt-4.1-mini", "deployment": "test-chatgpt", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}, {"title": "Search using generated search query", "description": "capital of France", "props": {"use_semantic_captions": false, "use_semantic_ranker": false, "use_query_rewriting": false, "top": 3, "filter": null, "use_vector_search": true, "use_text_search": true}}, {"title": "Search results", "description": [{"id": "file-Benefit_Options_pdf-42656E656669745F4F7074696F6E732E706466-page-2", "content": "There is a whistleblower policy.", "category": null, "sourcepage": "Benefit_Options-2.pdf", "sourcefile": "Benefit_Options.pdf", "oids": null, "groups": null, "captions": [{"additional_properties": {}, "text": "Caption: A whistleblower policy.", "highlights": []}], "score": 0.03279569745063782, "reranker_score": 3.4577205181121826, "search_agent_query": null}], "props": null}, {"title": "Prompt to generate answer", "description": [{"role": "system", "content": "Assistant helps the company employees with their healthcare plan questions, and questions about the employee handbook. Be brief in your answers.\nAnswer ONLY with the facts listed in the list of sources below. If there isn't enough information below, say you don't know. Do not generate answers that don't use the sources below. If asking a clarifying question to the user would help, ask the question.\nIf the question is not in English, answer in the language used in the question.\nEach source has a name followed by colon and the actual information, always include the source name for each fact you use in the response. Use square brackets to reference the source, for example [info1.txt]. Don't combine sources, list each source separately, for example [info1.txt][info2.pdf].\n\n\n\n\nGenerate 3 very brief follow-up questions that the user would likely ask next.\nEnclose the follow-up questions in double angle brackets. Example:\n<>\n<>\n<>\nDo not repeat questions that have already been asked.\nMake sure the last question ends with \">>\"."}, {"role": "user", "content": "What is the capital of France?\n\nSources:\n\nBenefit_Options-2.pdf: There is a whistleblower policy."}], "props": {"model": "gpt-4.1-mini", "deployment": "test-chatgpt"}}], "followup_questions": null}, "session_state": null} +{"delta": {"role": "assistant"}, "context": {"data_points": {"text": ["Benefit_Options-2.pdf: There is a whistleblower policy."], "images": null}, "thoughts": [{"title": "Prompt to generate search query", "description": [{"role": "system", "content": "Below is a history of the conversation so far, and a new question asked by the user that needs to be answered by searching in a knowledge base.\nYou have access to Azure AI Search index with 100's of documents.\nGenerate a search query based on the conversation and the new question.\nDo not include cited source filenames and document names e.g. info.txt or doc.pdf in the search query terms.\nDo not include any text inside [] or <<>> in the search query terms.\nDo not include any special characters like '+'.\nIf the question is not in English, translate the question to English before generating the search query.\nIf you cannot generate a search query, return just the number 0."}, {"role": "user", "content": "How did crypto do last year?"}, {"role": "assistant", "content": "Summarize Cryptocurrency Market Dynamics from last year"}, {"role": "user", "content": "What are my health plans?"}, {"role": "assistant", "content": "Show available health plans"}, {"role": "user", "content": "Generate search query for: What is the capital of France?"}], "props": {"model": "gpt-4.1", "deployment": "test-chatgpt", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}, {"title": "Search using generated search query", "description": "capital of France", "props": {"use_semantic_captions": false, "use_semantic_ranker": false, "use_query_rewriting": false, "top": 3, "filter": null, "use_vector_search": true, "use_text_search": true}}, {"title": "Search results", "description": [{"id": "file-Benefit_Options_pdf-42656E656669745F4F7074696F6E732E706466-page-2", "content": "There is a whistleblower policy.", "category": null, "sourcepage": "Benefit_Options-2.pdf", "sourcefile": "Benefit_Options.pdf", "oids": null, "groups": null, "captions": [{"additional_properties": {}, "text": "Caption: A whistleblower policy.", "highlights": []}], "score": 0.03279569745063782, "reranker_score": 3.4577205181121826, "search_agent_query": null}], "props": null}, {"title": "Prompt to generate answer", "description": [{"role": "system", "content": "Assistant helps the company employees with their healthcare plan questions, and questions about the employee handbook. Be brief in your answers.\nAnswer ONLY with the facts listed in the list of sources below. If there isn't enough information below, say you don't know. Do not generate answers that don't use the sources below. If asking a clarifying question to the user would help, ask the question.\nIf the question is not in English, answer in the language used in the question.\nEach source has a name followed by colon and the actual information, always include the source name for each fact you use in the response. Use square brackets to reference the source, for example [info1.txt]. Don't combine sources, list each source separately, for example [info1.txt][info2.pdf].\n\n\n\n\nGenerate 3 very brief follow-up questions that the user would likely ask next.\nEnclose the follow-up questions in double angle brackets. Example:\n<>\n<>\n<>\nDo not repeat questions that have already been asked.\nMake sure the last question ends with \">>\"."}, {"role": "user", "content": "What is the capital of France?\n\nSources:\n\nBenefit_Options-2.pdf: There is a whistleblower policy."}], "props": {"model": "gpt-4.1", "deployment": "test-chatgpt"}}], "followup_questions": null}, "session_state": null} {"delta": {"content": null, "role": "assistant"}} {"delta": {"content": "The capital of France is Paris. [Benefit_Options-2.pdf]. ", "role": "assistant"}} -{"delta": {"role": "assistant"}, "context": {"data_points": {"text": ["Benefit_Options-2.pdf: There is a whistleblower policy."], "images": null}, "thoughts": [{"title": "Prompt to generate search query", "description": [{"role": "system", "content": "Below is a history of the conversation so far, and a new question asked by the user that needs to be answered by searching in a knowledge base.\nYou have access to Azure AI Search index with 100's of documents.\nGenerate a search query based on the conversation and the new question.\nDo not include cited source filenames and document names e.g. info.txt or doc.pdf in the search query terms.\nDo not include any text inside [] or <<>> in the search query terms.\nDo not include any special characters like '+'.\nIf the question is not in English, translate the question to English before generating the search query.\nIf you cannot generate a search query, return just the number 0."}, {"role": "user", "content": "How did crypto do last year?"}, {"role": "assistant", "content": "Summarize Cryptocurrency Market Dynamics from last year"}, {"role": "user", "content": "What are my health plans?"}, {"role": "assistant", "content": "Show available health plans"}, {"role": "user", "content": "Generate search query for: What is the capital of France?"}], "props": {"model": "gpt-4.1-mini", "deployment": "test-chatgpt", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}, {"title": "Search using generated search query", "description": "capital of France", "props": {"use_semantic_captions": false, "use_semantic_ranker": false, "use_query_rewriting": false, "top": 3, "filter": null, "use_vector_search": true, "use_text_search": true}}, {"title": "Search results", "description": [{"id": "file-Benefit_Options_pdf-42656E656669745F4F7074696F6E732E706466-page-2", "content": "There is a whistleblower policy.", "category": null, "sourcepage": "Benefit_Options-2.pdf", "sourcefile": "Benefit_Options.pdf", "oids": null, "groups": null, "captions": [{"additional_properties": {}, "text": "Caption: A whistleblower policy.", "highlights": []}], "score": 0.03279569745063782, "reranker_score": 3.4577205181121826, "search_agent_query": null}], "props": null}, {"title": "Prompt to generate answer", "description": [{"role": "system", "content": "Assistant helps the company employees with their healthcare plan questions, and questions about the employee handbook. Be brief in your answers.\nAnswer ONLY with the facts listed in the list of sources below. If there isn't enough information below, say you don't know. Do not generate answers that don't use the sources below. If asking a clarifying question to the user would help, ask the question.\nIf the question is not in English, answer in the language used in the question.\nEach source has a name followed by colon and the actual information, always include the source name for each fact you use in the response. Use square brackets to reference the source, for example [info1.txt]. Don't combine sources, list each source separately, for example [info1.txt][info2.pdf].\n\n\n\n\nGenerate 3 very brief follow-up questions that the user would likely ask next.\nEnclose the follow-up questions in double angle brackets. Example:\n<>\n<>\n<>\nDo not repeat questions that have already been asked.\nMake sure the last question ends with \">>\"."}, {"role": "user", "content": "What is the capital of France?\n\nSources:\n\nBenefit_Options-2.pdf: There is a whistleblower policy."}], "props": {"model": "gpt-4.1-mini", "deployment": "test-chatgpt", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}], "followup_questions": null}, "session_state": null} -{"delta": {"role": "assistant"}, "context": {"context": {"data_points": {"text": ["Benefit_Options-2.pdf: There is a whistleblower policy."], "images": null}, "thoughts": [{"title": "Prompt to generate search query", "description": [{"role": "system", "content": "Below is a history of the conversation so far, and a new question asked by the user that needs to be answered by searching in a knowledge base.\nYou have access to Azure AI Search index with 100's of documents.\nGenerate a search query based on the conversation and the new question.\nDo not include cited source filenames and document names e.g. info.txt or doc.pdf in the search query terms.\nDo not include any text inside [] or <<>> in the search query terms.\nDo not include any special characters like '+'.\nIf the question is not in English, translate the question to English before generating the search query.\nIf you cannot generate a search query, return just the number 0."}, {"role": "user", "content": "How did crypto do last year?"}, {"role": "assistant", "content": "Summarize Cryptocurrency Market Dynamics from last year"}, {"role": "user", "content": "What are my health plans?"}, {"role": "assistant", "content": "Show available health plans"}, {"role": "user", "content": "Generate search query for: What is the capital of France?"}], "props": {"model": "gpt-4.1-mini", "deployment": "test-chatgpt", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}, {"title": "Search using generated search query", "description": "capital of France", "props": {"use_semantic_captions": false, "use_semantic_ranker": false, "use_query_rewriting": false, "top": 3, "filter": null, "use_vector_search": true, "use_text_search": true}}, {"title": "Search results", "description": [{"id": "file-Benefit_Options_pdf-42656E656669745F4F7074696F6E732E706466-page-2", "content": "There is a whistleblower policy.", "category": null, "sourcepage": "Benefit_Options-2.pdf", "sourcefile": "Benefit_Options.pdf", "oids": null, "groups": null, "captions": [{"additional_properties": {}, "text": "Caption: A whistleblower policy.", "highlights": []}], "score": 0.03279569745063782, "reranker_score": 3.4577205181121826, "search_agent_query": null}], "props": null}, {"title": "Prompt to generate answer", "description": [{"role": "system", "content": "Assistant helps the company employees with their healthcare plan questions, and questions about the employee handbook. Be brief in your answers.\nAnswer ONLY with the facts listed in the list of sources below. If there isn't enough information below, say you don't know. Do not generate answers that don't use the sources below. If asking a clarifying question to the user would help, ask the question.\nIf the question is not in English, answer in the language used in the question.\nEach source has a name followed by colon and the actual information, always include the source name for each fact you use in the response. Use square brackets to reference the source, for example [info1.txt]. Don't combine sources, list each source separately, for example [info1.txt][info2.pdf].\n\n\n\n\nGenerate 3 very brief follow-up questions that the user would likely ask next.\nEnclose the follow-up questions in double angle brackets. Example:\n<>\n<>\n<>\nDo not repeat questions that have already been asked.\nMake sure the last question ends with \">>\"."}, {"role": "user", "content": "What is the capital of France?\n\nSources:\n\nBenefit_Options-2.pdf: There is a whistleblower policy."}], "props": {"model": "gpt-4.1-mini", "deployment": "test-chatgpt", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}], "followup_questions": null}, "followup_questions": ["What is the capital of Spain?"]}} +{"delta": {"role": "assistant"}, "context": {"data_points": {"text": ["Benefit_Options-2.pdf: There is a whistleblower policy."], "images": null}, "thoughts": [{"title": "Prompt to generate search query", "description": [{"role": "system", "content": "Below is a history of the conversation so far, and a new question asked by the user that needs to be answered by searching in a knowledge base.\nYou have access to Azure AI Search index with 100's of documents.\nGenerate a search query based on the conversation and the new question.\nDo not include cited source filenames and document names e.g. info.txt or doc.pdf in the search query terms.\nDo not include any text inside [] or <<>> in the search query terms.\nDo not include any special characters like '+'.\nIf the question is not in English, translate the question to English before generating the search query.\nIf you cannot generate a search query, return just the number 0."}, {"role": "user", "content": "How did crypto do last year?"}, {"role": "assistant", "content": "Summarize Cryptocurrency Market Dynamics from last year"}, {"role": "user", "content": "What are my health plans?"}, {"role": "assistant", "content": "Show available health plans"}, {"role": "user", "content": "Generate search query for: What is the capital of France?"}], "props": {"model": "gpt-4.1", "deployment": "test-chatgpt", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}, {"title": "Search using generated search query", "description": "capital of France", "props": {"use_semantic_captions": false, "use_semantic_ranker": false, "use_query_rewriting": false, "top": 3, "filter": null, "use_vector_search": true, "use_text_search": true}}, {"title": "Search results", "description": [{"id": "file-Benefit_Options_pdf-42656E656669745F4F7074696F6E732E706466-page-2", "content": "There is a whistleblower policy.", "category": null, "sourcepage": "Benefit_Options-2.pdf", "sourcefile": "Benefit_Options.pdf", "oids": null, "groups": null, "captions": [{"additional_properties": {}, "text": "Caption: A whistleblower policy.", "highlights": []}], "score": 0.03279569745063782, "reranker_score": 3.4577205181121826, "search_agent_query": null}], "props": null}, {"title": "Prompt to generate answer", "description": [{"role": "system", "content": "Assistant helps the company employees with their healthcare plan questions, and questions about the employee handbook. Be brief in your answers.\nAnswer ONLY with the facts listed in the list of sources below. If there isn't enough information below, say you don't know. Do not generate answers that don't use the sources below. If asking a clarifying question to the user would help, ask the question.\nIf the question is not in English, answer in the language used in the question.\nEach source has a name followed by colon and the actual information, always include the source name for each fact you use in the response. Use square brackets to reference the source, for example [info1.txt]. Don't combine sources, list each source separately, for example [info1.txt][info2.pdf].\n\n\n\n\nGenerate 3 very brief follow-up questions that the user would likely ask next.\nEnclose the follow-up questions in double angle brackets. Example:\n<>\n<>\n<>\nDo not repeat questions that have already been asked.\nMake sure the last question ends with \">>\"."}, {"role": "user", "content": "What is the capital of France?\n\nSources:\n\nBenefit_Options-2.pdf: There is a whistleblower policy."}], "props": {"model": "gpt-4.1", "deployment": "test-chatgpt", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}], "followup_questions": null}, "session_state": null} +{"delta": {"role": "assistant"}, "context": {"context": {"data_points": {"text": ["Benefit_Options-2.pdf: There is a whistleblower policy."], "images": null}, "thoughts": [{"title": "Prompt to generate search query", "description": [{"role": "system", "content": "Below is a history of the conversation so far, and a new question asked by the user that needs to be answered by searching in a knowledge base.\nYou have access to Azure AI Search index with 100's of documents.\nGenerate a search query based on the conversation and the new question.\nDo not include cited source filenames and document names e.g. info.txt or doc.pdf in the search query terms.\nDo not include any text inside [] or <<>> in the search query terms.\nDo not include any special characters like '+'.\nIf the question is not in English, translate the question to English before generating the search query.\nIf you cannot generate a search query, return just the number 0."}, {"role": "user", "content": "How did crypto do last year?"}, {"role": "assistant", "content": "Summarize Cryptocurrency Market Dynamics from last year"}, {"role": "user", "content": "What are my health plans?"}, {"role": "assistant", "content": "Show available health plans"}, {"role": "user", "content": "Generate search query for: What is the capital of France?"}], "props": {"model": "gpt-4.1", "deployment": "test-chatgpt", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}, {"title": "Search using generated search query", "description": "capital of France", "props": {"use_semantic_captions": false, "use_semantic_ranker": false, "use_query_rewriting": false, "top": 3, "filter": null, "use_vector_search": true, "use_text_search": true}}, {"title": "Search results", "description": [{"id": "file-Benefit_Options_pdf-42656E656669745F4F7074696F6E732E706466-page-2", "content": "There is a whistleblower policy.", "category": null, "sourcepage": "Benefit_Options-2.pdf", "sourcefile": "Benefit_Options.pdf", "oids": null, "groups": null, "captions": [{"additional_properties": {}, "text": "Caption: A whistleblower policy.", "highlights": []}], "score": 0.03279569745063782, "reranker_score": 3.4577205181121826, "search_agent_query": null}], "props": null}, {"title": "Prompt to generate answer", "description": [{"role": "system", "content": "Assistant helps the company employees with their healthcare plan questions, and questions about the employee handbook. Be brief in your answers.\nAnswer ONLY with the facts listed in the list of sources below. If there isn't enough information below, say you don't know. Do not generate answers that don't use the sources below. If asking a clarifying question to the user would help, ask the question.\nIf the question is not in English, answer in the language used in the question.\nEach source has a name followed by colon and the actual information, always include the source name for each fact you use in the response. Use square brackets to reference the source, for example [info1.txt]. Don't combine sources, list each source separately, for example [info1.txt][info2.pdf].\n\n\n\n\nGenerate 3 very brief follow-up questions that the user would likely ask next.\nEnclose the follow-up questions in double angle brackets. Example:\n<>\n<>\n<>\nDo not repeat questions that have already been asked.\nMake sure the last question ends with \">>\"."}, {"role": "user", "content": "What is the capital of France?\n\nSources:\n\nBenefit_Options-2.pdf: There is a whistleblower policy."}], "props": {"model": "gpt-4.1", "deployment": "test-chatgpt", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}], "followup_questions": null}, "followup_questions": ["What is the capital of Spain?"]}} diff --git a/tests/snapshots/test_app/test_chat_stream_session_state_persists/client0/result.jsonlines b/tests/snapshots/test_app/test_chat_stream_session_state_persists/client0/result.jsonlines index 4ada156637..db49fb386e 100644 --- a/tests/snapshots/test_app/test_chat_stream_session_state_persists/client0/result.jsonlines +++ b/tests/snapshots/test_app/test_chat_stream_session_state_persists/client0/result.jsonlines @@ -1,4 +1,4 @@ -{"delta": {"role": "assistant"}, "context": {"data_points": {"text": ["Benefit_Options-2.pdf: There is a whistleblower policy."], "images": null}, "thoughts": [{"title": "Prompt to generate search query", "description": [{"role": "system", "content": "Below is a history of the conversation so far, and a new question asked by the user that needs to be answered by searching in a knowledge base.\nYou have access to Azure AI Search index with 100's of documents.\nGenerate a search query based on the conversation and the new question.\nDo not include cited source filenames and document names e.g. info.txt or doc.pdf in the search query terms.\nDo not include any text inside [] or <<>> in the search query terms.\nDo not include any special characters like '+'.\nIf the question is not in English, translate the question to English before generating the search query.\nIf you cannot generate a search query, return just the number 0."}, {"role": "user", "content": "How did crypto do last year?"}, {"role": "assistant", "content": "Summarize Cryptocurrency Market Dynamics from last year"}, {"role": "user", "content": "What are my health plans?"}, {"role": "assistant", "content": "Show available health plans"}, {"role": "user", "content": "Generate search query for: What is the capital of France?"}], "props": {"model": "gpt-4.1-mini", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}, {"title": "Search using generated search query", "description": "capital of France", "props": {"use_semantic_captions": false, "use_semantic_ranker": false, "use_query_rewriting": false, "top": 3, "filter": null, "use_vector_search": false, "use_text_search": true}}, {"title": "Search results", "description": [{"id": "file-Benefit_Options_pdf-42656E656669745F4F7074696F6E732E706466-page-2", "content": "There is a whistleblower policy.", "category": null, "sourcepage": "Benefit_Options-2.pdf", "sourcefile": "Benefit_Options.pdf", "oids": null, "groups": null, "captions": [{"additional_properties": {}, "text": "Caption: A whistleblower policy.", "highlights": []}], "score": 0.03279569745063782, "reranker_score": 3.4577205181121826, "search_agent_query": null}], "props": null}, {"title": "Prompt to generate answer", "description": [{"role": "system", "content": "Assistant helps the company employees with their healthcare plan questions, and questions about the employee handbook. Be brief in your answers.\nAnswer ONLY with the facts listed in the list of sources below. If there isn't enough information below, say you don't know. Do not generate answers that don't use the sources below. If asking a clarifying question to the user would help, ask the question.\nIf the question is not in English, answer in the language used in the question.\nEach source has a name followed by colon and the actual information, always include the source name for each fact you use in the response. Use square brackets to reference the source, for example [info1.txt]. Don't combine sources, list each source separately, for example [info1.txt][info2.pdf]."}, {"role": "user", "content": "What is the capital of France?\n\nSources:\n\nBenefit_Options-2.pdf: There is a whistleblower policy."}], "props": {"model": "gpt-4.1-mini"}}], "followup_questions": null}, "session_state": {"conversation_id": 1234}} +{"delta": {"role": "assistant"}, "context": {"data_points": {"text": ["Benefit_Options-2.pdf: There is a whistleblower policy."], "images": null}, "thoughts": [{"title": "Prompt to generate search query", "description": [{"role": "system", "content": "Below is a history of the conversation so far, and a new question asked by the user that needs to be answered by searching in a knowledge base.\nYou have access to Azure AI Search index with 100's of documents.\nGenerate a search query based on the conversation and the new question.\nDo not include cited source filenames and document names e.g. info.txt or doc.pdf in the search query terms.\nDo not include any text inside [] or <<>> in the search query terms.\nDo not include any special characters like '+'.\nIf the question is not in English, translate the question to English before generating the search query.\nIf you cannot generate a search query, return just the number 0."}, {"role": "user", "content": "How did crypto do last year?"}, {"role": "assistant", "content": "Summarize Cryptocurrency Market Dynamics from last year"}, {"role": "user", "content": "What are my health plans?"}, {"role": "assistant", "content": "Show available health plans"}, {"role": "user", "content": "Generate search query for: What is the capital of France?"}], "props": {"model": "gpt-4.1", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}, {"title": "Search using generated search query", "description": "capital of France", "props": {"use_semantic_captions": false, "use_semantic_ranker": false, "use_query_rewriting": false, "top": 3, "filter": null, "use_vector_search": false, "use_text_search": true}}, {"title": "Search results", "description": [{"id": "file-Benefit_Options_pdf-42656E656669745F4F7074696F6E732E706466-page-2", "content": "There is a whistleblower policy.", "category": null, "sourcepage": "Benefit_Options-2.pdf", "sourcefile": "Benefit_Options.pdf", "oids": null, "groups": null, "captions": [{"additional_properties": {}, "text": "Caption: A whistleblower policy.", "highlights": []}], "score": 0.03279569745063782, "reranker_score": 3.4577205181121826, "search_agent_query": null}], "props": null}, {"title": "Prompt to generate answer", "description": [{"role": "system", "content": "Assistant helps the company employees with their healthcare plan questions, and questions about the employee handbook. Be brief in your answers.\nAnswer ONLY with the facts listed in the list of sources below. If there isn't enough information below, say you don't know. Do not generate answers that don't use the sources below. If asking a clarifying question to the user would help, ask the question.\nIf the question is not in English, answer in the language used in the question.\nEach source has a name followed by colon and the actual information, always include the source name for each fact you use in the response. Use square brackets to reference the source, for example [info1.txt]. Don't combine sources, list each source separately, for example [info1.txt][info2.pdf]."}, {"role": "user", "content": "What is the capital of France?\n\nSources:\n\nBenefit_Options-2.pdf: There is a whistleblower policy."}], "props": {"model": "gpt-4.1"}}], "followup_questions": null}, "session_state": {"conversation_id": 1234}} {"delta": {"content": null, "role": "assistant"}} {"delta": {"content": "The capital of France is Paris. [Benefit_Options-2.pdf].", "role": null}} -{"delta": {"role": "assistant"}, "context": {"data_points": {"text": ["Benefit_Options-2.pdf: There is a whistleblower policy."], "images": null}, "thoughts": [{"title": "Prompt to generate search query", "description": [{"role": "system", "content": "Below is a history of the conversation so far, and a new question asked by the user that needs to be answered by searching in a knowledge base.\nYou have access to Azure AI Search index with 100's of documents.\nGenerate a search query based on the conversation and the new question.\nDo not include cited source filenames and document names e.g. info.txt or doc.pdf in the search query terms.\nDo not include any text inside [] or <<>> in the search query terms.\nDo not include any special characters like '+'.\nIf the question is not in English, translate the question to English before generating the search query.\nIf you cannot generate a search query, return just the number 0."}, {"role": "user", "content": "How did crypto do last year?"}, {"role": "assistant", "content": "Summarize Cryptocurrency Market Dynamics from last year"}, {"role": "user", "content": "What are my health plans?"}, {"role": "assistant", "content": "Show available health plans"}, {"role": "user", "content": "Generate search query for: What is the capital of France?"}], "props": {"model": "gpt-4.1-mini", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}, {"title": "Search using generated search query", "description": "capital of France", "props": {"use_semantic_captions": false, "use_semantic_ranker": false, "use_query_rewriting": false, "top": 3, "filter": null, "use_vector_search": false, "use_text_search": true}}, {"title": "Search results", "description": [{"id": "file-Benefit_Options_pdf-42656E656669745F4F7074696F6E732E706466-page-2", "content": "There is a whistleblower policy.", "category": null, "sourcepage": "Benefit_Options-2.pdf", "sourcefile": "Benefit_Options.pdf", "oids": null, "groups": null, "captions": [{"additional_properties": {}, "text": "Caption: A whistleblower policy.", "highlights": []}], "score": 0.03279569745063782, "reranker_score": 3.4577205181121826, "search_agent_query": null}], "props": null}, {"title": "Prompt to generate answer", "description": [{"role": "system", "content": "Assistant helps the company employees with their healthcare plan questions, and questions about the employee handbook. Be brief in your answers.\nAnswer ONLY with the facts listed in the list of sources below. If there isn't enough information below, say you don't know. Do not generate answers that don't use the sources below. If asking a clarifying question to the user would help, ask the question.\nIf the question is not in English, answer in the language used in the question.\nEach source has a name followed by colon and the actual information, always include the source name for each fact you use in the response. Use square brackets to reference the source, for example [info1.txt]. Don't combine sources, list each source separately, for example [info1.txt][info2.pdf]."}, {"role": "user", "content": "What is the capital of France?\n\nSources:\n\nBenefit_Options-2.pdf: There is a whistleblower policy."}], "props": {"model": "gpt-4.1-mini", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}], "followup_questions": null}, "session_state": {"conversation_id": 1234}} +{"delta": {"role": "assistant"}, "context": {"data_points": {"text": ["Benefit_Options-2.pdf: There is a whistleblower policy."], "images": null}, "thoughts": [{"title": "Prompt to generate search query", "description": [{"role": "system", "content": "Below is a history of the conversation so far, and a new question asked by the user that needs to be answered by searching in a knowledge base.\nYou have access to Azure AI Search index with 100's of documents.\nGenerate a search query based on the conversation and the new question.\nDo not include cited source filenames and document names e.g. info.txt or doc.pdf in the search query terms.\nDo not include any text inside [] or <<>> in the search query terms.\nDo not include any special characters like '+'.\nIf the question is not in English, translate the question to English before generating the search query.\nIf you cannot generate a search query, return just the number 0."}, {"role": "user", "content": "How did crypto do last year?"}, {"role": "assistant", "content": "Summarize Cryptocurrency Market Dynamics from last year"}, {"role": "user", "content": "What are my health plans?"}, {"role": "assistant", "content": "Show available health plans"}, {"role": "user", "content": "Generate search query for: What is the capital of France?"}], "props": {"model": "gpt-4.1", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}, {"title": "Search using generated search query", "description": "capital of France", "props": {"use_semantic_captions": false, "use_semantic_ranker": false, "use_query_rewriting": false, "top": 3, "filter": null, "use_vector_search": false, "use_text_search": true}}, {"title": "Search results", "description": [{"id": "file-Benefit_Options_pdf-42656E656669745F4F7074696F6E732E706466-page-2", "content": "There is a whistleblower policy.", "category": null, "sourcepage": "Benefit_Options-2.pdf", "sourcefile": "Benefit_Options.pdf", "oids": null, "groups": null, "captions": [{"additional_properties": {}, "text": "Caption: A whistleblower policy.", "highlights": []}], "score": 0.03279569745063782, "reranker_score": 3.4577205181121826, "search_agent_query": null}], "props": null}, {"title": "Prompt to generate answer", "description": [{"role": "system", "content": "Assistant helps the company employees with their healthcare plan questions, and questions about the employee handbook. Be brief in your answers.\nAnswer ONLY with the facts listed in the list of sources below. If there isn't enough information below, say you don't know. Do not generate answers that don't use the sources below. If asking a clarifying question to the user would help, ask the question.\nIf the question is not in English, answer in the language used in the question.\nEach source has a name followed by colon and the actual information, always include the source name for each fact you use in the response. Use square brackets to reference the source, for example [info1.txt]. Don't combine sources, list each source separately, for example [info1.txt][info2.pdf]."}, {"role": "user", "content": "What is the capital of France?\n\nSources:\n\nBenefit_Options-2.pdf: There is a whistleblower policy."}], "props": {"model": "gpt-4.1", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}], "followup_questions": null}, "session_state": {"conversation_id": 1234}} diff --git a/tests/snapshots/test_app/test_chat_stream_session_state_persists/client1/result.jsonlines b/tests/snapshots/test_app/test_chat_stream_session_state_persists/client1/result.jsonlines index 44ae8aa50c..aa5fa8beb0 100644 --- a/tests/snapshots/test_app/test_chat_stream_session_state_persists/client1/result.jsonlines +++ b/tests/snapshots/test_app/test_chat_stream_session_state_persists/client1/result.jsonlines @@ -1,4 +1,4 @@ -{"delta": {"role": "assistant"}, "context": {"data_points": {"text": ["Benefit_Options-2.pdf: There is a whistleblower policy."], "images": null}, "thoughts": [{"title": "Prompt to generate search query", "description": [{"role": "system", "content": "Below is a history of the conversation so far, and a new question asked by the user that needs to be answered by searching in a knowledge base.\nYou have access to Azure AI Search index with 100's of documents.\nGenerate a search query based on the conversation and the new question.\nDo not include cited source filenames and document names e.g. info.txt or doc.pdf in the search query terms.\nDo not include any text inside [] or <<>> in the search query terms.\nDo not include any special characters like '+'.\nIf the question is not in English, translate the question to English before generating the search query.\nIf you cannot generate a search query, return just the number 0."}, {"role": "user", "content": "How did crypto do last year?"}, {"role": "assistant", "content": "Summarize Cryptocurrency Market Dynamics from last year"}, {"role": "user", "content": "What are my health plans?"}, {"role": "assistant", "content": "Show available health plans"}, {"role": "user", "content": "Generate search query for: What is the capital of France?"}], "props": {"model": "gpt-4.1-mini", "deployment": "test-chatgpt", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}, {"title": "Search using generated search query", "description": "capital of France", "props": {"use_semantic_captions": false, "use_semantic_ranker": false, "use_query_rewriting": false, "top": 3, "filter": null, "use_vector_search": false, "use_text_search": true}}, {"title": "Search results", "description": [{"id": "file-Benefit_Options_pdf-42656E656669745F4F7074696F6E732E706466-page-2", "content": "There is a whistleblower policy.", "category": null, "sourcepage": "Benefit_Options-2.pdf", "sourcefile": "Benefit_Options.pdf", "oids": null, "groups": null, "captions": [{"additional_properties": {}, "text": "Caption: A whistleblower policy.", "highlights": []}], "score": 0.03279569745063782, "reranker_score": 3.4577205181121826, "search_agent_query": null}], "props": null}, {"title": "Prompt to generate answer", "description": [{"role": "system", "content": "Assistant helps the company employees with their healthcare plan questions, and questions about the employee handbook. Be brief in your answers.\nAnswer ONLY with the facts listed in the list of sources below. If there isn't enough information below, say you don't know. Do not generate answers that don't use the sources below. If asking a clarifying question to the user would help, ask the question.\nIf the question is not in English, answer in the language used in the question.\nEach source has a name followed by colon and the actual information, always include the source name for each fact you use in the response. Use square brackets to reference the source, for example [info1.txt]. Don't combine sources, list each source separately, for example [info1.txt][info2.pdf]."}, {"role": "user", "content": "What is the capital of France?\n\nSources:\n\nBenefit_Options-2.pdf: There is a whistleblower policy."}], "props": {"model": "gpt-4.1-mini", "deployment": "test-chatgpt"}}], "followup_questions": null}, "session_state": {"conversation_id": 1234}} +{"delta": {"role": "assistant"}, "context": {"data_points": {"text": ["Benefit_Options-2.pdf: There is a whistleblower policy."], "images": null}, "thoughts": [{"title": "Prompt to generate search query", "description": [{"role": "system", "content": "Below is a history of the conversation so far, and a new question asked by the user that needs to be answered by searching in a knowledge base.\nYou have access to Azure AI Search index with 100's of documents.\nGenerate a search query based on the conversation and the new question.\nDo not include cited source filenames and document names e.g. info.txt or doc.pdf in the search query terms.\nDo not include any text inside [] or <<>> in the search query terms.\nDo not include any special characters like '+'.\nIf the question is not in English, translate the question to English before generating the search query.\nIf you cannot generate a search query, return just the number 0."}, {"role": "user", "content": "How did crypto do last year?"}, {"role": "assistant", "content": "Summarize Cryptocurrency Market Dynamics from last year"}, {"role": "user", "content": "What are my health plans?"}, {"role": "assistant", "content": "Show available health plans"}, {"role": "user", "content": "Generate search query for: What is the capital of France?"}], "props": {"model": "gpt-4.1", "deployment": "test-chatgpt", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}, {"title": "Search using generated search query", "description": "capital of France", "props": {"use_semantic_captions": false, "use_semantic_ranker": false, "use_query_rewriting": false, "top": 3, "filter": null, "use_vector_search": false, "use_text_search": true}}, {"title": "Search results", "description": [{"id": "file-Benefit_Options_pdf-42656E656669745F4F7074696F6E732E706466-page-2", "content": "There is a whistleblower policy.", "category": null, "sourcepage": "Benefit_Options-2.pdf", "sourcefile": "Benefit_Options.pdf", "oids": null, "groups": null, "captions": [{"additional_properties": {}, "text": "Caption: A whistleblower policy.", "highlights": []}], "score": 0.03279569745063782, "reranker_score": 3.4577205181121826, "search_agent_query": null}], "props": null}, {"title": "Prompt to generate answer", "description": [{"role": "system", "content": "Assistant helps the company employees with their healthcare plan questions, and questions about the employee handbook. Be brief in your answers.\nAnswer ONLY with the facts listed in the list of sources below. If there isn't enough information below, say you don't know. Do not generate answers that don't use the sources below. If asking a clarifying question to the user would help, ask the question.\nIf the question is not in English, answer in the language used in the question.\nEach source has a name followed by colon and the actual information, always include the source name for each fact you use in the response. Use square brackets to reference the source, for example [info1.txt]. Don't combine sources, list each source separately, for example [info1.txt][info2.pdf]."}, {"role": "user", "content": "What is the capital of France?\n\nSources:\n\nBenefit_Options-2.pdf: There is a whistleblower policy."}], "props": {"model": "gpt-4.1", "deployment": "test-chatgpt"}}], "followup_questions": null}, "session_state": {"conversation_id": 1234}} {"delta": {"content": null, "role": "assistant"}} {"delta": {"content": "The capital of France is Paris. [Benefit_Options-2.pdf].", "role": null}} -{"delta": {"role": "assistant"}, "context": {"data_points": {"text": ["Benefit_Options-2.pdf: There is a whistleblower policy."], "images": null}, "thoughts": [{"title": "Prompt to generate search query", "description": [{"role": "system", "content": "Below is a history of the conversation so far, and a new question asked by the user that needs to be answered by searching in a knowledge base.\nYou have access to Azure AI Search index with 100's of documents.\nGenerate a search query based on the conversation and the new question.\nDo not include cited source filenames and document names e.g. info.txt or doc.pdf in the search query terms.\nDo not include any text inside [] or <<>> in the search query terms.\nDo not include any special characters like '+'.\nIf the question is not in English, translate the question to English before generating the search query.\nIf you cannot generate a search query, return just the number 0."}, {"role": "user", "content": "How did crypto do last year?"}, {"role": "assistant", "content": "Summarize Cryptocurrency Market Dynamics from last year"}, {"role": "user", "content": "What are my health plans?"}, {"role": "assistant", "content": "Show available health plans"}, {"role": "user", "content": "Generate search query for: What is the capital of France?"}], "props": {"model": "gpt-4.1-mini", "deployment": "test-chatgpt", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}, {"title": "Search using generated search query", "description": "capital of France", "props": {"use_semantic_captions": false, "use_semantic_ranker": false, "use_query_rewriting": false, "top": 3, "filter": null, "use_vector_search": false, "use_text_search": true}}, {"title": "Search results", "description": [{"id": "file-Benefit_Options_pdf-42656E656669745F4F7074696F6E732E706466-page-2", "content": "There is a whistleblower policy.", "category": null, "sourcepage": "Benefit_Options-2.pdf", "sourcefile": "Benefit_Options.pdf", "oids": null, "groups": null, "captions": [{"additional_properties": {}, "text": "Caption: A whistleblower policy.", "highlights": []}], "score": 0.03279569745063782, "reranker_score": 3.4577205181121826, "search_agent_query": null}], "props": null}, {"title": "Prompt to generate answer", "description": [{"role": "system", "content": "Assistant helps the company employees with their healthcare plan questions, and questions about the employee handbook. Be brief in your answers.\nAnswer ONLY with the facts listed in the list of sources below. If there isn't enough information below, say you don't know. Do not generate answers that don't use the sources below. If asking a clarifying question to the user would help, ask the question.\nIf the question is not in English, answer in the language used in the question.\nEach source has a name followed by colon and the actual information, always include the source name for each fact you use in the response. Use square brackets to reference the source, for example [info1.txt]. Don't combine sources, list each source separately, for example [info1.txt][info2.pdf]."}, {"role": "user", "content": "What is the capital of France?\n\nSources:\n\nBenefit_Options-2.pdf: There is a whistleblower policy."}], "props": {"model": "gpt-4.1-mini", "deployment": "test-chatgpt", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}], "followup_questions": null}, "session_state": {"conversation_id": 1234}} +{"delta": {"role": "assistant"}, "context": {"data_points": {"text": ["Benefit_Options-2.pdf: There is a whistleblower policy."], "images": null}, "thoughts": [{"title": "Prompt to generate search query", "description": [{"role": "system", "content": "Below is a history of the conversation so far, and a new question asked by the user that needs to be answered by searching in a knowledge base.\nYou have access to Azure AI Search index with 100's of documents.\nGenerate a search query based on the conversation and the new question.\nDo not include cited source filenames and document names e.g. info.txt or doc.pdf in the search query terms.\nDo not include any text inside [] or <<>> in the search query terms.\nDo not include any special characters like '+'.\nIf the question is not in English, translate the question to English before generating the search query.\nIf you cannot generate a search query, return just the number 0."}, {"role": "user", "content": "How did crypto do last year?"}, {"role": "assistant", "content": "Summarize Cryptocurrency Market Dynamics from last year"}, {"role": "user", "content": "What are my health plans?"}, {"role": "assistant", "content": "Show available health plans"}, {"role": "user", "content": "Generate search query for: What is the capital of France?"}], "props": {"model": "gpt-4.1", "deployment": "test-chatgpt", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}, {"title": "Search using generated search query", "description": "capital of France", "props": {"use_semantic_captions": false, "use_semantic_ranker": false, "use_query_rewriting": false, "top": 3, "filter": null, "use_vector_search": false, "use_text_search": true}}, {"title": "Search results", "description": [{"id": "file-Benefit_Options_pdf-42656E656669745F4F7074696F6E732E706466-page-2", "content": "There is a whistleblower policy.", "category": null, "sourcepage": "Benefit_Options-2.pdf", "sourcefile": "Benefit_Options.pdf", "oids": null, "groups": null, "captions": [{"additional_properties": {}, "text": "Caption: A whistleblower policy.", "highlights": []}], "score": 0.03279569745063782, "reranker_score": 3.4577205181121826, "search_agent_query": null}], "props": null}, {"title": "Prompt to generate answer", "description": [{"role": "system", "content": "Assistant helps the company employees with their healthcare plan questions, and questions about the employee handbook. Be brief in your answers.\nAnswer ONLY with the facts listed in the list of sources below. If there isn't enough information below, say you don't know. Do not generate answers that don't use the sources below. If asking a clarifying question to the user would help, ask the question.\nIf the question is not in English, answer in the language used in the question.\nEach source has a name followed by colon and the actual information, always include the source name for each fact you use in the response. Use square brackets to reference the source, for example [info1.txt]. Don't combine sources, list each source separately, for example [info1.txt][info2.pdf]."}, {"role": "user", "content": "What is the capital of France?\n\nSources:\n\nBenefit_Options-2.pdf: There is a whistleblower policy."}], "props": {"model": "gpt-4.1", "deployment": "test-chatgpt", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}], "followup_questions": null}, "session_state": {"conversation_id": 1234}} diff --git a/tests/snapshots/test_app/test_chat_stream_text/client0/result.jsonlines b/tests/snapshots/test_app/test_chat_stream_text/client0/result.jsonlines index cc0318ac9e..e76e646c06 100644 --- a/tests/snapshots/test_app/test_chat_stream_text/client0/result.jsonlines +++ b/tests/snapshots/test_app/test_chat_stream_text/client0/result.jsonlines @@ -1,4 +1,4 @@ -{"delta": {"role": "assistant"}, "context": {"data_points": {"text": ["Benefit_Options-2.pdf: There is a whistleblower policy."], "images": null}, "thoughts": [{"title": "Prompt to generate search query", "description": [{"role": "system", "content": "Below is a history of the conversation so far, and a new question asked by the user that needs to be answered by searching in a knowledge base.\nYou have access to Azure AI Search index with 100's of documents.\nGenerate a search query based on the conversation and the new question.\nDo not include cited source filenames and document names e.g. info.txt or doc.pdf in the search query terms.\nDo not include any text inside [] or <<>> in the search query terms.\nDo not include any special characters like '+'.\nIf the question is not in English, translate the question to English before generating the search query.\nIf you cannot generate a search query, return just the number 0."}, {"role": "user", "content": "How did crypto do last year?"}, {"role": "assistant", "content": "Summarize Cryptocurrency Market Dynamics from last year"}, {"role": "user", "content": "What are my health plans?"}, {"role": "assistant", "content": "Show available health plans"}, {"role": "user", "content": "Generate search query for: What is the capital of France?"}], "props": {"model": "gpt-4.1-mini", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}, {"title": "Search using generated search query", "description": "capital of France", "props": {"use_semantic_captions": false, "use_semantic_ranker": false, "use_query_rewriting": false, "top": 3, "filter": null, "use_vector_search": false, "use_text_search": true}}, {"title": "Search results", "description": [{"id": "file-Benefit_Options_pdf-42656E656669745F4F7074696F6E732E706466-page-2", "content": "There is a whistleblower policy.", "category": null, "sourcepage": "Benefit_Options-2.pdf", "sourcefile": "Benefit_Options.pdf", "oids": null, "groups": null, "captions": [{"additional_properties": {}, "text": "Caption: A whistleblower policy.", "highlights": []}], "score": 0.03279569745063782, "reranker_score": 3.4577205181121826, "search_agent_query": null}], "props": null}, {"title": "Prompt to generate answer", "description": [{"role": "system", "content": "Assistant helps the company employees with their healthcare plan questions, and questions about the employee handbook. Be brief in your answers.\nAnswer ONLY with the facts listed in the list of sources below. If there isn't enough information below, say you don't know. Do not generate answers that don't use the sources below. If asking a clarifying question to the user would help, ask the question.\nIf the question is not in English, answer in the language used in the question.\nEach source has a name followed by colon and the actual information, always include the source name for each fact you use in the response. Use square brackets to reference the source, for example [info1.txt]. Don't combine sources, list each source separately, for example [info1.txt][info2.pdf]."}, {"role": "user", "content": "What is the capital of France?\n\nSources:\n\nBenefit_Options-2.pdf: There is a whistleblower policy."}], "props": {"model": "gpt-4.1-mini"}}], "followup_questions": null}, "session_state": null} +{"delta": {"role": "assistant"}, "context": {"data_points": {"text": ["Benefit_Options-2.pdf: There is a whistleblower policy."], "images": null}, "thoughts": [{"title": "Prompt to generate search query", "description": [{"role": "system", "content": "Below is a history of the conversation so far, and a new question asked by the user that needs to be answered by searching in a knowledge base.\nYou have access to Azure AI Search index with 100's of documents.\nGenerate a search query based on the conversation and the new question.\nDo not include cited source filenames and document names e.g. info.txt or doc.pdf in the search query terms.\nDo not include any text inside [] or <<>> in the search query terms.\nDo not include any special characters like '+'.\nIf the question is not in English, translate the question to English before generating the search query.\nIf you cannot generate a search query, return just the number 0."}, {"role": "user", "content": "How did crypto do last year?"}, {"role": "assistant", "content": "Summarize Cryptocurrency Market Dynamics from last year"}, {"role": "user", "content": "What are my health plans?"}, {"role": "assistant", "content": "Show available health plans"}, {"role": "user", "content": "Generate search query for: What is the capital of France?"}], "props": {"model": "gpt-4.1", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}, {"title": "Search using generated search query", "description": "capital of France", "props": {"use_semantic_captions": false, "use_semantic_ranker": false, "use_query_rewriting": false, "top": 3, "filter": null, "use_vector_search": false, "use_text_search": true}}, {"title": "Search results", "description": [{"id": "file-Benefit_Options_pdf-42656E656669745F4F7074696F6E732E706466-page-2", "content": "There is a whistleblower policy.", "category": null, "sourcepage": "Benefit_Options-2.pdf", "sourcefile": "Benefit_Options.pdf", "oids": null, "groups": null, "captions": [{"additional_properties": {}, "text": "Caption: A whistleblower policy.", "highlights": []}], "score": 0.03279569745063782, "reranker_score": 3.4577205181121826, "search_agent_query": null}], "props": null}, {"title": "Prompt to generate answer", "description": [{"role": "system", "content": "Assistant helps the company employees with their healthcare plan questions, and questions about the employee handbook. Be brief in your answers.\nAnswer ONLY with the facts listed in the list of sources below. If there isn't enough information below, say you don't know. Do not generate answers that don't use the sources below. If asking a clarifying question to the user would help, ask the question.\nIf the question is not in English, answer in the language used in the question.\nEach source has a name followed by colon and the actual information, always include the source name for each fact you use in the response. Use square brackets to reference the source, for example [info1.txt]. Don't combine sources, list each source separately, for example [info1.txt][info2.pdf]."}, {"role": "user", "content": "What is the capital of France?\n\nSources:\n\nBenefit_Options-2.pdf: There is a whistleblower policy."}], "props": {"model": "gpt-4.1"}}], "followup_questions": null}, "session_state": null} {"delta": {"content": null, "role": "assistant"}} {"delta": {"content": "The capital of France is Paris. [Benefit_Options-2.pdf].", "role": null}} -{"delta": {"role": "assistant"}, "context": {"data_points": {"text": ["Benefit_Options-2.pdf: There is a whistleblower policy."], "images": null}, "thoughts": [{"title": "Prompt to generate search query", "description": [{"role": "system", "content": "Below is a history of the conversation so far, and a new question asked by the user that needs to be answered by searching in a knowledge base.\nYou have access to Azure AI Search index with 100's of documents.\nGenerate a search query based on the conversation and the new question.\nDo not include cited source filenames and document names e.g. info.txt or doc.pdf in the search query terms.\nDo not include any text inside [] or <<>> in the search query terms.\nDo not include any special characters like '+'.\nIf the question is not in English, translate the question to English before generating the search query.\nIf you cannot generate a search query, return just the number 0."}, {"role": "user", "content": "How did crypto do last year?"}, {"role": "assistant", "content": "Summarize Cryptocurrency Market Dynamics from last year"}, {"role": "user", "content": "What are my health plans?"}, {"role": "assistant", "content": "Show available health plans"}, {"role": "user", "content": "Generate search query for: What is the capital of France?"}], "props": {"model": "gpt-4.1-mini", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}, {"title": "Search using generated search query", "description": "capital of France", "props": {"use_semantic_captions": false, "use_semantic_ranker": false, "use_query_rewriting": false, "top": 3, "filter": null, "use_vector_search": false, "use_text_search": true}}, {"title": "Search results", "description": [{"id": "file-Benefit_Options_pdf-42656E656669745F4F7074696F6E732E706466-page-2", "content": "There is a whistleblower policy.", "category": null, "sourcepage": "Benefit_Options-2.pdf", "sourcefile": "Benefit_Options.pdf", "oids": null, "groups": null, "captions": [{"additional_properties": {}, "text": "Caption: A whistleblower policy.", "highlights": []}], "score": 0.03279569745063782, "reranker_score": 3.4577205181121826, "search_agent_query": null}], "props": null}, {"title": "Prompt to generate answer", "description": [{"role": "system", "content": "Assistant helps the company employees with their healthcare plan questions, and questions about the employee handbook. Be brief in your answers.\nAnswer ONLY with the facts listed in the list of sources below. If there isn't enough information below, say you don't know. Do not generate answers that don't use the sources below. If asking a clarifying question to the user would help, ask the question.\nIf the question is not in English, answer in the language used in the question.\nEach source has a name followed by colon and the actual information, always include the source name for each fact you use in the response. Use square brackets to reference the source, for example [info1.txt]. Don't combine sources, list each source separately, for example [info1.txt][info2.pdf]."}, {"role": "user", "content": "What is the capital of France?\n\nSources:\n\nBenefit_Options-2.pdf: There is a whistleblower policy."}], "props": {"model": "gpt-4.1-mini", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}], "followup_questions": null}, "session_state": null} +{"delta": {"role": "assistant"}, "context": {"data_points": {"text": ["Benefit_Options-2.pdf: There is a whistleblower policy."], "images": null}, "thoughts": [{"title": "Prompt to generate search query", "description": [{"role": "system", "content": "Below is a history of the conversation so far, and a new question asked by the user that needs to be answered by searching in a knowledge base.\nYou have access to Azure AI Search index with 100's of documents.\nGenerate a search query based on the conversation and the new question.\nDo not include cited source filenames and document names e.g. info.txt or doc.pdf in the search query terms.\nDo not include any text inside [] or <<>> in the search query terms.\nDo not include any special characters like '+'.\nIf the question is not in English, translate the question to English before generating the search query.\nIf you cannot generate a search query, return just the number 0."}, {"role": "user", "content": "How did crypto do last year?"}, {"role": "assistant", "content": "Summarize Cryptocurrency Market Dynamics from last year"}, {"role": "user", "content": "What are my health plans?"}, {"role": "assistant", "content": "Show available health plans"}, {"role": "user", "content": "Generate search query for: What is the capital of France?"}], "props": {"model": "gpt-4.1", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}, {"title": "Search using generated search query", "description": "capital of France", "props": {"use_semantic_captions": false, "use_semantic_ranker": false, "use_query_rewriting": false, "top": 3, "filter": null, "use_vector_search": false, "use_text_search": true}}, {"title": "Search results", "description": [{"id": "file-Benefit_Options_pdf-42656E656669745F4F7074696F6E732E706466-page-2", "content": "There is a whistleblower policy.", "category": null, "sourcepage": "Benefit_Options-2.pdf", "sourcefile": "Benefit_Options.pdf", "oids": null, "groups": null, "captions": [{"additional_properties": {}, "text": "Caption: A whistleblower policy.", "highlights": []}], "score": 0.03279569745063782, "reranker_score": 3.4577205181121826, "search_agent_query": null}], "props": null}, {"title": "Prompt to generate answer", "description": [{"role": "system", "content": "Assistant helps the company employees with their healthcare plan questions, and questions about the employee handbook. Be brief in your answers.\nAnswer ONLY with the facts listed in the list of sources below. If there isn't enough information below, say you don't know. Do not generate answers that don't use the sources below. If asking a clarifying question to the user would help, ask the question.\nIf the question is not in English, answer in the language used in the question.\nEach source has a name followed by colon and the actual information, always include the source name for each fact you use in the response. Use square brackets to reference the source, for example [info1.txt]. Don't combine sources, list each source separately, for example [info1.txt][info2.pdf]."}, {"role": "user", "content": "What is the capital of France?\n\nSources:\n\nBenefit_Options-2.pdf: There is a whistleblower policy."}], "props": {"model": "gpt-4.1", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}], "followup_questions": null}, "session_state": null} diff --git a/tests/snapshots/test_app/test_chat_stream_text/client1/result.jsonlines b/tests/snapshots/test_app/test_chat_stream_text/client1/result.jsonlines index 88ac66828c..7d3903422b 100644 --- a/tests/snapshots/test_app/test_chat_stream_text/client1/result.jsonlines +++ b/tests/snapshots/test_app/test_chat_stream_text/client1/result.jsonlines @@ -1,4 +1,4 @@ -{"delta": {"role": "assistant"}, "context": {"data_points": {"text": ["Benefit_Options-2.pdf: There is a whistleblower policy."], "images": null}, "thoughts": [{"title": "Prompt to generate search query", "description": [{"role": "system", "content": "Below is a history of the conversation so far, and a new question asked by the user that needs to be answered by searching in a knowledge base.\nYou have access to Azure AI Search index with 100's of documents.\nGenerate a search query based on the conversation and the new question.\nDo not include cited source filenames and document names e.g. info.txt or doc.pdf in the search query terms.\nDo not include any text inside [] or <<>> in the search query terms.\nDo not include any special characters like '+'.\nIf the question is not in English, translate the question to English before generating the search query.\nIf you cannot generate a search query, return just the number 0."}, {"role": "user", "content": "How did crypto do last year?"}, {"role": "assistant", "content": "Summarize Cryptocurrency Market Dynamics from last year"}, {"role": "user", "content": "What are my health plans?"}, {"role": "assistant", "content": "Show available health plans"}, {"role": "user", "content": "Generate search query for: What is the capital of France?"}], "props": {"model": "gpt-4.1-mini", "deployment": "test-chatgpt", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}, {"title": "Search using generated search query", "description": "capital of France", "props": {"use_semantic_captions": false, "use_semantic_ranker": false, "use_query_rewriting": false, "top": 3, "filter": null, "use_vector_search": false, "use_text_search": true}}, {"title": "Search results", "description": [{"id": "file-Benefit_Options_pdf-42656E656669745F4F7074696F6E732E706466-page-2", "content": "There is a whistleblower policy.", "category": null, "sourcepage": "Benefit_Options-2.pdf", "sourcefile": "Benefit_Options.pdf", "oids": null, "groups": null, "captions": [{"additional_properties": {}, "text": "Caption: A whistleblower policy.", "highlights": []}], "score": 0.03279569745063782, "reranker_score": 3.4577205181121826, "search_agent_query": null}], "props": null}, {"title": "Prompt to generate answer", "description": [{"role": "system", "content": "Assistant helps the company employees with their healthcare plan questions, and questions about the employee handbook. Be brief in your answers.\nAnswer ONLY with the facts listed in the list of sources below. If there isn't enough information below, say you don't know. Do not generate answers that don't use the sources below. If asking a clarifying question to the user would help, ask the question.\nIf the question is not in English, answer in the language used in the question.\nEach source has a name followed by colon and the actual information, always include the source name for each fact you use in the response. Use square brackets to reference the source, for example [info1.txt]. Don't combine sources, list each source separately, for example [info1.txt][info2.pdf]."}, {"role": "user", "content": "What is the capital of France?\n\nSources:\n\nBenefit_Options-2.pdf: There is a whistleblower policy."}], "props": {"model": "gpt-4.1-mini", "deployment": "test-chatgpt"}}], "followup_questions": null}, "session_state": null} +{"delta": {"role": "assistant"}, "context": {"data_points": {"text": ["Benefit_Options-2.pdf: There is a whistleblower policy."], "images": null}, "thoughts": [{"title": "Prompt to generate search query", "description": [{"role": "system", "content": "Below is a history of the conversation so far, and a new question asked by the user that needs to be answered by searching in a knowledge base.\nYou have access to Azure AI Search index with 100's of documents.\nGenerate a search query based on the conversation and the new question.\nDo not include cited source filenames and document names e.g. info.txt or doc.pdf in the search query terms.\nDo not include any text inside [] or <<>> in the search query terms.\nDo not include any special characters like '+'.\nIf the question is not in English, translate the question to English before generating the search query.\nIf you cannot generate a search query, return just the number 0."}, {"role": "user", "content": "How did crypto do last year?"}, {"role": "assistant", "content": "Summarize Cryptocurrency Market Dynamics from last year"}, {"role": "user", "content": "What are my health plans?"}, {"role": "assistant", "content": "Show available health plans"}, {"role": "user", "content": "Generate search query for: What is the capital of France?"}], "props": {"model": "gpt-4.1", "deployment": "test-chatgpt", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}, {"title": "Search using generated search query", "description": "capital of France", "props": {"use_semantic_captions": false, "use_semantic_ranker": false, "use_query_rewriting": false, "top": 3, "filter": null, "use_vector_search": false, "use_text_search": true}}, {"title": "Search results", "description": [{"id": "file-Benefit_Options_pdf-42656E656669745F4F7074696F6E732E706466-page-2", "content": "There is a whistleblower policy.", "category": null, "sourcepage": "Benefit_Options-2.pdf", "sourcefile": "Benefit_Options.pdf", "oids": null, "groups": null, "captions": [{"additional_properties": {}, "text": "Caption: A whistleblower policy.", "highlights": []}], "score": 0.03279569745063782, "reranker_score": 3.4577205181121826, "search_agent_query": null}], "props": null}, {"title": "Prompt to generate answer", "description": [{"role": "system", "content": "Assistant helps the company employees with their healthcare plan questions, and questions about the employee handbook. Be brief in your answers.\nAnswer ONLY with the facts listed in the list of sources below. If there isn't enough information below, say you don't know. Do not generate answers that don't use the sources below. If asking a clarifying question to the user would help, ask the question.\nIf the question is not in English, answer in the language used in the question.\nEach source has a name followed by colon and the actual information, always include the source name for each fact you use in the response. Use square brackets to reference the source, for example [info1.txt]. Don't combine sources, list each source separately, for example [info1.txt][info2.pdf]."}, {"role": "user", "content": "What is the capital of France?\n\nSources:\n\nBenefit_Options-2.pdf: There is a whistleblower policy."}], "props": {"model": "gpt-4.1", "deployment": "test-chatgpt"}}], "followup_questions": null}, "session_state": null} {"delta": {"content": null, "role": "assistant"}} {"delta": {"content": "The capital of France is Paris. [Benefit_Options-2.pdf].", "role": null}} -{"delta": {"role": "assistant"}, "context": {"data_points": {"text": ["Benefit_Options-2.pdf: There is a whistleblower policy."], "images": null}, "thoughts": [{"title": "Prompt to generate search query", "description": [{"role": "system", "content": "Below is a history of the conversation so far, and a new question asked by the user that needs to be answered by searching in a knowledge base.\nYou have access to Azure AI Search index with 100's of documents.\nGenerate a search query based on the conversation and the new question.\nDo not include cited source filenames and document names e.g. info.txt or doc.pdf in the search query terms.\nDo not include any text inside [] or <<>> in the search query terms.\nDo not include any special characters like '+'.\nIf the question is not in English, translate the question to English before generating the search query.\nIf you cannot generate a search query, return just the number 0."}, {"role": "user", "content": "How did crypto do last year?"}, {"role": "assistant", "content": "Summarize Cryptocurrency Market Dynamics from last year"}, {"role": "user", "content": "What are my health plans?"}, {"role": "assistant", "content": "Show available health plans"}, {"role": "user", "content": "Generate search query for: What is the capital of France?"}], "props": {"model": "gpt-4.1-mini", "deployment": "test-chatgpt", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}, {"title": "Search using generated search query", "description": "capital of France", "props": {"use_semantic_captions": false, "use_semantic_ranker": false, "use_query_rewriting": false, "top": 3, "filter": null, "use_vector_search": false, "use_text_search": true}}, {"title": "Search results", "description": [{"id": "file-Benefit_Options_pdf-42656E656669745F4F7074696F6E732E706466-page-2", "content": "There is a whistleblower policy.", "category": null, "sourcepage": "Benefit_Options-2.pdf", "sourcefile": "Benefit_Options.pdf", "oids": null, "groups": null, "captions": [{"additional_properties": {}, "text": "Caption: A whistleblower policy.", "highlights": []}], "score": 0.03279569745063782, "reranker_score": 3.4577205181121826, "search_agent_query": null}], "props": null}, {"title": "Prompt to generate answer", "description": [{"role": "system", "content": "Assistant helps the company employees with their healthcare plan questions, and questions about the employee handbook. Be brief in your answers.\nAnswer ONLY with the facts listed in the list of sources below. If there isn't enough information below, say you don't know. Do not generate answers that don't use the sources below. If asking a clarifying question to the user would help, ask the question.\nIf the question is not in English, answer in the language used in the question.\nEach source has a name followed by colon and the actual information, always include the source name for each fact you use in the response. Use square brackets to reference the source, for example [info1.txt]. Don't combine sources, list each source separately, for example [info1.txt][info2.pdf]."}, {"role": "user", "content": "What is the capital of France?\n\nSources:\n\nBenefit_Options-2.pdf: There is a whistleblower policy."}], "props": {"model": "gpt-4.1-mini", "deployment": "test-chatgpt", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}], "followup_questions": null}, "session_state": null} +{"delta": {"role": "assistant"}, "context": {"data_points": {"text": ["Benefit_Options-2.pdf: There is a whistleblower policy."], "images": null}, "thoughts": [{"title": "Prompt to generate search query", "description": [{"role": "system", "content": "Below is a history of the conversation so far, and a new question asked by the user that needs to be answered by searching in a knowledge base.\nYou have access to Azure AI Search index with 100's of documents.\nGenerate a search query based on the conversation and the new question.\nDo not include cited source filenames and document names e.g. info.txt or doc.pdf in the search query terms.\nDo not include any text inside [] or <<>> in the search query terms.\nDo not include any special characters like '+'.\nIf the question is not in English, translate the question to English before generating the search query.\nIf you cannot generate a search query, return just the number 0."}, {"role": "user", "content": "How did crypto do last year?"}, {"role": "assistant", "content": "Summarize Cryptocurrency Market Dynamics from last year"}, {"role": "user", "content": "What are my health plans?"}, {"role": "assistant", "content": "Show available health plans"}, {"role": "user", "content": "Generate search query for: What is the capital of France?"}], "props": {"model": "gpt-4.1", "deployment": "test-chatgpt", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}, {"title": "Search using generated search query", "description": "capital of France", "props": {"use_semantic_captions": false, "use_semantic_ranker": false, "use_query_rewriting": false, "top": 3, "filter": null, "use_vector_search": false, "use_text_search": true}}, {"title": "Search results", "description": [{"id": "file-Benefit_Options_pdf-42656E656669745F4F7074696F6E732E706466-page-2", "content": "There is a whistleblower policy.", "category": null, "sourcepage": "Benefit_Options-2.pdf", "sourcefile": "Benefit_Options.pdf", "oids": null, "groups": null, "captions": [{"additional_properties": {}, "text": "Caption: A whistleblower policy.", "highlights": []}], "score": 0.03279569745063782, "reranker_score": 3.4577205181121826, "search_agent_query": null}], "props": null}, {"title": "Prompt to generate answer", "description": [{"role": "system", "content": "Assistant helps the company employees with their healthcare plan questions, and questions about the employee handbook. Be brief in your answers.\nAnswer ONLY with the facts listed in the list of sources below. If there isn't enough information below, say you don't know. Do not generate answers that don't use the sources below. If asking a clarifying question to the user would help, ask the question.\nIf the question is not in English, answer in the language used in the question.\nEach source has a name followed by colon and the actual information, always include the source name for each fact you use in the response. Use square brackets to reference the source, for example [info1.txt]. Don't combine sources, list each source separately, for example [info1.txt][info2.pdf]."}, {"role": "user", "content": "What is the capital of France?\n\nSources:\n\nBenefit_Options-2.pdf: There is a whistleblower policy."}], "props": {"model": "gpt-4.1", "deployment": "test-chatgpt", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}], "followup_questions": null}, "session_state": null} diff --git a/tests/snapshots/test_app/test_chat_stream_text_filter/auth_client0/result.jsonlines b/tests/snapshots/test_app/test_chat_stream_text_filter/auth_client0/result.jsonlines index f01bdecf3e..dd1a2a14bc 100644 --- a/tests/snapshots/test_app/test_chat_stream_text_filter/auth_client0/result.jsonlines +++ b/tests/snapshots/test_app/test_chat_stream_text_filter/auth_client0/result.jsonlines @@ -1,4 +1,4 @@ -{"delta": {"role": "assistant"}, "context": {"data_points": {"text": ["Benefit_Options-2.pdf: There is a whistleblower policy."], "images": null}, "thoughts": [{"title": "Prompt to generate search query", "description": [{"role": "system", "content": "Below is a history of the conversation so far, and a new question asked by the user that needs to be answered by searching in a knowledge base.\nYou have access to Azure AI Search index with 100's of documents.\nGenerate a search query based on the conversation and the new question.\nDo not include cited source filenames and document names e.g. info.txt or doc.pdf in the search query terms.\nDo not include any text inside [] or <<>> in the search query terms.\nDo not include any special characters like '+'.\nIf the question is not in English, translate the question to English before generating the search query.\nIf you cannot generate a search query, return just the number 0."}, {"role": "user", "content": "How did crypto do last year?"}, {"role": "assistant", "content": "Summarize Cryptocurrency Market Dynamics from last year"}, {"role": "user", "content": "What are my health plans?"}, {"role": "assistant", "content": "Show available health plans"}, {"role": "user", "content": "Generate search query for: What is the capital of France?"}], "props": {"model": "gpt-4.1-mini", "deployment": "test-chatgpt", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}, {"title": "Search using generated search query", "description": "capital of France", "props": {"use_semantic_captions": false, "use_semantic_ranker": false, "use_query_rewriting": false, "top": 3, "filter": "category ne 'excluded' and (oids/any(g:search.in(g, 'OID_X')) or groups/any(g:search.in(g, 'GROUP_Y, GROUP_Z')))", "use_vector_search": false, "use_text_search": true}}, {"title": "Search results", "description": [{"id": "file-Benefit_Options_pdf-42656E656669745F4F7074696F6E732E706466-page-2", "content": "There is a whistleblower policy.", "category": null, "sourcepage": "Benefit_Options-2.pdf", "sourcefile": "Benefit_Options.pdf", "oids": null, "groups": null, "captions": [{"additional_properties": {}, "text": "Caption: A whistleblower policy.", "highlights": []}], "score": 0.03279569745063782, "reranker_score": 3.4577205181121826, "search_agent_query": null}], "props": null}, {"title": "Prompt to generate answer", "description": [{"role": "system", "content": "Assistant helps the company employees with their healthcare plan questions, and questions about the employee handbook. Be brief in your answers.\nAnswer ONLY with the facts listed in the list of sources below. If there isn't enough information below, say you don't know. Do not generate answers that don't use the sources below. If asking a clarifying question to the user would help, ask the question.\nIf the question is not in English, answer in the language used in the question.\nEach source has a name followed by colon and the actual information, always include the source name for each fact you use in the response. Use square brackets to reference the source, for example [info1.txt]. Don't combine sources, list each source separately, for example [info1.txt][info2.pdf]."}, {"role": "user", "content": "What is the capital of France?\n\nSources:\n\nBenefit_Options-2.pdf: There is a whistleblower policy."}], "props": {"model": "gpt-4.1-mini", "deployment": "test-chatgpt"}}], "followup_questions": null}, "session_state": null} +{"delta": {"role": "assistant"}, "context": {"data_points": {"text": ["Benefit_Options-2.pdf: There is a whistleblower policy."], "images": null}, "thoughts": [{"title": "Prompt to generate search query", "description": [{"role": "system", "content": "Below is a history of the conversation so far, and a new question asked by the user that needs to be answered by searching in a knowledge base.\nYou have access to Azure AI Search index with 100's of documents.\nGenerate a search query based on the conversation and the new question.\nDo not include cited source filenames and document names e.g. info.txt or doc.pdf in the search query terms.\nDo not include any text inside [] or <<>> in the search query terms.\nDo not include any special characters like '+'.\nIf the question is not in English, translate the question to English before generating the search query.\nIf you cannot generate a search query, return just the number 0."}, {"role": "user", "content": "How did crypto do last year?"}, {"role": "assistant", "content": "Summarize Cryptocurrency Market Dynamics from last year"}, {"role": "user", "content": "What are my health plans?"}, {"role": "assistant", "content": "Show available health plans"}, {"role": "user", "content": "Generate search query for: What is the capital of France?"}], "props": {"model": "gpt-4.1", "deployment": "test-chatgpt", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}, {"title": "Search using generated search query", "description": "capital of France", "props": {"use_semantic_captions": false, "use_semantic_ranker": false, "use_query_rewriting": false, "top": 3, "filter": "category ne 'excluded' and (oids/any(g:search.in(g, 'OID_X')) or groups/any(g:search.in(g, 'GROUP_Y, GROUP_Z')))", "use_vector_search": false, "use_text_search": true}}, {"title": "Search results", "description": [{"id": "file-Benefit_Options_pdf-42656E656669745F4F7074696F6E732E706466-page-2", "content": "There is a whistleblower policy.", "category": null, "sourcepage": "Benefit_Options-2.pdf", "sourcefile": "Benefit_Options.pdf", "oids": null, "groups": null, "captions": [{"additional_properties": {}, "text": "Caption: A whistleblower policy.", "highlights": []}], "score": 0.03279569745063782, "reranker_score": 3.4577205181121826, "search_agent_query": null}], "props": null}, {"title": "Prompt to generate answer", "description": [{"role": "system", "content": "Assistant helps the company employees with their healthcare plan questions, and questions about the employee handbook. Be brief in your answers.\nAnswer ONLY with the facts listed in the list of sources below. If there isn't enough information below, say you don't know. Do not generate answers that don't use the sources below. If asking a clarifying question to the user would help, ask the question.\nIf the question is not in English, answer in the language used in the question.\nEach source has a name followed by colon and the actual information, always include the source name for each fact you use in the response. Use square brackets to reference the source, for example [info1.txt]. Don't combine sources, list each source separately, for example [info1.txt][info2.pdf]."}, {"role": "user", "content": "What is the capital of France?\n\nSources:\n\nBenefit_Options-2.pdf: There is a whistleblower policy."}], "props": {"model": "gpt-4.1", "deployment": "test-chatgpt"}}], "followup_questions": null}, "session_state": null} {"delta": {"content": null, "role": "assistant"}} {"delta": {"content": "The capital of France is Paris. [Benefit_Options-2.pdf].", "role": null}} -{"delta": {"role": "assistant"}, "context": {"data_points": {"text": ["Benefit_Options-2.pdf: There is a whistleblower policy."], "images": null}, "thoughts": [{"title": "Prompt to generate search query", "description": [{"role": "system", "content": "Below is a history of the conversation so far, and a new question asked by the user that needs to be answered by searching in a knowledge base.\nYou have access to Azure AI Search index with 100's of documents.\nGenerate a search query based on the conversation and the new question.\nDo not include cited source filenames and document names e.g. info.txt or doc.pdf in the search query terms.\nDo not include any text inside [] or <<>> in the search query terms.\nDo not include any special characters like '+'.\nIf the question is not in English, translate the question to English before generating the search query.\nIf you cannot generate a search query, return just the number 0."}, {"role": "user", "content": "How did crypto do last year?"}, {"role": "assistant", "content": "Summarize Cryptocurrency Market Dynamics from last year"}, {"role": "user", "content": "What are my health plans?"}, {"role": "assistant", "content": "Show available health plans"}, {"role": "user", "content": "Generate search query for: What is the capital of France?"}], "props": {"model": "gpt-4.1-mini", "deployment": "test-chatgpt", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}, {"title": "Search using generated search query", "description": "capital of France", "props": {"use_semantic_captions": false, "use_semantic_ranker": false, "use_query_rewriting": false, "top": 3, "filter": "category ne 'excluded' and (oids/any(g:search.in(g, 'OID_X')) or groups/any(g:search.in(g, 'GROUP_Y, GROUP_Z')))", "use_vector_search": false, "use_text_search": true}}, {"title": "Search results", "description": [{"id": "file-Benefit_Options_pdf-42656E656669745F4F7074696F6E732E706466-page-2", "content": "There is a whistleblower policy.", "category": null, "sourcepage": "Benefit_Options-2.pdf", "sourcefile": "Benefit_Options.pdf", "oids": null, "groups": null, "captions": [{"additional_properties": {}, "text": "Caption: A whistleblower policy.", "highlights": []}], "score": 0.03279569745063782, "reranker_score": 3.4577205181121826, "search_agent_query": null}], "props": null}, {"title": "Prompt to generate answer", "description": [{"role": "system", "content": "Assistant helps the company employees with their healthcare plan questions, and questions about the employee handbook. Be brief in your answers.\nAnswer ONLY with the facts listed in the list of sources below. If there isn't enough information below, say you don't know. Do not generate answers that don't use the sources below. If asking a clarifying question to the user would help, ask the question.\nIf the question is not in English, answer in the language used in the question.\nEach source has a name followed by colon and the actual information, always include the source name for each fact you use in the response. Use square brackets to reference the source, for example [info1.txt]. Don't combine sources, list each source separately, for example [info1.txt][info2.pdf]."}, {"role": "user", "content": "What is the capital of France?\n\nSources:\n\nBenefit_Options-2.pdf: There is a whistleblower policy."}], "props": {"model": "gpt-4.1-mini", "deployment": "test-chatgpt", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}], "followup_questions": null}, "session_state": null} +{"delta": {"role": "assistant"}, "context": {"data_points": {"text": ["Benefit_Options-2.pdf: There is a whistleblower policy."], "images": null}, "thoughts": [{"title": "Prompt to generate search query", "description": [{"role": "system", "content": "Below is a history of the conversation so far, and a new question asked by the user that needs to be answered by searching in a knowledge base.\nYou have access to Azure AI Search index with 100's of documents.\nGenerate a search query based on the conversation and the new question.\nDo not include cited source filenames and document names e.g. info.txt or doc.pdf in the search query terms.\nDo not include any text inside [] or <<>> in the search query terms.\nDo not include any special characters like '+'.\nIf the question is not in English, translate the question to English before generating the search query.\nIf you cannot generate a search query, return just the number 0."}, {"role": "user", "content": "How did crypto do last year?"}, {"role": "assistant", "content": "Summarize Cryptocurrency Market Dynamics from last year"}, {"role": "user", "content": "What are my health plans?"}, {"role": "assistant", "content": "Show available health plans"}, {"role": "user", "content": "Generate search query for: What is the capital of France?"}], "props": {"model": "gpt-4.1", "deployment": "test-chatgpt", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}, {"title": "Search using generated search query", "description": "capital of France", "props": {"use_semantic_captions": false, "use_semantic_ranker": false, "use_query_rewriting": false, "top": 3, "filter": "category ne 'excluded' and (oids/any(g:search.in(g, 'OID_X')) or groups/any(g:search.in(g, 'GROUP_Y, GROUP_Z')))", "use_vector_search": false, "use_text_search": true}}, {"title": "Search results", "description": [{"id": "file-Benefit_Options_pdf-42656E656669745F4F7074696F6E732E706466-page-2", "content": "There is a whistleblower policy.", "category": null, "sourcepage": "Benefit_Options-2.pdf", "sourcefile": "Benefit_Options.pdf", "oids": null, "groups": null, "captions": [{"additional_properties": {}, "text": "Caption: A whistleblower policy.", "highlights": []}], "score": 0.03279569745063782, "reranker_score": 3.4577205181121826, "search_agent_query": null}], "props": null}, {"title": "Prompt to generate answer", "description": [{"role": "system", "content": "Assistant helps the company employees with their healthcare plan questions, and questions about the employee handbook. Be brief in your answers.\nAnswer ONLY with the facts listed in the list of sources below. If there isn't enough information below, say you don't know. Do not generate answers that don't use the sources below. If asking a clarifying question to the user would help, ask the question.\nIf the question is not in English, answer in the language used in the question.\nEach source has a name followed by colon and the actual information, always include the source name for each fact you use in the response. Use square brackets to reference the source, for example [info1.txt]. Don't combine sources, list each source separately, for example [info1.txt][info2.pdf]."}, {"role": "user", "content": "What is the capital of France?\n\nSources:\n\nBenefit_Options-2.pdf: There is a whistleblower policy."}], "props": {"model": "gpt-4.1", "deployment": "test-chatgpt", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}], "followup_questions": null}, "session_state": null} diff --git a/tests/snapshots/test_app/test_chat_stream_vision/client0/result.jsonlines b/tests/snapshots/test_app/test_chat_stream_vision/client0/result.jsonlines index b5b2e05426..b318266694 100644 --- a/tests/snapshots/test_app/test_chat_stream_vision/client0/result.jsonlines +++ b/tests/snapshots/test_app/test_chat_stream_vision/client0/result.jsonlines @@ -1,4 +1,4 @@ -{"delta": {"role": "assistant"}, "context": {"data_points": {"text": ["Financial Market Analysis Report 2023.pdf#page=6: 31 Financial markets are interconnected, with movements in one segment often influencing others. This section examines the correlations between stock indices, cryptocurrency prices, and commodity prices, revealing how changes in one market can have ripple effects across the financial ecosystem.Impact of Macroeconomic Factors Impact of Interest Rates, Inflation, and GDP Growth on Financial Markets 5 4 3 2 1 0 -1 2018 2019 -2 -3 -4 -5 2020 2021 2022 2023 Macroeconomic factors such as interest rates, inflation, and GDP growth play a pivotal role in shaping financial markets. This section analyzes how these factors have influenced stock, cryptocurrency, and commodity markets over recent years, providing insights into the complex relationship between the economy and financial market performance. -Interest Rates % -Inflation Data % GDP Growth % :unselected: :unselected:Future Predictions and Trends Relative Growth Trends for S&P 500, Bitcoin, and Oil Prices (2024 Indexed to 100) 2028 Based on historical data, current trends, and economic indicators, this section presents predictions "], "images": null}, "thoughts": [{"title": "Prompt to generate search query", "description": [{"role": "system", "content": "Below is a history of the conversation so far, and a new question asked by the user that needs to be answered by searching in a knowledge base.\nYou have access to Azure AI Search index with 100's of documents.\nGenerate a search query based on the conversation and the new question.\nDo not include cited source filenames and document names e.g. info.txt or doc.pdf in the search query terms.\nDo not include any text inside [] or <<>> in the search query terms.\nDo not include any special characters like '+'.\nIf the question is not in English, translate the question to English before generating the search query.\nIf you cannot generate a search query, return just the number 0."}, {"role": "user", "content": "How did crypto do last year?"}, {"role": "assistant", "content": "Summarize Cryptocurrency Market Dynamics from last year"}, {"role": "user", "content": "What are my health plans?"}, {"role": "assistant", "content": "Show available health plans"}, {"role": "user", "content": "Generate search query for: Are interest rates high?"}], "props": {"model": "gpt-4.1-mini", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}, {"title": "Search using generated search query", "description": "interest rates", "props": {"use_semantic_captions": false, "use_semantic_ranker": false, "use_query_rewriting": false, "top": 3, "filter": null, "use_vector_search": true, "use_text_search": true}}, {"title": "Search results", "description": [{"id": "file-Financial_Market_Analysis_Report_2023_pdf-46696E616E6369616C204D61726B657420416E616C79736973205265706F727420323032332E706466-page-14", "content": "31\nFinancial markets are interconnected, with movements in one segment often influencing others. This section examines the correlations between stock indices, cryptocurrency prices, and commodity prices, revealing how changes in one market can have ripple effects across the financial ecosystem.Impact of Macroeconomic Factors\nImpact of Interest Rates, Inflation, and GDP Growth on Financial Markets\n5\n4\n3\n2\n1\n0\n-1 2018 2019\n-2\n-3\n-4\n-5\n2020\n2021 2022 2023\nMacroeconomic factors such as interest rates, inflation, and GDP growth play a pivotal role in shaping financial markets. This section analyzes how these factors have influenced stock, cryptocurrency, and commodity markets over recent years, providing insights into the complex relationship between the economy and financial market performance.\n-Interest Rates % -Inflation Data % GDP Growth % :unselected: :unselected:Future Predictions and Trends\nRelative Growth Trends for S&P 500, Bitcoin, and Oil Prices (2024 Indexed to 100)\n2028\nBased on historical data, current trends, and economic indicators, this section presents predictions ", "category": null, "sourcepage": "Financial Market Analysis Report 2023-6.png", "sourcefile": "Financial Market Analysis Report 2023.pdf", "oids": null, "groups": null, "captions": [], "score": 0.04972677677869797, "reranker_score": 3.1704962253570557, "search_agent_query": null}], "props": null}, {"title": "Prompt to generate answer", "description": [{"role": "system", "content": "Assistant helps the company employees with their healthcare plan questions, and questions about the employee handbook. Be brief in your answers.\nAnswer ONLY with the facts listed in the list of sources below. If there isn't enough information below, say you don't know. Do not generate answers that don't use the sources below. If asking a clarifying question to the user would help, ask the question.\nIf the question is not in English, answer in the language used in the question.\nEach source has a name followed by colon and the actual information, always include the source name for each fact you use in the response. Use square brackets to reference the source, for example [info1.txt]. Don't combine sources, list each source separately, for example [info1.txt][info2.pdf]."}, {"role": "user", "content": "Are interest rates high?\n\nSources:\n\nFinancial Market Analysis Report 2023.pdf#page=6: 31 Financial markets are interconnected, with movements in one segment often influencing others. This section examines the correlations between stock indices, cryptocurrency prices, and commodity prices, revealing how changes in one market can have ripple effects across the financial ecosystem.Impact of Macroeconomic Factors Impact of Interest Rates, Inflation, and GDP Growth on Financial Markets 5 4 3 2 1 0 -1 2018 2019 -2 -3 -4 -5 2020 2021 2022 2023 Macroeconomic factors such as interest rates, inflation, and GDP growth play a pivotal role in shaping financial markets. This section analyzes how these factors have influenced stock, cryptocurrency, and commodity markets over recent years, providing insights into the complex relationship between the economy and financial market performance. -Interest Rates % -Inflation Data % GDP Growth % :unselected: :unselected:Future Predictions and Trends Relative Growth Trends for S&P 500, Bitcoin, and Oil Prices (2024 Indexed to 100) 2028 Based on historical data, current trends, and economic indicators, this section presents predictions"}], "props": {"model": "gpt-4.1-mini"}}], "followup_questions": null}, "session_state": null} +{"delta": {"role": "assistant"}, "context": {"data_points": {"text": ["Financial Market Analysis Report 2023.pdf#page=6: 31 Financial markets are interconnected, with movements in one segment often influencing others. This section examines the correlations between stock indices, cryptocurrency prices, and commodity prices, revealing how changes in one market can have ripple effects across the financial ecosystem.Impact of Macroeconomic Factors Impact of Interest Rates, Inflation, and GDP Growth on Financial Markets 5 4 3 2 1 0 -1 2018 2019 -2 -3 -4 -5 2020 2021 2022 2023 Macroeconomic factors such as interest rates, inflation, and GDP growth play a pivotal role in shaping financial markets. This section analyzes how these factors have influenced stock, cryptocurrency, and commodity markets over recent years, providing insights into the complex relationship between the economy and financial market performance. -Interest Rates % -Inflation Data % GDP Growth % :unselected: :unselected:Future Predictions and Trends Relative Growth Trends for S&P 500, Bitcoin, and Oil Prices (2024 Indexed to 100) 2028 Based on historical data, current trends, and economic indicators, this section presents predictions "], "images": null}, "thoughts": [{"title": "Prompt to generate search query", "description": [{"role": "system", "content": "Below is a history of the conversation so far, and a new question asked by the user that needs to be answered by searching in a knowledge base.\nYou have access to Azure AI Search index with 100's of documents.\nGenerate a search query based on the conversation and the new question.\nDo not include cited source filenames and document names e.g. info.txt or doc.pdf in the search query terms.\nDo not include any text inside [] or <<>> in the search query terms.\nDo not include any special characters like '+'.\nIf the question is not in English, translate the question to English before generating the search query.\nIf you cannot generate a search query, return just the number 0."}, {"role": "user", "content": "How did crypto do last year?"}, {"role": "assistant", "content": "Summarize Cryptocurrency Market Dynamics from last year"}, {"role": "user", "content": "What are my health plans?"}, {"role": "assistant", "content": "Show available health plans"}, {"role": "user", "content": "Generate search query for: Are interest rates high?"}], "props": {"model": "gpt-4.1", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}, {"title": "Search using generated search query", "description": "interest rates", "props": {"use_semantic_captions": false, "use_semantic_ranker": false, "use_query_rewriting": false, "top": 3, "filter": null, "use_vector_search": true, "use_text_search": true}}, {"title": "Search results", "description": [{"id": "file-Financial_Market_Analysis_Report_2023_pdf-46696E616E6369616C204D61726B657420416E616C79736973205265706F727420323032332E706466-page-14", "content": "31\nFinancial markets are interconnected, with movements in one segment often influencing others. This section examines the correlations between stock indices, cryptocurrency prices, and commodity prices, revealing how changes in one market can have ripple effects across the financial ecosystem.Impact of Macroeconomic Factors\nImpact of Interest Rates, Inflation, and GDP Growth on Financial Markets\n5\n4\n3\n2\n1\n0\n-1 2018 2019\n-2\n-3\n-4\n-5\n2020\n2021 2022 2023\nMacroeconomic factors such as interest rates, inflation, and GDP growth play a pivotal role in shaping financial markets. This section analyzes how these factors have influenced stock, cryptocurrency, and commodity markets over recent years, providing insights into the complex relationship between the economy and financial market performance.\n-Interest Rates % -Inflation Data % GDP Growth % :unselected: :unselected:Future Predictions and Trends\nRelative Growth Trends for S&P 500, Bitcoin, and Oil Prices (2024 Indexed to 100)\n2028\nBased on historical data, current trends, and economic indicators, this section presents predictions ", "category": null, "sourcepage": "Financial Market Analysis Report 2023-6.png", "sourcefile": "Financial Market Analysis Report 2023.pdf", "oids": null, "groups": null, "captions": [], "score": 0.04972677677869797, "reranker_score": 3.1704962253570557, "search_agent_query": null}], "props": null}, {"title": "Prompt to generate answer", "description": [{"role": "system", "content": "Assistant helps the company employees with their healthcare plan questions, and questions about the employee handbook. Be brief in your answers.\nAnswer ONLY with the facts listed in the list of sources below. If there isn't enough information below, say you don't know. Do not generate answers that don't use the sources below. If asking a clarifying question to the user would help, ask the question.\nIf the question is not in English, answer in the language used in the question.\nEach source has a name followed by colon and the actual information, always include the source name for each fact you use in the response. Use square brackets to reference the source, for example [info1.txt]. Don't combine sources, list each source separately, for example [info1.txt][info2.pdf]."}, {"role": "user", "content": "Are interest rates high?\n\nSources:\n\nFinancial Market Analysis Report 2023.pdf#page=6: 31 Financial markets are interconnected, with movements in one segment often influencing others. This section examines the correlations between stock indices, cryptocurrency prices, and commodity prices, revealing how changes in one market can have ripple effects across the financial ecosystem.Impact of Macroeconomic Factors Impact of Interest Rates, Inflation, and GDP Growth on Financial Markets 5 4 3 2 1 0 -1 2018 2019 -2 -3 -4 -5 2020 2021 2022 2023 Macroeconomic factors such as interest rates, inflation, and GDP growth play a pivotal role in shaping financial markets. This section analyzes how these factors have influenced stock, cryptocurrency, and commodity markets over recent years, providing insights into the complex relationship between the economy and financial market performance. -Interest Rates % -Inflation Data % GDP Growth % :unselected: :unselected:Future Predictions and Trends Relative Growth Trends for S&P 500, Bitcoin, and Oil Prices (2024 Indexed to 100) 2028 Based on historical data, current trends, and economic indicators, this section presents predictions"}], "props": {"model": "gpt-4.1"}}], "followup_questions": null}, "session_state": null} {"delta": {"content": null, "role": "assistant"}} {"delta": {"content": "The capital of France is Paris. [Benefit_Options-2.pdf].", "role": null}} -{"delta": {"role": "assistant"}, "context": {"data_points": {"text": ["Financial Market Analysis Report 2023.pdf#page=6: 31 Financial markets are interconnected, with movements in one segment often influencing others. This section examines the correlations between stock indices, cryptocurrency prices, and commodity prices, revealing how changes in one market can have ripple effects across the financial ecosystem.Impact of Macroeconomic Factors Impact of Interest Rates, Inflation, and GDP Growth on Financial Markets 5 4 3 2 1 0 -1 2018 2019 -2 -3 -4 -5 2020 2021 2022 2023 Macroeconomic factors such as interest rates, inflation, and GDP growth play a pivotal role in shaping financial markets. This section analyzes how these factors have influenced stock, cryptocurrency, and commodity markets over recent years, providing insights into the complex relationship between the economy and financial market performance. -Interest Rates % -Inflation Data % GDP Growth % :unselected: :unselected:Future Predictions and Trends Relative Growth Trends for S&P 500, Bitcoin, and Oil Prices (2024 Indexed to 100) 2028 Based on historical data, current trends, and economic indicators, this section presents predictions "], "images": null}, "thoughts": [{"title": "Prompt to generate search query", "description": [{"role": "system", "content": "Below is a history of the conversation so far, and a new question asked by the user that needs to be answered by searching in a knowledge base.\nYou have access to Azure AI Search index with 100's of documents.\nGenerate a search query based on the conversation and the new question.\nDo not include cited source filenames and document names e.g. info.txt or doc.pdf in the search query terms.\nDo not include any text inside [] or <<>> in the search query terms.\nDo not include any special characters like '+'.\nIf the question is not in English, translate the question to English before generating the search query.\nIf you cannot generate a search query, return just the number 0."}, {"role": "user", "content": "How did crypto do last year?"}, {"role": "assistant", "content": "Summarize Cryptocurrency Market Dynamics from last year"}, {"role": "user", "content": "What are my health plans?"}, {"role": "assistant", "content": "Show available health plans"}, {"role": "user", "content": "Generate search query for: Are interest rates high?"}], "props": {"model": "gpt-4.1-mini", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}, {"title": "Search using generated search query", "description": "interest rates", "props": {"use_semantic_captions": false, "use_semantic_ranker": false, "use_query_rewriting": false, "top": 3, "filter": null, "use_vector_search": true, "use_text_search": true}}, {"title": "Search results", "description": [{"id": "file-Financial_Market_Analysis_Report_2023_pdf-46696E616E6369616C204D61726B657420416E616C79736973205265706F727420323032332E706466-page-14", "content": "31\nFinancial markets are interconnected, with movements in one segment often influencing others. This section examines the correlations between stock indices, cryptocurrency prices, and commodity prices, revealing how changes in one market can have ripple effects across the financial ecosystem.Impact of Macroeconomic Factors\nImpact of Interest Rates, Inflation, and GDP Growth on Financial Markets\n5\n4\n3\n2\n1\n0\n-1 2018 2019\n-2\n-3\n-4\n-5\n2020\n2021 2022 2023\nMacroeconomic factors such as interest rates, inflation, and GDP growth play a pivotal role in shaping financial markets. This section analyzes how these factors have influenced stock, cryptocurrency, and commodity markets over recent years, providing insights into the complex relationship between the economy and financial market performance.\n-Interest Rates % -Inflation Data % GDP Growth % :unselected: :unselected:Future Predictions and Trends\nRelative Growth Trends for S&P 500, Bitcoin, and Oil Prices (2024 Indexed to 100)\n2028\nBased on historical data, current trends, and economic indicators, this section presents predictions ", "category": null, "sourcepage": "Financial Market Analysis Report 2023-6.png", "sourcefile": "Financial Market Analysis Report 2023.pdf", "oids": null, "groups": null, "captions": [], "score": 0.04972677677869797, "reranker_score": 3.1704962253570557, "search_agent_query": null}], "props": null}, {"title": "Prompt to generate answer", "description": [{"role": "system", "content": "Assistant helps the company employees with their healthcare plan questions, and questions about the employee handbook. Be brief in your answers.\nAnswer ONLY with the facts listed in the list of sources below. If there isn't enough information below, say you don't know. Do not generate answers that don't use the sources below. If asking a clarifying question to the user would help, ask the question.\nIf the question is not in English, answer in the language used in the question.\nEach source has a name followed by colon and the actual information, always include the source name for each fact you use in the response. Use square brackets to reference the source, for example [info1.txt]. Don't combine sources, list each source separately, for example [info1.txt][info2.pdf]."}, {"role": "user", "content": "Are interest rates high?\n\nSources:\n\nFinancial Market Analysis Report 2023.pdf#page=6: 31 Financial markets are interconnected, with movements in one segment often influencing others. This section examines the correlations between stock indices, cryptocurrency prices, and commodity prices, revealing how changes in one market can have ripple effects across the financial ecosystem.Impact of Macroeconomic Factors Impact of Interest Rates, Inflation, and GDP Growth on Financial Markets 5 4 3 2 1 0 -1 2018 2019 -2 -3 -4 -5 2020 2021 2022 2023 Macroeconomic factors such as interest rates, inflation, and GDP growth play a pivotal role in shaping financial markets. This section analyzes how these factors have influenced stock, cryptocurrency, and commodity markets over recent years, providing insights into the complex relationship between the economy and financial market performance. -Interest Rates % -Inflation Data % GDP Growth % :unselected: :unselected:Future Predictions and Trends Relative Growth Trends for S&P 500, Bitcoin, and Oil Prices (2024 Indexed to 100) 2028 Based on historical data, current trends, and economic indicators, this section presents predictions"}], "props": {"model": "gpt-4.1-mini", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}], "followup_questions": null}, "session_state": null} +{"delta": {"role": "assistant"}, "context": {"data_points": {"text": ["Financial Market Analysis Report 2023.pdf#page=6: 31 Financial markets are interconnected, with movements in one segment often influencing others. This section examines the correlations between stock indices, cryptocurrency prices, and commodity prices, revealing how changes in one market can have ripple effects across the financial ecosystem.Impact of Macroeconomic Factors Impact of Interest Rates, Inflation, and GDP Growth on Financial Markets 5 4 3 2 1 0 -1 2018 2019 -2 -3 -4 -5 2020 2021 2022 2023 Macroeconomic factors such as interest rates, inflation, and GDP growth play a pivotal role in shaping financial markets. This section analyzes how these factors have influenced stock, cryptocurrency, and commodity markets over recent years, providing insights into the complex relationship between the economy and financial market performance. -Interest Rates % -Inflation Data % GDP Growth % :unselected: :unselected:Future Predictions and Trends Relative Growth Trends for S&P 500, Bitcoin, and Oil Prices (2024 Indexed to 100) 2028 Based on historical data, current trends, and economic indicators, this section presents predictions "], "images": null}, "thoughts": [{"title": "Prompt to generate search query", "description": [{"role": "system", "content": "Below is a history of the conversation so far, and a new question asked by the user that needs to be answered by searching in a knowledge base.\nYou have access to Azure AI Search index with 100's of documents.\nGenerate a search query based on the conversation and the new question.\nDo not include cited source filenames and document names e.g. info.txt or doc.pdf in the search query terms.\nDo not include any text inside [] or <<>> in the search query terms.\nDo not include any special characters like '+'.\nIf the question is not in English, translate the question to English before generating the search query.\nIf you cannot generate a search query, return just the number 0."}, {"role": "user", "content": "How did crypto do last year?"}, {"role": "assistant", "content": "Summarize Cryptocurrency Market Dynamics from last year"}, {"role": "user", "content": "What are my health plans?"}, {"role": "assistant", "content": "Show available health plans"}, {"role": "user", "content": "Generate search query for: Are interest rates high?"}], "props": {"model": "gpt-4.1", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}, {"title": "Search using generated search query", "description": "interest rates", "props": {"use_semantic_captions": false, "use_semantic_ranker": false, "use_query_rewriting": false, "top": 3, "filter": null, "use_vector_search": true, "use_text_search": true}}, {"title": "Search results", "description": [{"id": "file-Financial_Market_Analysis_Report_2023_pdf-46696E616E6369616C204D61726B657420416E616C79736973205265706F727420323032332E706466-page-14", "content": "31\nFinancial markets are interconnected, with movements in one segment often influencing others. This section examines the correlations between stock indices, cryptocurrency prices, and commodity prices, revealing how changes in one market can have ripple effects across the financial ecosystem.Impact of Macroeconomic Factors\nImpact of Interest Rates, Inflation, and GDP Growth on Financial Markets\n5\n4\n3\n2\n1\n0\n-1 2018 2019\n-2\n-3\n-4\n-5\n2020\n2021 2022 2023\nMacroeconomic factors such as interest rates, inflation, and GDP growth play a pivotal role in shaping financial markets. This section analyzes how these factors have influenced stock, cryptocurrency, and commodity markets over recent years, providing insights into the complex relationship between the economy and financial market performance.\n-Interest Rates % -Inflation Data % GDP Growth % :unselected: :unselected:Future Predictions and Trends\nRelative Growth Trends for S&P 500, Bitcoin, and Oil Prices (2024 Indexed to 100)\n2028\nBased on historical data, current trends, and economic indicators, this section presents predictions ", "category": null, "sourcepage": "Financial Market Analysis Report 2023-6.png", "sourcefile": "Financial Market Analysis Report 2023.pdf", "oids": null, "groups": null, "captions": [], "score": 0.04972677677869797, "reranker_score": 3.1704962253570557, "search_agent_query": null}], "props": null}, {"title": "Prompt to generate answer", "description": [{"role": "system", "content": "Assistant helps the company employees with their healthcare plan questions, and questions about the employee handbook. Be brief in your answers.\nAnswer ONLY with the facts listed in the list of sources below. If there isn't enough information below, say you don't know. Do not generate answers that don't use the sources below. If asking a clarifying question to the user would help, ask the question.\nIf the question is not in English, answer in the language used in the question.\nEach source has a name followed by colon and the actual information, always include the source name for each fact you use in the response. Use square brackets to reference the source, for example [info1.txt]. Don't combine sources, list each source separately, for example [info1.txt][info2.pdf]."}, {"role": "user", "content": "Are interest rates high?\n\nSources:\n\nFinancial Market Analysis Report 2023.pdf#page=6: 31 Financial markets are interconnected, with movements in one segment often influencing others. This section examines the correlations between stock indices, cryptocurrency prices, and commodity prices, revealing how changes in one market can have ripple effects across the financial ecosystem.Impact of Macroeconomic Factors Impact of Interest Rates, Inflation, and GDP Growth on Financial Markets 5 4 3 2 1 0 -1 2018 2019 -2 -3 -4 -5 2020 2021 2022 2023 Macroeconomic factors such as interest rates, inflation, and GDP growth play a pivotal role in shaping financial markets. This section analyzes how these factors have influenced stock, cryptocurrency, and commodity markets over recent years, providing insights into the complex relationship between the economy and financial market performance. -Interest Rates % -Inflation Data % GDP Growth % :unselected: :unselected:Future Predictions and Trends Relative Growth Trends for S&P 500, Bitcoin, and Oil Prices (2024 Indexed to 100) 2028 Based on historical data, current trends, and economic indicators, this section presents predictions"}], "props": {"model": "gpt-4.1", "token_usage": {"prompt_tokens": 23, "completion_tokens": 896, "reasoning_tokens": 0, "total_tokens": 919}}}], "followup_questions": null}, "session_state": null} diff --git a/tests/snapshots/test_app/test_chat_stream_vision/client1/result.jsonlines b/tests/snapshots/test_app/test_chat_stream_vision/client1/result.jsonlines index 4b28a07f1f..62de75b93e 100644 --- a/tests/snapshots/test_app/test_chat_stream_vision/client1/result.jsonlines +++ b/tests/snapshots/test_app/test_chat_stream_vision/client1/result.jsonlines @@ -1,3 +1,3 @@ -{"delta": {"role": "assistant"}, "context": {"data_points": {"text": ["Financial Market Analysis Report 2023-6.png: 31 Financial markets are interconnected, with movements in one segment often influencing others. This section examines the correlations between stock indices, cryptocurrency prices, and commodity prices, revealing how changes in one market can have ripple effects across the financial ecosystem.Impact of Macroeconomic Factors Impact of Interest Rates, Inflation, and GDP Growth on Financial Markets 5 4 3 2 1 0 -1 2018 2019 -2 -3 -4 -5 2020 2021 2022 2023 Macroeconomic factors such as interest rates, inflation, and GDP growth play a pivotal role in shaping financial markets. This section analyzes how these factors have influenced stock, cryptocurrency, and commodity markets over recent years, providing insights into the complex relationship between the economy and financial market performance. -Interest Rates % -Inflation Data % GDP Growth % :unselected: :unselected:Future Predictions and Trends Relative Growth Trends for S&P 500, Bitcoin, and Oil Prices (2024 Indexed to 100) 2028 Based on historical data, current trends, and economic indicators, this section presents predictions "], "images": ["data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z/C/HgAGgwJ/lK3Q6wAAAABJRU5ErkJggg=="]}, "thoughts": [{"title": "Prompt to generate search query", "description": [{"role": "system", "content": "Below is a history of the conversation so far, and a new question asked by the user that needs to be answered by searching in a knowledge base.\nYou have access to Azure AI Search index with 100's of documents.\nGenerate a search query based on the conversation and the new question.\nDo not include cited source filenames and document names e.g. info.txt or doc.pdf in the search query terms.\nDo not include any text inside [] or <<>> in the search query terms.\nDo not include any special characters like '+'.\nIf the question is not in English, translate the question to English before generating the search query.\nIf you cannot generate a search query, return just the number 0."}, {"role": "user", "content": "How did crypto do last year?"}, {"role": "assistant", "content": "Summarize Cryptocurrency Market Dynamics from last year"}, {"role": "user", "content": "What are my health plans?"}, {"role": "assistant", "content": "Show available health plans"}, {"role": "user", "content": "Generate search query for: Are interest rates high?"}], "props": {"model": "gpt-4.1-mini", "deployment": "test-chatgpt"}}, {"title": "Search using generated search query", "description": "interest rates", "props": {"use_semantic_captions": false, "use_semantic_ranker": false, "use_query_rewriting": false, "top": 3, "filter": null, "vector_fields": "textAndImageEmbeddings", "use_text_search": true}}, {"title": "Search results", "description": [{"id": "file-Financial_Market_Analysis_Report_2023_pdf-46696E616E6369616C204D61726B657420416E616C79736973205265706F727420323032332E706466-page-14", "content": "31\nFinancial markets are interconnected, with movements in one segment often influencing others. This section examines the correlations between stock indices, cryptocurrency prices, and commodity prices, revealing how changes in one market can have ripple effects across the financial ecosystem.Impact of Macroeconomic Factors\nImpact of Interest Rates, Inflation, and GDP Growth on Financial Markets\n5\n4\n3\n2\n1\n0\n-1 2018 2019\n-2\n-3\n-4\n-5\n2020\n2021 2022 2023\nMacroeconomic factors such as interest rates, inflation, and GDP growth play a pivotal role in shaping financial markets. This section analyzes how these factors have influenced stock, cryptocurrency, and commodity markets over recent years, providing insights into the complex relationship between the economy and financial market performance.\n-Interest Rates % -Inflation Data % GDP Growth % :unselected: :unselected:Future Predictions and Trends\nRelative Growth Trends for S&P 500, Bitcoin, and Oil Prices (2024 Indexed to 100)\n2028\nBased on historical data, current trends, and economic indicators, this section presents predictions ", "category": null, "sourcepage": "Financial Market Analysis Report 2023-6.png", "sourcefile": "Financial Market Analysis Report 2023.pdf", "oids": null, "groups": null, "captions": [], "score": 0.04972677677869797, "reranker_score": 3.1704962253570557, "search_agent_query": null}], "props": null}, {"title": "Prompt to generate answer", "description": [{"role": "system", "content": "You are an intelligent assistant helping analyze the Annual Financial Report of Contoso Ltd., The documents contain text, graphs, tables and images.\nEach image source has the file name in the top left corner of the image with coordinates (10,10) pixels and is in the format SourceFileName:\nEach text source starts in a new line and has the file name followed by colon and the actual information\nAlways include the source name from the image or text for each fact you use in the response in the format: [filename]\nAnswer the following question using only the data provided in the sources below.\nIf asking a clarifying question to the user would help, ask the question.\nBe brief in your answers.\nThe text and image source can be the same file name, don't use the image title when citing the image source, only use the file name as mentioned\nIf you cannot answer using the sources below, say you don't know. Return just the answer without any input texts."}, {"role": "user", "content": [{"type": "text", "text": "Are interest rates high?"}, {"type": "image_url", "image_url": {"url": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z/C/HgAGgwJ/lK3Q6wAAAABJRU5ErkJggg=="}}, {"type": "text", "text": "Sources:\n\nFinancial Market Analysis Report 2023-6.png: 31 Financial markets are interconnected, with movements in one segment often influencing others. This section examines the correlations between stock indices, cryptocurrency prices, and commodity prices, revealing how changes in one market can have ripple effects across the financial ecosystem.Impact of Macroeconomic Factors Impact of Interest Rates, Inflation, and GDP Growth on Financial Markets 5 4 3 2 1 0 -1 2018 2019 -2 -3 -4 -5 2020 2021 2022 2023 Macroeconomic factors such as interest rates, inflation, and GDP growth play a pivotal role in shaping financial markets. This section analyzes how these factors have influenced stock, cryptocurrency, and commodity markets over recent years, providing insights into the complex relationship between the economy and financial market performance. -Interest Rates % -Inflation Data % GDP Growth % :unselected: :unselected:Future Predictions and Trends Relative Growth Trends for S&P 500, Bitcoin, and Oil Prices (2024 Indexed to 100) 2028 Based on historical data, current trends, and economic indicators, this section presents predictions"}]}], "props": {"model": "gpt-4"}}], "followup_questions": null}, "session_state": null} +{"delta": {"role": "assistant"}, "context": {"data_points": {"text": ["Financial Market Analysis Report 2023-6.png: 31 Financial markets are interconnected, with movements in one segment often influencing others. This section examines the correlations between stock indices, cryptocurrency prices, and commodity prices, revealing how changes in one market can have ripple effects across the financial ecosystem.Impact of Macroeconomic Factors Impact of Interest Rates, Inflation, and GDP Growth on Financial Markets 5 4 3 2 1 0 -1 2018 2019 -2 -3 -4 -5 2020 2021 2022 2023 Macroeconomic factors such as interest rates, inflation, and GDP growth play a pivotal role in shaping financial markets. This section analyzes how these factors have influenced stock, cryptocurrency, and commodity markets over recent years, providing insights into the complex relationship between the economy and financial market performance. -Interest Rates % -Inflation Data % GDP Growth % :unselected: :unselected:Future Predictions and Trends Relative Growth Trends for S&P 500, Bitcoin, and Oil Prices (2024 Indexed to 100) 2028 Based on historical data, current trends, and economic indicators, this section presents predictions "], "images": ["data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z/C/HgAGgwJ/lK3Q6wAAAABJRU5ErkJggg=="]}, "thoughts": [{"title": "Prompt to generate search query", "description": [{"role": "system", "content": "Below is a history of the conversation so far, and a new question asked by the user that needs to be answered by searching in a knowledge base.\nYou have access to Azure AI Search index with 100's of documents.\nGenerate a search query based on the conversation and the new question.\nDo not include cited source filenames and document names e.g. info.txt or doc.pdf in the search query terms.\nDo not include any text inside [] or <<>> in the search query terms.\nDo not include any special characters like '+'.\nIf the question is not in English, translate the question to English before generating the search query.\nIf you cannot generate a search query, return just the number 0."}, {"role": "user", "content": "How did crypto do last year?"}, {"role": "assistant", "content": "Summarize Cryptocurrency Market Dynamics from last year"}, {"role": "user", "content": "What are my health plans?"}, {"role": "assistant", "content": "Show available health plans"}, {"role": "user", "content": "Generate search query for: Are interest rates high?"}], "props": {"model": "gpt-4.1", "deployment": "test-chatgpt"}}, {"title": "Search using generated search query", "description": "interest rates", "props": {"use_semantic_captions": false, "use_semantic_ranker": false, "use_query_rewriting": false, "top": 3, "filter": null, "vector_fields": "textAndImageEmbeddings", "use_text_search": true}}, {"title": "Search results", "description": [{"id": "file-Financial_Market_Analysis_Report_2023_pdf-46696E616E6369616C204D61726B657420416E616C79736973205265706F727420323032332E706466-page-14", "content": "31\nFinancial markets are interconnected, with movements in one segment often influencing others. This section examines the correlations between stock indices, cryptocurrency prices, and commodity prices, revealing how changes in one market can have ripple effects across the financial ecosystem.Impact of Macroeconomic Factors\nImpact of Interest Rates, Inflation, and GDP Growth on Financial Markets\n5\n4\n3\n2\n1\n0\n-1 2018 2019\n-2\n-3\n-4\n-5\n2020\n2021 2022 2023\nMacroeconomic factors such as interest rates, inflation, and GDP growth play a pivotal role in shaping financial markets. This section analyzes how these factors have influenced stock, cryptocurrency, and commodity markets over recent years, providing insights into the complex relationship between the economy and financial market performance.\n-Interest Rates % -Inflation Data % GDP Growth % :unselected: :unselected:Future Predictions and Trends\nRelative Growth Trends for S&P 500, Bitcoin, and Oil Prices (2024 Indexed to 100)\n2028\nBased on historical data, current trends, and economic indicators, this section presents predictions ", "category": null, "sourcepage": "Financial Market Analysis Report 2023-6.png", "sourcefile": "Financial Market Analysis Report 2023.pdf", "oids": null, "groups": null, "captions": [], "score": 0.04972677677869797, "reranker_score": 3.1704962253570557, "search_agent_query": null}], "props": null}, {"title": "Prompt to generate answer", "description": [{"role": "system", "content": "You are an intelligent assistant helping analyze the Annual Financial Report of Contoso Ltd., The documents contain text, graphs, tables and images.\nEach image source has the file name in the top left corner of the image with coordinates (10,10) pixels and is in the format SourceFileName:\nEach text source starts in a new line and has the file name followed by colon and the actual information\nAlways include the source name from the image or text for each fact you use in the response in the format: [filename]\nAnswer the following question using only the data provided in the sources below.\nIf asking a clarifying question to the user would help, ask the question.\nBe brief in your answers.\nThe text and image source can be the same file name, don't use the image title when citing the image source, only use the file name as mentioned\nIf you cannot answer using the sources below, say you don't know. Return just the answer without any input texts."}, {"role": "user", "content": [{"type": "text", "text": "Are interest rates high?"}, {"type": "image_url", "image_url": {"url": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z/C/HgAGgwJ/lK3Q6wAAAABJRU5ErkJggg=="}}, {"type": "text", "text": "Sources:\n\nFinancial Market Analysis Report 2023-6.png: 31 Financial markets are interconnected, with movements in one segment often influencing others. This section examines the correlations between stock indices, cryptocurrency prices, and commodity prices, revealing how changes in one market can have ripple effects across the financial ecosystem.Impact of Macroeconomic Factors Impact of Interest Rates, Inflation, and GDP Growth on Financial Markets 5 4 3 2 1 0 -1 2018 2019 -2 -3 -4 -5 2020 2021 2022 2023 Macroeconomic factors such as interest rates, inflation, and GDP growth play a pivotal role in shaping financial markets. This section analyzes how these factors have influenced stock, cryptocurrency, and commodity markets over recent years, providing insights into the complex relationship between the economy and financial market performance. -Interest Rates % -Inflation Data % GDP Growth % :unselected: :unselected:Future Predictions and Trends Relative Growth Trends for S&P 500, Bitcoin, and Oil Prices (2024 Indexed to 100) 2028 Based on historical data, current trends, and economic indicators, this section presents predictions"}]}], "props": {"model": "gpt-4"}}], "followup_questions": null}, "session_state": null} {"delta": {"content": null, "role": "assistant"}} {"delta": {"content": "From the provided sources, the impact of interest rates and GDP growth on financial markets can be observed through the line graph. [Financial Market Analysis Report 2023-7.png]", "role": null}} diff --git a/tests/snapshots/test_app/test_chat_text/client0/result.json b/tests/snapshots/test_app/test_chat_text/client0/result.json index 099a6671d0..122193fad1 100644 --- a/tests/snapshots/test_app/test_chat_text/client0/result.json +++ b/tests/snapshots/test_app/test_chat_text/client0/result.json @@ -36,7 +36,7 @@ } ], "props": { - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, @@ -96,7 +96,7 @@ } ], "props": { - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_chat_text/client1/result.json b/tests/snapshots/test_app/test_chat_text/client1/result.json index cbc70d27ec..811fa46b74 100644 --- a/tests/snapshots/test_app/test_chat_text/client1/result.json +++ b/tests/snapshots/test_app/test_chat_text/client1/result.json @@ -37,7 +37,7 @@ ], "props": { "deployment": "test-chatgpt", - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, @@ -98,7 +98,7 @@ ], "props": { "deployment": "test-chatgpt", - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_chat_text_agent/agent_client0/result.json b/tests/snapshots/test_app/test_chat_text_agent/agent_client0/result.json index c249658ac0..c9f6636d9d 100644 --- a/tests/snapshots/test_app/test_chat_text_agent/agent_client0/result.json +++ b/tests/snapshots/test_app/test_chat_text_agent/agent_client0/result.json @@ -40,8 +40,8 @@ } ], "props": { - "deployment": "gpt-4.1-mini", - "model": "gpt-4.1-mini", + "deployment": "gpt-4.1", + "model": "gpt-4.1", "query_plan": [ { "elapsed_ms": 200, @@ -76,8 +76,8 @@ } ], "props": { - "deployment": "gpt-4.1-mini", - "model": "gpt-4.1-mini", + "deployment": "gpt-4.1", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_chat_text_filter/auth_client0/result.json b/tests/snapshots/test_app/test_chat_text_filter/auth_client0/result.json index 6e222b7312..80cf591a92 100644 --- a/tests/snapshots/test_app/test_chat_text_filter/auth_client0/result.json +++ b/tests/snapshots/test_app/test_chat_text_filter/auth_client0/result.json @@ -37,7 +37,7 @@ ], "props": { "deployment": "test-chatgpt", - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, @@ -98,7 +98,7 @@ ], "props": { "deployment": "test-chatgpt", - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_chat_text_filter_agent/agent_auth_client0/result.json b/tests/snapshots/test_app/test_chat_text_filter_agent/agent_auth_client0/result.json index a14482013a..ca472f4c49 100644 --- a/tests/snapshots/test_app/test_chat_text_filter_agent/agent_auth_client0/result.json +++ b/tests/snapshots/test_app/test_chat_text_filter_agent/agent_auth_client0/result.json @@ -40,8 +40,8 @@ } ], "props": { - "deployment": "gpt-4.1-mini", - "model": "gpt-4.1-mini", + "deployment": "gpt-4.1", + "model": "gpt-4.1", "query_plan": [ { "elapsed_ms": 200, @@ -76,8 +76,8 @@ } ], "props": { - "deployment": "gpt-4.1-mini", - "model": "gpt-4.1-mini", + "deployment": "gpt-4.1", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_chat_text_filter_public_documents/auth_public_documents_client0/result.json b/tests/snapshots/test_app/test_chat_text_filter_public_documents/auth_public_documents_client0/result.json index 27eba9f32e..1c2118c7eb 100644 --- a/tests/snapshots/test_app/test_chat_text_filter_public_documents/auth_public_documents_client0/result.json +++ b/tests/snapshots/test_app/test_chat_text_filter_public_documents/auth_public_documents_client0/result.json @@ -37,7 +37,7 @@ ], "props": { "deployment": "test-chatgpt", - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, @@ -98,7 +98,7 @@ ], "props": { "deployment": "test-chatgpt", - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_chat_text_semantic_ranker/client0/result.json b/tests/snapshots/test_app/test_chat_text_semantic_ranker/client0/result.json index 740f2d75d9..bca95cc370 100644 --- a/tests/snapshots/test_app/test_chat_text_semantic_ranker/client0/result.json +++ b/tests/snapshots/test_app/test_chat_text_semantic_ranker/client0/result.json @@ -36,7 +36,7 @@ } ], "props": { - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, @@ -96,7 +96,7 @@ } ], "props": { - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_chat_text_semantic_ranker/client1/result.json b/tests/snapshots/test_app/test_chat_text_semantic_ranker/client1/result.json index eb1a308a75..51a9de2d89 100644 --- a/tests/snapshots/test_app/test_chat_text_semantic_ranker/client1/result.json +++ b/tests/snapshots/test_app/test_chat_text_semantic_ranker/client1/result.json @@ -37,7 +37,7 @@ ], "props": { "deployment": "test-chatgpt", - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, @@ -98,7 +98,7 @@ ], "props": { "deployment": "test-chatgpt", - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_chat_text_semanticcaptions/client0/result.json b/tests/snapshots/test_app/test_chat_text_semanticcaptions/client0/result.json index c7df144bfd..5f7f554921 100644 --- a/tests/snapshots/test_app/test_chat_text_semanticcaptions/client0/result.json +++ b/tests/snapshots/test_app/test_chat_text_semanticcaptions/client0/result.json @@ -36,7 +36,7 @@ } ], "props": { - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, @@ -96,7 +96,7 @@ } ], "props": { - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_chat_text_semanticcaptions/client1/result.json b/tests/snapshots/test_app/test_chat_text_semanticcaptions/client1/result.json index b0abe59bbf..1c55b8abfd 100644 --- a/tests/snapshots/test_app/test_chat_text_semanticcaptions/client1/result.json +++ b/tests/snapshots/test_app/test_chat_text_semanticcaptions/client1/result.json @@ -37,7 +37,7 @@ ], "props": { "deployment": "test-chatgpt", - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, @@ -98,7 +98,7 @@ ], "props": { "deployment": "test-chatgpt", - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_chat_text_semanticranker/client0/result.json b/tests/snapshots/test_app/test_chat_text_semanticranker/client0/result.json index 740f2d75d9..bca95cc370 100644 --- a/tests/snapshots/test_app/test_chat_text_semanticranker/client0/result.json +++ b/tests/snapshots/test_app/test_chat_text_semanticranker/client0/result.json @@ -36,7 +36,7 @@ } ], "props": { - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, @@ -96,7 +96,7 @@ } ], "props": { - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_chat_text_semanticranker/client1/result.json b/tests/snapshots/test_app/test_chat_text_semanticranker/client1/result.json index eb1a308a75..51a9de2d89 100644 --- a/tests/snapshots/test_app/test_chat_text_semanticranker/client1/result.json +++ b/tests/snapshots/test_app/test_chat_text_semanticranker/client1/result.json @@ -37,7 +37,7 @@ ], "props": { "deployment": "test-chatgpt", - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, @@ -98,7 +98,7 @@ ], "props": { "deployment": "test-chatgpt", - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_chat_vector/client0/result.json b/tests/snapshots/test_app/test_chat_vector/client0/result.json index 8de81cb8fc..dce1deb714 100644 --- a/tests/snapshots/test_app/test_chat_vector/client0/result.json +++ b/tests/snapshots/test_app/test_chat_vector/client0/result.json @@ -36,7 +36,7 @@ } ], "props": { - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, @@ -96,7 +96,7 @@ } ], "props": { - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_chat_vector/client1/result.json b/tests/snapshots/test_app/test_chat_vector/client1/result.json index fda2ed18ac..71e621a724 100644 --- a/tests/snapshots/test_app/test_chat_vector/client1/result.json +++ b/tests/snapshots/test_app/test_chat_vector/client1/result.json @@ -37,7 +37,7 @@ ], "props": { "deployment": "test-chatgpt", - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, @@ -98,7 +98,7 @@ ], "props": { "deployment": "test-chatgpt", - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_chat_vector_semantic_ranker/client0/result.json b/tests/snapshots/test_app/test_chat_vector_semantic_ranker/client0/result.json index e81da1c15c..c60c6bebc8 100644 --- a/tests/snapshots/test_app/test_chat_vector_semantic_ranker/client0/result.json +++ b/tests/snapshots/test_app/test_chat_vector_semantic_ranker/client0/result.json @@ -36,7 +36,7 @@ } ], "props": { - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, @@ -96,7 +96,7 @@ } ], "props": { - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_chat_vector_semantic_ranker/client1/result.json b/tests/snapshots/test_app/test_chat_vector_semantic_ranker/client1/result.json index ca719eaea1..8c8de43629 100644 --- a/tests/snapshots/test_app/test_chat_vector_semantic_ranker/client1/result.json +++ b/tests/snapshots/test_app/test_chat_vector_semantic_ranker/client1/result.json @@ -37,7 +37,7 @@ ], "props": { "deployment": "test-chatgpt", - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, @@ -98,7 +98,7 @@ ], "props": { "deployment": "test-chatgpt", - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_chat_vision/client0/result.json b/tests/snapshots/test_app/test_chat_vision/client0/result.json index f02a1f5c77..0557e47038 100644 --- a/tests/snapshots/test_app/test_chat_vision/client0/result.json +++ b/tests/snapshots/test_app/test_chat_vision/client0/result.json @@ -36,7 +36,7 @@ } ], "props": { - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, @@ -90,7 +90,7 @@ } ], "props": { - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_chat_vision/client0/result.jsonlines b/tests/snapshots/test_app/test_chat_vision/client0/result.jsonlines index a0cd256acd..efbe427bd0 100644 --- a/tests/snapshots/test_app/test_chat_vision/client0/result.jsonlines +++ b/tests/snapshots/test_app/test_chat_vision/client0/result.jsonlines @@ -1,3 +1,3 @@ {"choices": [{"delta": {"role": "assistant"}, "context": {"data_points": {"text": ["Benefit_Options-2.pdf: There is a whistleblower policy."]}, "thoughts": [{"title": "Original user query", "description": "Are interest rates high?", "props": null}, {"title": "Generated search query", "description": "The capital of France is Paris. [Benefit_Options-2.pdf].", "props": {"semanticCaptions": false, "has_vector": true}}, {"title": "Results", "description": [{"id": "file-Benefit_Options_pdf-42656E656669745F4F7074696F6E732E706466-page-2", "content": "There is a whistleblower policy.", "embedding": null, "imageEmbedding": null, "category": null, "sourcepage": "Benefit_Options-2.pdf", "sourcefile": "Benefit_Options.pdf", "oids": null, "groups": null, "captions": [{"additional_properties": {}, "text": "Caption: A whistleblower policy.", "highlights": []}]}], "props": null}, {"title": "Prompt", "description": ["{'role': 'system', 'content': \"Assistant helps the company employees with their healthcare plan questions, and questions about the employee handbook. Be brief in your answers.\\n Answer ONLY with the facts listed in the list of sources below. If there isn't enough information below, say you don't know. Do not generate answers that don't use the sources below. If asking a clarifying question to the user would help, ask the question.\\n For tabular information return it as an html table. Do not return markdown format. If the question is not in English, answer in the language used in the question.\\n Each source has a name followed by colon and the actual information, always include the source name for each fact you use in the response. Use square brackets to reference the source, for example [info1.txt]. Don't combine sources, list each source separately, for example [info1.txt][info2.pdf].\\n \\n \\n \"}", "{'role': 'user', 'content': 'Are interest rates high?\\n\\nSources:\\nBenefit_Options-2.pdf: There is a whistleblower policy.'}"], "props": null}]}, "session_state": null, "finish_reason": null, "index": 0}], "object": "chat.completion.chunk"} -{"id": "test-id", "choices": [{"delta": {"content": null, "function_call": null, "role": "assistant", "tool_calls": null}, "finish_reason": null, "index": 0}], "created": 1, "model": "gpt-4.1-mini", "object": "chat.completion.chunk", "system_fingerprint": null} -{"id": "test-id", "choices": [{"delta": {"content": "The capital of France is Paris. [Benefit_Options-2.pdf].", "function_call": null, "role": null, "tool_calls": null}, "finish_reason": null, "index": 0}], "created": 1, "model": "gpt-4.1-mini", "object": "chat.completion.chunk", "system_fingerprint": null} +{"id": "test-id", "choices": [{"delta": {"content": null, "function_call": null, "role": "assistant", "tool_calls": null}, "finish_reason": null, "index": 0}], "created": 1, "model": "gpt-4.1", "object": "chat.completion.chunk", "system_fingerprint": null} +{"id": "test-id", "choices": [{"delta": {"content": "The capital of France is Paris. [Benefit_Options-2.pdf].", "function_call": null, "role": null, "tool_calls": null}, "finish_reason": null, "index": 0}], "created": 1, "model": "gpt-4.1", "object": "chat.completion.chunk", "system_fingerprint": null} diff --git a/tests/snapshots/test_app/test_chat_vision/client1/result.json b/tests/snapshots/test_app/test_chat_vision/client1/result.json index 364144b7a0..0b06066212 100644 --- a/tests/snapshots/test_app/test_chat_vision/client1/result.json +++ b/tests/snapshots/test_app/test_chat_vision/client1/result.json @@ -39,7 +39,7 @@ ], "props": { "deployment": "test-chatgpt", - "model": "gpt-4.1-mini" + "model": "gpt-4.1" }, "title": "Prompt to generate search query" }, diff --git a/tests/snapshots/test_app/test_chat_vision/client1/result.jsonlines b/tests/snapshots/test_app/test_chat_vision/client1/result.jsonlines index dd48a91ae7..b0bbb59161 100644 --- a/tests/snapshots/test_app/test_chat_vision/client1/result.jsonlines +++ b/tests/snapshots/test_app/test_chat_vision/client1/result.jsonlines @@ -1,3 +1,3 @@ {"choices": [{"delta": {"role": "assistant"}, "context": {"data_points": {"text": ["Benefit_Options-2.pdf: There is a whistleblower policy."], "images": [{"url": "data:image/png;base64,iVBOR1BORw0KGgoAAAANSUhEUgAAAAEAAAABAQAAAAA3bvkkAAAACklEQVR4nGMAAQAABQABDQ0tuhsAAAAASUVORK5CYII=", "detail": "auto"}]}, "thoughts": [{"title": "Original user query", "description": "Are interest rates high?", "props": null}, {"title": "Generated search query", "description": "The capital of France is Paris. [Benefit_Options-2.pdf].", "props": {"semanticCaptions": false, "vector_fields": "textAndImageEmbeddings"}}, {"title": "Results", "description": [{"id": "file-Benefit_Options_pdf-42656E656669745F4F7074696F6E732E706466-page-2", "content": "There is a whistleblower policy.", "embedding": null, "imageEmbedding": null, "category": null, "sourcepage": "Benefit_Options-2.pdf", "sourcefile": "Benefit_Options.pdf", "oids": null, "groups": null, "captions": [{"additional_properties": {}, "text": "Caption: A whistleblower policy.", "highlights": []}]}], "props": null}, {"title": "Prompt", "description": ["{'role': 'system', 'content': \"\\n You are an intelligent assistant helping analyze the Annual Financial Report of Contoso Ltd., The documents contain text, graphs, tables and images.\\n Each image source has the file name in the top left corner of the image with coordinates (10,10) pixels and is in the format SourceFileName:\\n Each text source starts in a new line and has the file name followed by colon and the actual information\\n Always include the source name from the image or text for each fact you use in the response in the format: [filename]\\n Answer the following question using only the data provided in the sources below.\\n If asking a clarifying question to the user would help, ask the question.\\n Be brief in your answers.\\n For tabular information return it as an html table. Do not return markdown format.\\n The text and image source can be the same file name, don't use the image title when citing the image source, only use the file name as mentioned\\n If you cannot answer using the sources below, say you don't know. Return just the answer without any input texts.\\n \\n \\n \"}", "{'role': 'user', 'content': [{'text': 'Are interest rates high?', 'type': 'text'}, {'text': '\\n\\nSources:\\nBenefit_Options-2.pdf: There is a whistleblower policy.', 'type': 'text'}, {'image_url': {'url': 'data:image/png;base64,iVBOR1BORw0KGgoAAAANSUhEUgAAAAEAAAABAQAAAAA3bvkkAAAACklEQVR4nGMAAQAABQABDQ0tuhsAAAAASUVORK5CYII=', 'detail': 'auto'}, 'type': 'image_url'}]}"], "props": null}]}, "session_state": null, "finish_reason": null, "index": 0}], "object": "chat.completion.chunk"} -{"id": "test-id", "choices": [{"delta": {"content": null, "function_call": null, "role": "assistant", "tool_calls": null}, "finish_reason": null, "index": 0}], "created": 1, "model": "gpt-4.1-mini", "object": "chat.completion.chunk", "system_fingerprint": null} -{"id": "test-id", "choices": [{"delta": {"content": "The capital of France is Paris. [Benefit_Options-2.pdf].", "function_call": null, "role": null, "tool_calls": null}, "finish_reason": null, "index": 0}], "created": 1, "model": "gpt-4.1-mini", "object": "chat.completion.chunk", "system_fingerprint": null} +{"id": "test-id", "choices": [{"delta": {"content": null, "function_call": null, "role": "assistant", "tool_calls": null}, "finish_reason": null, "index": 0}], "created": 1, "model": "gpt-4.1", "object": "chat.completion.chunk", "system_fingerprint": null} +{"id": "test-id", "choices": [{"delta": {"content": "The capital of France is Paris. [Benefit_Options-2.pdf].", "function_call": null, "role": null, "tool_calls": null}, "finish_reason": null, "index": 0}], "created": 1, "model": "gpt-4.1", "object": "chat.completion.chunk", "system_fingerprint": null} diff --git a/tests/snapshots/test_app/test_chat_vision_vectors/client0/result.json b/tests/snapshots/test_app/test_chat_vision_vectors/client0/result.json index ad8ff0b447..cf408188c3 100644 --- a/tests/snapshots/test_app/test_chat_vision_vectors/client0/result.json +++ b/tests/snapshots/test_app/test_chat_vision_vectors/client0/result.json @@ -36,7 +36,7 @@ } ], "props": { - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, @@ -96,7 +96,7 @@ } ], "props": { - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_chat_vision_vectors/client0/result.jsonlines b/tests/snapshots/test_app/test_chat_vision_vectors/client0/result.jsonlines index af508450f6..014407bee7 100644 --- a/tests/snapshots/test_app/test_chat_vision_vectors/client0/result.jsonlines +++ b/tests/snapshots/test_app/test_chat_vision_vectors/client0/result.jsonlines @@ -1,3 +1,3 @@ {"choices": [{"delta": {"role": "assistant"}, "context": {"data_points": {"text": ["Benefit_Options-2.pdf: There is a whistleblower policy."]}, "thoughts": [{"title": "Original user query", "description": "Are interest rates high?", "props": null}, {"title": "Generated search query", "description": null, "props": {"semanticCaptions": false, "has_vector": true}}, {"title": "Results", "description": [{"id": "file-Benefit_Options_pdf-42656E656669745F4F7074696F6E732E706466-page-2", "content": "There is a whistleblower policy.", "embedding": null, "imageEmbedding": null, "category": null, "sourcepage": "Benefit_Options-2.pdf", "sourcefile": "Benefit_Options.pdf", "oids": null, "groups": null, "captions": [{"additional_properties": {}, "text": "Caption: A whistleblower policy.", "highlights": []}]}], "props": null}, {"title": "Prompt", "description": ["{'role': 'system', 'content': \"Assistant helps the company employees with their healthcare plan questions, and questions about the employee handbook. Be brief in your answers.\\n Answer ONLY with the facts listed in the list of sources below. If there isn't enough information below, say you don't know. Do not generate answers that don't use the sources below. If asking a clarifying question to the user would help, ask the question.\\n For tabular information return it as an html table. Do not return markdown format. If the question is not in English, answer in the language used in the question.\\n Each source has a name followed by colon and the actual information, always include the source name for each fact you use in the response. Use square brackets to reference the source, for example [info1.txt]. Don't combine sources, list each source separately, for example [info1.txt][info2.pdf].\\n \\n \\n \"}", "{'role': 'user', 'content': 'Are interest rates high?\\n\\nSources:\\nBenefit_Options-2.pdf: There is a whistleblower policy.'}"], "props": null}]}, "session_state": null, "finish_reason": null, "index": 0}], "object": "chat.completion.chunk"} -{"id": "test-id", "choices": [{"delta": {"content": null, "function_call": null, "role": "assistant", "tool_calls": null}, "finish_reason": null, "index": 0}], "created": 1, "model": "gpt-4.1-mini", "object": "chat.completion.chunk", "system_fingerprint": null} -{"id": "test-id", "choices": [{"delta": {"content": "The capital of France is Paris. [Benefit_Options-2.pdf].", "function_call": null, "role": null, "tool_calls": null}, "finish_reason": null, "index": 0}], "created": 1, "model": "gpt-4.1-mini", "object": "chat.completion.chunk", "system_fingerprint": null} +{"id": "test-id", "choices": [{"delta": {"content": null, "function_call": null, "role": "assistant", "tool_calls": null}, "finish_reason": null, "index": 0}], "created": 1, "model": "gpt-4.1", "object": "chat.completion.chunk", "system_fingerprint": null} +{"id": "test-id", "choices": [{"delta": {"content": "The capital of France is Paris. [Benefit_Options-2.pdf].", "function_call": null, "role": null, "tool_calls": null}, "finish_reason": null, "index": 0}], "created": 1, "model": "gpt-4.1", "object": "chat.completion.chunk", "system_fingerprint": null} diff --git a/tests/snapshots/test_app/test_chat_vision_vectors/client1/result.json b/tests/snapshots/test_app/test_chat_vision_vectors/client1/result.json index 31b7fba112..d09c1115a7 100644 --- a/tests/snapshots/test_app/test_chat_vision_vectors/client1/result.json +++ b/tests/snapshots/test_app/test_chat_vision_vectors/client1/result.json @@ -39,7 +39,7 @@ ], "props": { "deployment": "test-chatgpt", - "model": "gpt-4.1-mini" + "model": "gpt-4.1" }, "title": "Prompt to generate search query" }, diff --git a/tests/snapshots/test_app/test_chat_vision_vectors/client1/result.jsonlines b/tests/snapshots/test_app/test_chat_vision_vectors/client1/result.jsonlines index 584c61139a..b0b5643bcb 100644 --- a/tests/snapshots/test_app/test_chat_vision_vectors/client1/result.jsonlines +++ b/tests/snapshots/test_app/test_chat_vision_vectors/client1/result.jsonlines @@ -1,3 +1,3 @@ {"choices": [{"delta": {"role": "assistant"}, "context": {"data_points": {"text": ["Benefit_Options-2.pdf: There is a whistleblower policy."], "images": [{"url": "data:image/png;base64,iVBOR1BORw0KGgoAAAANSUhEUgAAAAEAAAABAQAAAAA3bvkkAAAACklEQVR4nGMAAQAABQABDQ0tuhsAAAAASUVORK5CYII=", "detail": "auto"}]}, "thoughts": [{"title": "Original user query", "description": "Are interest rates high?", "props": null}, {"title": "Generated search query", "description": null, "props": {"semanticCaptions": false, "vector_fields": "textAndImageEmbeddings"}}, {"title": "Results", "description": [{"id": "file-Benefit_Options_pdf-42656E656669745F4F7074696F6E732E706466-page-2", "content": "There is a whistleblower policy.", "embedding": null, "imageEmbedding": null, "category": null, "sourcepage": "Benefit_Options-2.pdf", "sourcefile": "Benefit_Options.pdf", "oids": null, "groups": null, "captions": [{"additional_properties": {}, "text": "Caption: A whistleblower policy.", "highlights": []}]}], "props": null}, {"title": "Prompt", "description": ["{'role': 'system', 'content': \"\\n You are an intelligent assistant helping analyze the Annual Financial Report of Contoso Ltd., The documents contain text, graphs, tables and images.\\n Each image source has the file name in the top left corner of the image with coordinates (10,10) pixels and is in the format SourceFileName:\\n Each text source starts in a new line and has the file name followed by colon and the actual information\\n Always include the source name from the image or text for each fact you use in the response in the format: [filename]\\n Answer the following question using only the data provided in the sources below.\\n If asking a clarifying question to the user would help, ask the question.\\n Be brief in your answers.\\n For tabular information return it as an html table. Do not return markdown format.\\n The text and image source can be the same file name, don't use the image title when citing the image source, only use the file name as mentioned\\n If you cannot answer using the sources below, say you don't know. Return just the answer without any input texts.\\n \\n \\n \"}", "{'role': 'user', 'content': [{'text': 'Are interest rates high?', 'type': 'text'}, {'text': '\\n\\nSources:\\nBenefit_Options-2.pdf: There is a whistleblower policy.', 'type': 'text'}, {'image_url': {'url': 'data:image/png;base64,iVBOR1BORw0KGgoAAAANSUhEUgAAAAEAAAABAQAAAAA3bvkkAAAACklEQVR4nGMAAQAABQABDQ0tuhsAAAAASUVORK5CYII=', 'detail': 'auto'}, 'type': 'image_url'}]}"], "props": null}]}, "session_state": null, "finish_reason": null, "index": 0}], "object": "chat.completion.chunk"} -{"id": "test-id", "choices": [{"delta": {"content": null, "function_call": null, "role": "assistant", "tool_calls": null}, "finish_reason": null, "index": 0}], "created": 1, "model": "gpt-4.1-mini", "object": "chat.completion.chunk", "system_fingerprint": null} -{"id": "test-id", "choices": [{"delta": {"content": "The capital of France is Paris. [Benefit_Options-2.pdf].", "function_call": null, "role": null, "tool_calls": null}, "finish_reason": null, "index": 0}], "created": 1, "model": "gpt-4.1-mini", "object": "chat.completion.chunk", "system_fingerprint": null} +{"id": "test-id", "choices": [{"delta": {"content": null, "function_call": null, "role": "assistant", "tool_calls": null}, "finish_reason": null, "index": 0}], "created": 1, "model": "gpt-4.1", "object": "chat.completion.chunk", "system_fingerprint": null} +{"id": "test-id", "choices": [{"delta": {"content": "The capital of France is Paris. [Benefit_Options-2.pdf].", "function_call": null, "role": null, "tool_calls": null}, "finish_reason": null, "index": 0}], "created": 1, "model": "gpt-4.1", "object": "chat.completion.chunk", "system_fingerprint": null} diff --git a/tests/snapshots/test_app/test_chat_with_history/client0/result.json b/tests/snapshots/test_app/test_chat_with_history/client0/result.json index df320106d2..7cc27e4008 100644 --- a/tests/snapshots/test_app/test_chat_with_history/client0/result.json +++ b/tests/snapshots/test_app/test_chat_with_history/client0/result.json @@ -44,7 +44,7 @@ } ], "props": { - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, @@ -112,7 +112,7 @@ } ], "props": { - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/snapshots/test_app/test_chat_with_history/client1/result.json b/tests/snapshots/test_app/test_chat_with_history/client1/result.json index 6ac51e75a3..25f64a61be 100644 --- a/tests/snapshots/test_app/test_chat_with_history/client1/result.json +++ b/tests/snapshots/test_app/test_chat_with_history/client1/result.json @@ -45,7 +45,7 @@ ], "props": { "deployment": "test-chatgpt", - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, @@ -114,7 +114,7 @@ ], "props": { "deployment": "test-chatgpt", - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "token_usage": { "completion_tokens": 896, "prompt_tokens": 23, diff --git a/tests/test_app_config.py b/tests/test_app_config.py index 0c52da1eab..d3b5e7d36f 100644 --- a/tests/test_app_config.py +++ b/tests/test_app_config.py @@ -15,7 +15,7 @@ def minimal_env(monkeypatch): monkeypatch.setenv("AZURE_SEARCH_INDEX", "test-search-index") monkeypatch.setenv("AZURE_SEARCH_SERVICE", "test-search-service") monkeypatch.setenv("AZURE_OPENAI_SERVICE", "test-openai-service") - monkeypatch.setenv("AZURE_OPENAI_CHATGPT_MODEL", "gpt-4.1-mini") + monkeypatch.setenv("AZURE_OPENAI_CHATGPT_MODEL", "gpt-4.1") monkeypatch.setenv("AZURE_OPENAI_EMB_MODEL_NAME", "text-embedding-3-large") monkeypatch.setenv("AZURE_OPENAI_EMB_DIMENSIONS", "3072") yield diff --git a/tests/test_chatapproach.py b/tests/test_chatapproach.py index 70c5ace4c1..dc30168560 100644 --- a/tests/test_chatapproach.py +++ b/tests/test_chatapproach.py @@ -35,7 +35,7 @@ def chat_approach(): agent_client=None, auth_helper=None, openai_client=None, - chatgpt_model="gpt-4.1-mini", + chatgpt_model="gpt-4.1", chatgpt_deployment="chat", embedding_deployment="embeddings", embedding_model=MOCK_EMBEDDING_MODEL_NAME, @@ -55,7 +55,7 @@ def test_get_search_query(chat_approach): "id": "chatcmpl-81JkxYqYppUkPtOAia40gki2vJ9QM", "object": "chat.completion", "created": 1695324963, - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "prompt_filter_results": [ { "prompt_index": 0, @@ -117,7 +117,7 @@ def test_get_search_query(chat_approach): def test_get_search_query_returns_default(chat_approach): - payload = '{"id":"chatcmpl-81JkxYqYppUkPtOAia40gki2vJ9QM","object":"chat.completion","created":1695324963,"model":"gpt-4.1-mini","prompt_filter_results":[{"prompt_index":0,"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}}}],"choices":[{"index":0,"finish_reason":"function_call","message":{"content":"","role":"assistant"},"content_filter_results":{}}],"usage":{"completion_tokens":19,"prompt_tokens":425,"total_tokens":444}}' + payload = '{"id":"chatcmpl-81JkxYqYppUkPtOAia40gki2vJ9QM","object":"chat.completion","created":1695324963,"model":"gpt-4.1","prompt_filter_results":[{"prompt_index":0,"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}}}],"choices":[{"index":0,"finish_reason":"function_call","message":{"content":"","role":"assistant"},"content_filter_results":{}}],"usage":{"completion_tokens":19,"prompt_tokens":425,"total_tokens":444}}' default_query = "hello" chatcompletions = ChatCompletion.model_validate(json.loads(payload), strict=False) query = chat_approach.get_search_query(chatcompletions, default_query) @@ -186,7 +186,7 @@ async def test_search_results_filtering_by_scores( agent_client=None, auth_helper=None, openai_client=None, - chatgpt_model="gpt-4.1-mini", + chatgpt_model="gpt-4.1", chatgpt_deployment="chat", embedding_deployment="embeddings", embedding_model=MOCK_EMBEDDING_MODEL_NAME, diff --git a/tests/test_chatvisionapproach.py b/tests/test_chatvisionapproach.py index 95740c2fab..9cfdeb3e52 100644 --- a/tests/test_chatvisionapproach.py +++ b/tests/test_chatvisionapproach.py @@ -53,7 +53,7 @@ def chat_approach(openai_client, mock_confidential_client_success): blob_container_client=None, vision_endpoint="endpoint", vision_token_provider=lambda: "token", - chatgpt_model="gpt-4.1-mini", + chatgpt_model="gpt-4.1", chatgpt_deployment="chat", gpt4v_deployment="gpt-4v", gpt4v_model="gpt-4v", @@ -80,7 +80,7 @@ def test_get_search_query(chat_approach): "id": "chatcmpl-81JkxYqYppUkPtOAia40gki2vJ9QM", "object": "chat.completion", "created": 1695324963, - "model": "gpt-4.1-mini", + "model": "gpt-4.1", "prompt_filter_results": [ { "prompt_index": 0,