Skip to content

Commit 2168056

Browse files
authored
Merge branch 'main' into bing_search
2 parents 7d3f911 + 8eb5568 commit 2168056

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+838877
-245
lines changed

.azdo/pipelines/azure-dev.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ steps:
4545
AZD_INITIAL_ENVIRONMENT_CONFIG: $(AZD_INITIAL_ENVIRONMENT_CONFIG)
4646
AZURE_OPENAI_SERVICE: $(AZURE_OPENAI_SERVICE)
4747
AZURE_OPENAI_API_VERSION: $(AZURE_OPENAI_API_VERSION)
48+
AZURE_OPENAI_LOCATION: $(AZURE_OPENAI_LOCATION)
4849
AZURE_OPENAI_RESOURCE_GROUP: $(AZURE_OPENAI_RESOURCE_GROUP)
4950
AZURE_DOCUMENTINTELLIGENCE_SERVICE: $(AZURE_DOCUMENTINTELLIGENCE_SERVICE)
5051
AZURE_DOCUMENTINTELLIGENCE_RESOURCE_GROUP: $(AZURE_DOCUMENTINTELLIGENCE_RESOURCE_GROUP)

.github/workflows/azure-dev.yml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ jobs:
3030
AZURE_LOCATION: ${{ vars.AZURE_LOCATION }}
3131
# project specific
3232
AZURE_OPENAI_SERVICE: ${{ vars.AZURE_OPENAI_SERVICE }}
33+
AZURE_OPENAI_LOCATION: ${{ vars.AZURE_OPENAI_LOCATION }}
3334
AZURE_OPENAI_API_VERSION: ${{ vars.AZURE_OPENAI_API_VERSION }}
3435
AZURE_OPENAI_RESOURCE_GROUP: ${{ vars.AZURE_OPENAI_RESOURCE_GROUP }}
3536
AZURE_DOCUMENTINTELLIGENCE_SERVICE: ${{ vars.AZURE_DOCUMENTINTELLIGENCE_SERVICE }}
@@ -68,6 +69,12 @@ jobs:
6869
AZURE_OPENAI_GPT4V_DEPLOYMENT_CAPACITY: ${{ vars.AZURE_OPENAI_GPT4V_DEPLOYMENT_CAPACITY }}
6970
AZURE_OPENAI_GPT4V_DEPLOYMENT_VERSION: ${{ vars.AZURE_OPENAI_GPT4V_DEPLOYMENT_VERSION }}
7071
AZURE_OPENAI_GPT4V_DEPLOYMENT_SKU: ${{ vars.AZURE_OPENAI_GPT4V_DEPLOYMENT_SKU }}
72+
USE_EVAL: ${{ vars.USE_EVAL }}
73+
AZURE_OPENAI_EVAL_MODEL: ${{ vars.AZURE_OPENAI_EVAL_MODEL }}
74+
AZURE_OPENAI_EVAL_MODEL_VERSION: ${{ vars.AZURE_OPENAI_EVAL_MODEL_VERSION }}
75+
AZURE_OPENAI_EVAL_DEPLOYMENT: ${{ vars.AZURE_OPENAI_EVAL_DEPLOYMENT }}
76+
AZURE_OPENAI_EVAL_DEPLOYMENT_SKU: ${{ vars.AZURE_OPENAI_EVAL_DEPLOYMENT_SKU }}
77+
AZURE_OPENAI_EVAL_DEPLOYMENT_CAPACITY: ${{ vars.AZURE_OPENAI_EVAL_DEPLOYMENT_CAPACITY }}
7178
AZURE_OPENAI_DISABLE_KEYS: ${{ vars.AZURE_OPENAI_DISABLE_KEYS }}
7279
OPENAI_HOST: ${{ vars.OPENAI_HOST }}
7380
OPENAI_API_KEY: ${{ vars.OPENAI_API_KEY }}
@@ -110,7 +117,7 @@ jobs:
110117
uses: actions/checkout@v4
111118

112119
- name: Install azd
113-
uses: Azure/setup-azd@v2.0.0
120+
uses: Azure/setup-azd@v2.1.0
114121

115122
- name: Install Nodejs
116123
uses: actions/setup-node@v4

.github/workflows/evaluate.yaml

Lines changed: 243 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,243 @@
1+
name: Evaluate RAG answer flow
2+
3+
on:
4+
issue_comment:
5+
types: [created]
6+
7+
# Set up permissions for deploying with secretless Azure federated credentials
8+
# https://learn.microsoft.com/azure/developer/github/connect-from-azure?tabs=azure-portal%2Clinux#set-up-azure-login-with-openid-connect-authentication
9+
permissions:
10+
id-token: write
11+
contents: read
12+
issues: write
13+
pull-requests: write
14+
15+
jobs:
16+
evaluate:
17+
if: |
18+
contains('["OWNER", "CONTRIBUTOR", "COLLABORATOR", "MEMBER"]', github.event.comment.author_association) &&
19+
github.event.issue.pull_request &&
20+
github.event.comment.body == '/evaluate'
21+
runs-on: ubuntu-latest
22+
env:
23+
# azd required
24+
AZURE_CLIENT_ID: ${{ vars.AZURE_CLIENT_ID }}
25+
AZURE_TENANT_ID: ${{ vars.AZURE_TENANT_ID }}
26+
AZURE_SUBSCRIPTION_ID: ${{ vars.AZURE_SUBSCRIPTION_ID }}
27+
AZURE_ENV_NAME: ${{ vars.AZURE_ENV_NAME }}
28+
AZURE_LOCATION: ${{ vars.AZURE_LOCATION }}
29+
# project specific
30+
AZURE_OPENAI_SERVICE: ${{ vars.AZURE_OPENAI_SERVICE }}
31+
AZURE_OPENAI_LOCATION: ${{ vars.AZURE_OPENAI_LOCATION }}
32+
AZURE_OPENAI_API_VERSION: ${{ vars.AZURE_OPENAI_API_VERSION }}
33+
AZURE_OPENAI_RESOURCE_GROUP: ${{ vars.AZURE_OPENAI_RESOURCE_GROUP }}
34+
AZURE_DOCUMENTINTELLIGENCE_SERVICE: ${{ vars.AZURE_DOCUMENTINTELLIGENCE_SERVICE }}
35+
AZURE_DOCUMENTINTELLIGENCE_RESOURCE_GROUP: ${{ vars.AZURE_DOCUMENTINTELLIGENCE_RESOURCE_GROUP }}
36+
AZURE_DOCUMENTINTELLIGENCE_SKU: ${{ vars.AZURE_DOCUMENTINTELLIGENCE_SKU }}
37+
AZURE_DOCUMENTINTELLIGENCE_LOCATION: ${{ vars.AZURE_DOCUMENTINTELLIGENCE_LOCATION }}
38+
AZURE_COMPUTER_VISION_SERVICE: ${{ vars.AZURE_COMPUTER_VISION_SERVICE }}
39+
AZURE_COMPUTER_VISION_RESOURCE_GROUP: ${{ vars.AZURE_COMPUTER_VISION_RESOURCE_GROUP }}
40+
AZURE_COMPUTER_VISION_LOCATION: ${{ vars.AZURE_COMPUTER_VISION_LOCATION }}
41+
AZURE_COMPUTER_VISION_SKU: ${{ vars.AZURE_COMPUTER_VISION_SKU }}
42+
AZURE_SEARCH_INDEX: ${{ vars.AZURE_SEARCH_INDEX }}
43+
AZURE_SEARCH_SERVICE: ${{ vars.AZURE_SEARCH_SERVICE }}
44+
AZURE_SEARCH_SERVICE_RESOURCE_GROUP: ${{ vars.AZURE_SEARCH_SERVICE_RESOURCE_GROUP }}
45+
AZURE_SEARCH_SERVICE_LOCATION: ${{ vars.AZURE_SEARCH_SERVICE_LOCATION }}
46+
AZURE_SEARCH_SERVICE_SKU: ${{ vars.AZURE_SEARCH_SERVICE_SKU }}
47+
AZURE_SEARCH_QUERY_LANGUAGE: ${{ vars.AZURE_SEARCH_QUERY_LANGUAGE }}
48+
AZURE_SEARCH_QUERY_SPELLER: ${{ vars.AZURE_SEARCH_QUERY_SPELLER }}
49+
AZURE_SEARCH_SEMANTIC_RANKER: ${{ vars.AZURE_SEARCH_SEMANTIC_RANKER }}
50+
AZURE_STORAGE_ACCOUNT: ${{ vars.AZURE_STORAGE_ACCOUNT }}
51+
AZURE_STORAGE_RESOURCE_GROUP: ${{ vars.AZURE_STORAGE_RESOURCE_GROUP }}
52+
AZURE_STORAGE_SKU: ${{ vars.AZURE_STORAGE_SKU }}
53+
AZURE_APP_SERVICE_PLAN: ${{ vars.AZURE_APP_SERVICE_PLAN }}
54+
AZURE_APP_SERVICE_SKU: ${{ vars.AZURE_APP_SERVICE_SKU }}
55+
AZURE_APP_SERVICE: ${{ vars.AZURE_APP_SERVICE }}
56+
AZURE_OPENAI_CHATGPT_MODEL: ${{ vars.AZURE_OPENAI_CHATGPT_MODEL }}
57+
AZURE_OPENAI_CHATGPT_DEPLOYMENT: ${{ vars.AZURE_OPENAI_CHATGPT_DEPLOYMENT }}
58+
AZURE_OPENAI_CHATGPT_DEPLOYMENT_CAPACITY: ${{ vars.AZURE_OPENAI_CHATGPT_DEPLOYMENT_CAPACITY }}
59+
AZURE_OPENAI_CHATGPT_DEPLOYMENT_VERSION: ${{ vars.AZURE_OPENAI_CHATGPT_DEPLOYMENT_VERSION }}
60+
AZURE_OPENAI_EMB_MODEL_NAME: ${{ vars.AZURE_OPENAI_EMB_MODEL_NAME }}
61+
AZURE_OPENAI_EMB_DEPLOYMENT: ${{ vars.AZURE_OPENAI_EMB_DEPLOYMENT }}
62+
AZURE_OPENAI_EMB_DEPLOYMENT_CAPACITY: ${{ vars.AZURE_OPENAI_EMB_DEPLOYMENT_CAPACITY }}
63+
AZURE_OPENAI_EMB_DEPLOYMENT_VERSION: ${{ vars.AZURE_OPENAI_EMB_DEPLOYMENT_VERSION }}
64+
AZURE_OPENAI_EMB_DIMENSIONS: ${{ vars.AZURE_OPENAI_EMB_DIMENSIONS }}
65+
AZURE_OPENAI_GPT4V_MODEL: ${{ vars.AZURE_OPENAI_GPT4V_MODEL }}
66+
AZURE_OPENAI_GPT4V_DEPLOYMENT: ${{ vars.AZURE_OPENAI_GPT4V_DEPLOYMENT }}
67+
AZURE_OPENAI_GPT4V_DEPLOYMENT_CAPACITY: ${{ vars.AZURE_OPENAI_GPT4V_DEPLOYMENT_CAPACITY }}
68+
AZURE_OPENAI_GPT4V_DEPLOYMENT_VERSION: ${{ vars.AZURE_OPENAI_GPT4V_DEPLOYMENT_VERSION }}
69+
AZURE_OPENAI_GPT4V_DEPLOYMENT_SKU: ${{ vars.AZURE_OPENAI_GPT4V_DEPLOYMENT_SKU }}
70+
USE_EVAL: ${{ vars.USE_EVAL }}
71+
AZURE_OPENAI_EVAL_MODEL: ${{ vars.AZURE_OPENAI_EVAL_MODEL }}
72+
AZURE_OPENAI_EVAL_MODEL_VERSION: ${{ vars.AZURE_OPENAI_EVAL_MODEL_VERSION }}
73+
AZURE_OPENAI_EVAL_DEPLOYMENT: ${{ vars.AZURE_OPENAI_EVAL_DEPLOYMENT }}
74+
AZURE_OPENAI_EVAL_DEPLOYMENT_SKU: ${{ vars.AZURE_OPENAI_EVAL_DEPLOYMENT_SKU }}
75+
AZURE_OPENAI_EVAL_DEPLOYMENT_CAPACITY: ${{ vars.AZURE_OPENAI_EVAL_DEPLOYMENT_CAPACITY }}
76+
AZURE_OPENAI_DISABLE_KEYS: ${{ vars.AZURE_OPENAI_DISABLE_KEYS }}
77+
OPENAI_HOST: ${{ vars.OPENAI_HOST }}
78+
OPENAI_API_KEY: ${{ vars.OPENAI_API_KEY }}
79+
OPENAI_ORGANIZATION: ${{ vars.OPENAI_ORGANIZATION }}
80+
AZURE_USE_APPLICATION_INSIGHTS: ${{ vars.AZURE_USE_APPLICATION_INSIGHTS }}
81+
AZURE_APPLICATION_INSIGHTS: ${{ vars.AZURE_APPLICATION_INSIGHTS }}
82+
AZURE_APPLICATION_INSIGHTS_DASHBOARD: ${{ vars.AZURE_APPLICATION_INSIGHTS_DASHBOARD }}
83+
AZURE_LOG_ANALYTICS: ${{ vars.AZURE_LOG_ANALYTICS }}
84+
USE_VECTORS: ${{ vars.USE_VECTORS }}
85+
USE_GPT4V: ${{ vars.USE_GPT4V }}
86+
AZURE_VISION_ENDPOINT: ${{ vars.AZURE_VISION_ENDPOINT }}
87+
VISION_SECRET_NAME: ${{ vars.VISION_SECRET_NAME }}
88+
ENABLE_LANGUAGE_PICKER: ${{ vars.ENABLE_LANGUAGE_PICKER }}
89+
USE_SPEECH_INPUT_BROWSER: ${{ vars.USE_SPEECH_INPUT_BROWSER }}
90+
USE_SPEECH_OUTPUT_BROWSER: ${{ vars.USE_SPEECH_OUTPUT_BROWSER }}
91+
USE_SPEECH_OUTPUT_AZURE: ${{ vars.USE_SPEECH_OUTPUT_AZURE }}
92+
AZURE_SPEECH_SERVICE: ${{ vars.AZURE_SPEECH_SERVICE }}
93+
AZURE_SPEECH_SERVICE_RESOURCE_GROUP: ${{ vars.AZURE_SPEECH_RESOURCE_GROUP }}
94+
AZURE_SPEECH_SERVICE_LOCATION: ${{ vars.AZURE_SPEECH_SERVICE_LOCATION }}
95+
AZURE_SPEECH_SERVICE_SKU: ${{ vars.AZURE_SPEECH_SERVICE_SKU }}
96+
AZURE_SPEECH_SERVICE_VOICE: ${{ vars.AZURE_SPEECH_SERVICE_VOICE }}
97+
AZURE_KEY_VAULT_NAME: ${{ vars.AZURE_KEY_VAULT_NAME }}
98+
AZURE_USE_AUTHENTICATION: ${{ vars.AZURE_USE_AUTHENTICATION }}
99+
AZURE_ENFORCE_ACCESS_CONTROL: ${{ vars.AZURE_ENFORCE_ACCESS_CONTROL }}
100+
AZURE_ENABLE_GLOBAL_DOCUMENT_ACCESS: ${{ vars.AZURE_ENABLE_GLOBAL_DOCUMENT_ACCESS }}
101+
AZURE_ENABLE_UNAUTHENTICATED_ACCESS: ${{ vars.AZURE_ENABLE_UNAUTHENTICATED_ACCESS }}
102+
AZURE_AUTH_TENANT_ID: ${{ vars.AZURE_AUTH_TENANT_ID }}
103+
AZURE_SERVER_APP_ID: ${{ vars.AZURE_SERVER_APP_ID }}
104+
AZURE_CLIENT_APP_ID: ${{ vars.AZURE_CLIENT_APP_ID }}
105+
ALLOWED_ORIGIN: ${{ vars.ALLOWED_ORIGIN }}
106+
AZURE_ADLS_GEN2_STORAGE_ACCOUNT: ${{ vars.AZURE_ADLS_GEN2_STORAGE_ACCOUNT }}
107+
AZURE_ADLS_GEN2_FILESYSTEM_PATH: ${{ vars.AZURE_ADLS_GEN2_FILESYSTEM_PATH }}
108+
AZURE_ADLS_GEN2_FILESYSTEM: ${{ vars.AZURE_ADLS_GEN2_FILESYSTEM }}
109+
DEPLOYMENT_TARGET: ${{ vars.DEPLOYMENT_TARGET }}
110+
AZURE_CONTAINER_APPS_WORKLOAD_PROFILE: ${{ vars.AZURE_CONTAINER_APPS_WORKLOAD_PROFILE }}
111+
USE_CHAT_HISTORY_BROWSER: ${{ vars.USE_CHAT_HISTORY_BROWSER }}
112+
USE_MEDIA_DESCRIBER_AZURE_CU: ${{ vars.USE_MEDIA_DESCRIBER_AZURE_CU }}
113+
steps:
114+
115+
- name: Comment on pull request
116+
uses: actions/github-script@v7
117+
with:
118+
script: |
119+
github.rest.issues.createComment({
120+
issue_number: context.issue.number,
121+
owner: context.repo.owner,
122+
repo: context.repo.repo,
123+
body: "Starting evaluation! Check the Actions tab for progress, or wait for a comment with the results."
124+
})
125+
126+
- name: Checkout pull request
127+
uses: actions/checkout@v4
128+
with:
129+
ref: refs/pull/${{ github.event.issue.number }}/head
130+
131+
- name: Install uv
132+
uses: astral-sh/setup-uv@v5
133+
with:
134+
enable-cache: true
135+
version: "0.4.20"
136+
cache-dependency-glob: "requirements**.txt"
137+
python-version: "3.11"
138+
139+
- name: Setup node
140+
uses: actions/setup-node@v4
141+
with:
142+
node-version: 18
143+
144+
- name: Install azd
145+
uses: Azure/[email protected]
146+
147+
- name: Login to Azure with az CLI
148+
uses: azure/login@v2
149+
with:
150+
client-id: ${{ env.AZURE_CLIENT_ID }}
151+
tenant-id: ${{ env.AZURE_TENANT_ID }}
152+
subscription-id: ${{ env.AZURE_SUBSCRIPTION_ID }}
153+
154+
- name: Set az account
155+
uses: azure/CLI@v2
156+
with:
157+
inlineScript: |
158+
az account set --subscription ${{env.AZURE_SUBSCRIPTION_ID}}
159+
160+
- name: Login to with Azure with azd (Federated Credentials)
161+
if: ${{ env.AZURE_CLIENT_ID != '' }}
162+
run: |
163+
azd auth login `
164+
--client-id "$Env:AZURE_CLIENT_ID" `
165+
--federated-credential-provider "github" `
166+
--tenant-id "$Env:AZURE_TENANT_ID"
167+
shell: pwsh
168+
169+
- name: Refresh azd environment variables
170+
run: |
171+
azd env refresh -e $AZURE_ENV_NAME --no-prompt
172+
env:
173+
AZD_INITIAL_ENVIRONMENT_CONFIG: ${{ secrets.AZD_INITIAL_ENVIRONMENT_CONFIG }}
174+
175+
- name: Build frontend
176+
run: |
177+
cd ./app/frontend
178+
npm install
179+
npm run build
180+
181+
- name: Install dependencies
182+
run: |
183+
uv pip install -r requirements-dev.txt
184+
185+
- name: Run local server in background
186+
run: |
187+
cd app/backend
188+
RUNNER_TRACKING_ID="" && (nohup python3 -m quart --app main:app run --port 50505 > serverlogs.out 2> serverlogs.err &)
189+
cd ../..
190+
191+
- name: Install evaluate dependencies
192+
run: |
193+
uv pip install -r evals/requirements.txt
194+
195+
- name: Evaluate local RAG flow
196+
run: |
197+
python evals/evaluate.py --targeturl=http://127.0.0.1:50505/chat --resultsdir=evals/results/pr${{ github.event.issue.number }}
198+
199+
- name: Upload eval results as build artifact
200+
if: ${{ success() }}
201+
uses: actions/upload-artifact@v4
202+
with:
203+
name: eval_result
204+
path: ./evals/results/pr${{ github.event.issue.number }}
205+
206+
- name: Upload server logs as build artifact
207+
uses: actions/upload-artifact@v4
208+
with:
209+
name: server_logs
210+
path: ./app/backend/serverlogs.out
211+
212+
- name: Upload server error logs as build artifact
213+
uses: actions/upload-artifact@v4
214+
with:
215+
name: server_error_logs
216+
path: ./app/backend/serverlogs.err
217+
218+
- name: Summarize results
219+
if: ${{ success() }}
220+
run: |
221+
echo "## Evaluation results" >> eval-summary.md
222+
python -m evaltools summary evals/results --output=markdown >> eval-summary.md
223+
echo "## Answer differences across runs" >> run-diff.md
224+
python -m evaltools diff evals/results/baseline evals/results/pr${{ github.event.issue.number }} --output=markdown >> run-diff.md
225+
cat eval-summary.md >> $GITHUB_STEP_SUMMARY
226+
cat run-diff.md >> $GITHUB_STEP_SUMMARY
227+
228+
- name: Comment on pull request
229+
uses: actions/github-script@v7
230+
with:
231+
script: |
232+
const fs = require('fs');
233+
const summaryPath = "eval-summary.md";
234+
const summary = fs.readFileSync(summaryPath, 'utf8');
235+
const runId = process.env.GITHUB_RUN_ID;
236+
const repo = process.env.GITHUB_REPOSITORY;
237+
const actionsUrl = `https://github.com/${repo}/actions/runs/${runId}`;
238+
github.rest.issues.createComment({
239+
issue_number: context.issue.number,
240+
owner: context.repo.owner,
241+
repo: context.repo.repo,
242+
body: `${summary}\n\n[Check the workflow run for more details](${actionsUrl}).`
243+
})

.github/workflows/python-test.yaml

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -26,21 +26,15 @@ jobs:
2626
matrix:
2727
os: ["ubuntu-20.04", "windows-latest"]
2828
python_version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
29-
env:
30-
UV_SYSTEM_PYTHON: 1
3129
steps:
3230
- uses: actions/checkout@v4
33-
- name: Setup python
34-
uses: actions/setup-python@v5
35-
with:
36-
python-version: ${{ matrix.python_version }}
37-
architecture: x64
3831
- name: Install uv
3932
uses: astral-sh/setup-uv@v5
4033
with:
4134
enable-cache: true
4235
version: "0.4.20"
4336
cache-dependency-glob: "requirements**.txt"
37+
python-version: ${{ matrix.python_version }}
4438
- name: Setup node
4539
uses: actions/setup-node@v4
4640
with:
@@ -58,20 +52,20 @@ jobs:
5852
- name: Check types with mypy
5953
run: |
6054
cd scripts/
61-
python3 -m mypy . --config-file=../pyproject.toml
55+
mypy . --config-file=../pyproject.toml
6256
cd ../app/backend/
63-
python3 -m mypy . --config-file=../../pyproject.toml
57+
mypy . --config-file=../../pyproject.toml
6458
- name: Check formatting with black
6559
run: black . --check --verbose
6660
- name: Run Python tests
6761
if: runner.os != 'Windows'
68-
run: python3 -m pytest -s -vv --cov --cov-fail-under=86
62+
run: pytest -s -vv --cov --cov-fail-under=86
6963
- name: Run E2E tests with Playwright
7064
id: e2e
7165
if: runner.os != 'Windows'
7266
run: |
7367
playwright install chromium --with-deps
74-
python3 -m pytest tests/e2e.py --tracing=retain-on-failure
68+
pytest tests/e2e.py --tracing=retain-on-failure
7569
- name: Upload test artifacts
7670
if: ${{ failure() && steps.e2e.conclusion == 'failure' }}
7771
uses: actions/upload-artifact@v4

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@ celerybeat.pid
111111
# Environments
112112
.env
113113
.venv
114+
.evalenv
114115
env/
115116
venv/
116117
ENV/

.pre-commit-config.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ repos:
77
- id: end-of-file-fixer
88
- id: trailing-whitespace
99
- repo: https://github.com/astral-sh/ruff-pre-commit
10-
rev: v0.7.2
10+
rev: v0.9.3
1111
hooks:
1212
- id: ruff
1313
- repo: https://github.com/psf/black
14-
rev: 24.10.0
14+
rev: 25.1.0
1515
hooks:
1616
- id: black
1717
- repo: https://github.com/pre-commit/mirrors-prettier

CONTRIBUTING.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,3 +145,4 @@ Here are community contributors that can review translations:
145145
| Portugese| @glaucia86 |
146146
| Spanish | @miguelmsft |
147147
| Turkish | @mertcakdogan |
148+
| Italian | @ivanvaccarics |

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -253,13 +253,15 @@ You can find extensive documentation in the [docs](docs/README.md) folder:
253253
- [Deploying with existing Azure resources](docs/deploy_existing.md)
254254
- [Deploying from a free account](docs/deploy_lowcost.md)
255255
- [Enabling optional features](docs/deploy_features.md)
256+
- [All features](docs/deploy_features.md)
256257
- [Login and access control](docs/login_and_acl.md)
257258
- [GPT-4 Turbo with Vision](docs/gpt4v.md)
258259
- [Private endpoints](docs/deploy_private.md)
259260
- [Sharing deployment environments](docs/sharing_environments.md)
260261
- [Local development](docs/localdev.md)
261262
- [Customizing the app](docs/customization.md)
262263
- [Data ingestion](docs/data_ingestion.md)
264+
- [Evaluation](docs/evaluation.md)
263265
- [Monitoring with Application Insights](docs/monitoring.md)
264266
- [Productionizing](docs/productionizing.md)
265267
- [Alternative RAG chat samples](docs/other_samples.md)

app/backend/app.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -424,7 +424,7 @@ async def setup_clients():
424424
OPENAI_HOST = os.getenv("OPENAI_HOST", "azure")
425425
OPENAI_CHATGPT_MODEL = os.environ["AZURE_OPENAI_CHATGPT_MODEL"]
426426
OPENAI_EMB_MODEL = os.getenv("AZURE_OPENAI_EMB_MODEL_NAME", "text-embedding-ada-002")
427-
OPENAI_EMB_DIMENSIONS = int(os.getenv("AZURE_OPENAI_EMB_DIMENSIONS", 1536))
427+
OPENAI_EMB_DIMENSIONS = int(os.getenv("AZURE_OPENAI_EMB_DIMENSIONS") or 1536)
428428
# Used with Azure OpenAI deployments
429429
AZURE_OPENAI_SERVICE = os.getenv("AZURE_OPENAI_SERVICE")
430430
AZURE_OPENAI_GPT4V_DEPLOYMENT = os.environ.get("AZURE_OPENAI_GPT4V_DEPLOYMENT")
@@ -454,8 +454,8 @@ async def setup_clients():
454454
KB_FIELDS_CONTENT = os.getenv("KB_FIELDS_CONTENT", "content")
455455
KB_FIELDS_SOURCEPAGE = os.getenv("KB_FIELDS_SOURCEPAGE", "sourcepage")
456456

457-
AZURE_SEARCH_QUERY_LANGUAGE = os.getenv("AZURE_SEARCH_QUERY_LANGUAGE", "en-us")
458-
AZURE_SEARCH_QUERY_SPELLER = os.getenv("AZURE_SEARCH_QUERY_SPELLER", "lexicon")
457+
AZURE_SEARCH_QUERY_LANGUAGE = os.getenv("AZURE_SEARCH_QUERY_LANGUAGE") or "en-us"
458+
AZURE_SEARCH_QUERY_SPELLER = os.getenv("AZURE_SEARCH_QUERY_SPELLER") or "lexicon"
459459
AZURE_SEARCH_SEMANTIC_RANKER = os.getenv("AZURE_SEARCH_SEMANTIC_RANKER", "free").lower()
460460

461461
AZURE_SPEECH_SERVICE_ID = os.getenv("AZURE_SPEECH_SERVICE_ID")

0 commit comments

Comments
 (0)