Skip to content

Commit d7b105d

Browse files
authored
Merge pull request #4 from pamelafox/evalsci
Evalsci
2 parents d7cc6fa + c4861fe commit d7b105d

File tree

5 files changed

+53
-19
lines changed

5 files changed

+53
-19
lines changed

.github/workflows/azure-dev.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,12 @@ jobs:
6969
AZURE_OPENAI_GPT4V_DEPLOYMENT_CAPACITY: ${{ vars.AZURE_OPENAI_GPT4V_DEPLOYMENT_CAPACITY }}
7070
AZURE_OPENAI_GPT4V_DEPLOYMENT_VERSION: ${{ vars.AZURE_OPENAI_GPT4V_DEPLOYMENT_VERSION }}
7171
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 }}
7278
AZURE_OPENAI_DISABLE_KEYS: ${{ vars.AZURE_OPENAI_DISABLE_KEYS }}
7379
OPENAI_HOST: ${{ vars.OPENAI_HOST }}
7480
OPENAI_API_KEY: ${{ vars.OPENAI_API_KEY }}

.github/workflows/evaluate.yaml

Lines changed: 26 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ name: Evaluate RAG answer flow
33
on:
44
issue_comment:
55
types: [created]
6-
workflow_dispatch:
76

87
# Set up permissions for deploying with secretless Azure federated credentials
98
# https://learn.microsoft.com/azure/developer/github/connect-from-azure?tabs=azure-portal%2Clinux#set-up-azure-login-with-openid-connect-authentication
@@ -68,6 +67,12 @@ jobs:
6867
AZURE_OPENAI_GPT4V_DEPLOYMENT_CAPACITY: ${{ vars.AZURE_OPENAI_GPT4V_DEPLOYMENT_CAPACITY }}
6968
AZURE_OPENAI_GPT4V_DEPLOYMENT_VERSION: ${{ vars.AZURE_OPENAI_GPT4V_DEPLOYMENT_VERSION }}
7069
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 }}
7176
AZURE_OPENAI_DISABLE_KEYS: ${{ vars.AZURE_OPENAI_DISABLE_KEYS }}
7277
OPENAI_HOST: ${{ vars.OPENAI_HOST }}
7378
OPENAI_API_KEY: ${{ vars.OPENAI_API_KEY }}
@@ -129,7 +134,7 @@ jobs:
129134
enable-cache: true
130135
version: "0.4.20"
131136
cache-dependency-glob: "requirements**.txt"
132-
python-version: "3.12"
137+
python-version: "3.11"
133138

134139
- name: Setup node
135140
uses: actions/setup-node@v4
@@ -161,6 +166,12 @@ jobs:
161166
--tenant-id "$Env:AZURE_TENANT_ID"
162167
shell: pwsh
163168

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+
164175
- name: Build frontend
165176
run: |
166177
cd ./app/frontend
@@ -173,37 +184,36 @@ jobs:
173184
174185
- name: Run local server in background
175186
run: |
176-
RUNNER_TRACKING_ID="" && (nohup python3 -m uvicorn fastapi_app:create_app --factory > serverlogs.out 2> serverlogs.err &)
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 ../..
177190
178191
- name: Install evaluate dependencies
179192
run: |
180193
uv pip install -r evals/requirements.txt
181194
182-
- name: Run azd env get values command
183-
run: |
184-
azd env get-values
185-
186195
- name: Evaluate local RAG flow
187196
run: |
188-
python evals/evaluate.py --targeturl=http://127.0.0.1:8000/chat --resultsdir=evals/results/pr${{ github.event.issue.number }}
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 }}
189205

190206
- name: Upload server logs as build artifact
191207
uses: actions/upload-artifact@v4
192208
with:
193209
name: server_logs
194-
path: ./serverlogs.out
210+
path: ./app/backend/serverlogs.out
195211

196212
- name: Upload server error logs as build artifact
197213
uses: actions/upload-artifact@v4
198214
with:
199215
name: server_error_logs
200-
path: ./serverlogs.err
201-
202-
- name: Upload eval results as build artifact
203-
uses: actions/upload-artifact@v4
204-
with:
205-
name: eval_result
206-
path: ./evals/results/pr${{ github.event.issue.number }}
216+
path: ./app/backend/serverlogs.err
207217

208218
- name: Summarize results
209219
if: ${{ success() }}

app/backend/app.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -420,7 +420,7 @@ async def setup_clients():
420420
OPENAI_HOST = os.getenv("OPENAI_HOST", "azure")
421421
OPENAI_CHATGPT_MODEL = os.environ["AZURE_OPENAI_CHATGPT_MODEL"]
422422
OPENAI_EMB_MODEL = os.getenv("AZURE_OPENAI_EMB_MODEL_NAME", "text-embedding-ada-002")
423-
OPENAI_EMB_DIMENSIONS = int(os.getenv("AZURE_OPENAI_EMB_DIMENSIONS", 1536))
423+
OPENAI_EMB_DIMENSIONS = int(os.getenv("AZURE_OPENAI_EMB_DIMENSIONS") or 1536)
424424
# Used with Azure OpenAI deployments
425425
AZURE_OPENAI_SERVICE = os.getenv("AZURE_OPENAI_SERVICE")
426426
AZURE_OPENAI_GPT4V_DEPLOYMENT = os.environ.get("AZURE_OPENAI_GPT4V_DEPLOYMENT")
@@ -450,8 +450,8 @@ async def setup_clients():
450450
KB_FIELDS_CONTENT = os.getenv("KB_FIELDS_CONTENT", "content")
451451
KB_FIELDS_SOURCEPAGE = os.getenv("KB_FIELDS_SOURCEPAGE", "sourcepage")
452452

453-
AZURE_SEARCH_QUERY_LANGUAGE = os.getenv("AZURE_SEARCH_QUERY_LANGUAGE", "en-us")
454-
AZURE_SEARCH_QUERY_SPELLER = os.getenv("AZURE_SEARCH_QUERY_SPELLER", "lexicon")
453+
AZURE_SEARCH_QUERY_LANGUAGE = os.getenv("AZURE_SEARCH_QUERY_LANGUAGE") or "en-us"
454+
AZURE_SEARCH_QUERY_SPELLER = os.getenv("AZURE_SEARCH_QUERY_SPELLER") or "lexicon"
455455
AZURE_SEARCH_SEMANTIC_RANKER = os.getenv("AZURE_SEARCH_SEMANTIC_RANKER", "free").lower()
456456

457457
AZURE_SPEECH_SERVICE_ID = os.getenv("AZURE_SPEECH_SERVICE_ID")

app/backend/approaches/approach.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,18 @@ async def search(
152152
) -> List[Document]:
153153
search_text = query_text if use_text_search else ""
154154
search_vectors = vectors if use_vector_search else []
155+
import logging
156+
157+
logger = logging.getLogger("scripts")
155158
if use_semantic_ranker:
159+
logger.info("Using semantic ranker")
160+
logger.info("Search text: %s", search_text)
161+
logger.info("Filter: %s", filter)
162+
logger.info("Top: %s", top)
163+
logger.info("Query language: %s", self.query_language)
164+
logger.info("Query speller: %s", self.query_speller)
165+
logger.info("Semantic configuration: %s", "default")
166+
logger.info("Semantic query: %s", query_text)
156167
results = await self.search_client.search(
157168
search_text=search_text,
158169
filter=filter,
@@ -166,6 +177,7 @@ async def search(
166177
semantic_query=query_text,
167178
)
168179
else:
180+
logger.info("Not using semantic ranker")
169181
results = await self.search_client.search(
170182
search_text=search_text,
171183
filter=filter,

azure.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,12 @@ pipeline:
7373
- AZURE_OPENAI_EMB_DEPLOYMENT_VERSION
7474
- AZURE_OPENAI_EMB_DEPLOYMENT_SKU
7575
- AZURE_OPENAI_EMB_DIMENSIONS
76+
- USE_EVAL
77+
- AZURE_OPENAI_EVAL_MODEL
78+
- AZURE_OPENAI_EVAL_MODEL_VERSION
79+
- AZURE_OPENAI_EVAL_DEPLOYMENT
80+
- AZURE_OPENAI_EVAL_DEPLOYMENT_SKU
81+
- AZURE_OPENAI_EVAL_DEPLOYMENT_CAPACITY
7682
- AZURE_OPENAI_GPT4V_MODEL
7783
- AZURE_OPENAI_GPT4V_DEPLOYMENT
7884
- AZURE_OPENAI_GPT4V_DEPLOYMENT_CAPACITY

0 commit comments

Comments
 (0)