Skip to content

Commit 61bde71

Browse files
authored
Merge pull request #141 from Azure-Samples/pinreqs
Pin all the requirements
2 parents 407271f + 5823bcf commit 61bde71

File tree

9 files changed

+320
-3
lines changed

9 files changed

+320
-3
lines changed

.devcontainer/devcontainer.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"nodeGypDependencies": false
1818
},
1919
"ghcr.io/azure/azure-dev/azd:latest": {
20-
"version": "1.10.3"
20+
"version": "1.11.0"
2121
},
2222
"ghcr.io/prulloac/devcontainer-features/ollama:1": {},
2323
// az CLI is helpful for being able to login correctly with DefaultAzureCredential:

.github/workflows/app-tests.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ jobs:
9494
- name: Install dependencies
9595
run: |
9696
uv pip install -r requirements-dev.txt
97+
uv pip install -r evals/requirements.txt
9798
9899
- name: Install app as editable app
99100
run: |

.github/workflows/evaluate.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@ jobs:
115115
- name: Install dependencies
116116
run: |
117117
uv pip install -r requirements-dev.txt
118+
uv pip install -r evals/requirements.txt
118119
119120
- name: Install app as editable app
120121
run: |

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,7 @@ Since the local app uses OpenAI models, you should first deploy it for the optim
146146
1. Run these commands to install the web app as a local package (named `fastapi_app`), set up the local database, and seed it with test data:
147147
148148
```bash
149+
python -m pip install -r src/backend/requirements.txt
149150
python -m pip install -e src/backend
150151
python ./src/backend/fastapi_app/setup_postgres_database.py
151152
python ./src/backend/fastapi_app/setup_postgres_seeddata.py

docs/evaluation.md

+1
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ Install all the dependencies for the evaluation script by running the following
3838

3939
```bash
4040
pip install -r requirements-dev.txt
41+
pip install -r evals/requirements.txt
4142
```
4243

4344
## Generate ground truth data

evals/requirements.txt

+1
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
git+https://github.com/Azure-Samples/ai-rag-chat-evaluator/@installable
2+
rich

requirements-dev.txt

-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
-r src/backend/requirements.txt
2-
-r evals/requirements.txt
32
ruff
43
mypy
54
types-requests

src/backend/pyproject.toml

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ version = "1.0.0"
44
description = "Create a RAG application with FastAPI and PostgreSQL"
55
dependencies = [
66
"fastapi>=0.111.0,<1.0.0",
7+
"uvicorn>=0.30.1,<1.0.0",
78
"python-dotenv>=1.0.1,<2.0.0",
89
"environs>=11.0.0,<12.0.0",
910
"azure-identity>=1.16.1,<2.0.0",

src/backend/requirements.txt

+313-1
Original file line numberDiff line numberDiff line change
@@ -1 +1,313 @@
1-
uvicorn>=0.30.1,<1.0.0
1+
# This file was autogenerated by uv via the following command:
2+
# uv pip compile pyproject.toml -o requirements.txt --python-version 3.9
3+
aiohappyeyeballs==2.4.4
4+
# via aiohttp
5+
aiohttp==3.11.9
6+
# via fastapi-app (pyproject.toml)
7+
aiosignal==1.3.1
8+
# via aiohttp
9+
annotated-types==0.7.0
10+
# via pydantic
11+
anyio==4.6.2.post1
12+
# via
13+
# httpx
14+
# openai
15+
# starlette
16+
asgiref==3.8.1
17+
# via opentelemetry-instrumentation-asgi
18+
async-timeout==5.0.1
19+
# via
20+
# aiohttp
21+
# asyncpg
22+
asyncpg==0.30.0
23+
# via fastapi-app (pyproject.toml)
24+
attrs==24.2.0
25+
# via aiohttp
26+
azure-core==1.32.0
27+
# via
28+
# azure-core-tracing-opentelemetry
29+
# azure-identity
30+
# azure-monitor-opentelemetry
31+
# azure-monitor-opentelemetry-exporter
32+
# msrest
33+
azure-core-tracing-opentelemetry==1.0.0b11
34+
# via azure-monitor-opentelemetry
35+
azure-identity==1.19.0
36+
# via fastapi-app (pyproject.toml)
37+
azure-monitor-opentelemetry==1.6.3
38+
# via fastapi-app (pyproject.toml)
39+
azure-monitor-opentelemetry-exporter==1.0.0b32
40+
# via azure-monitor-opentelemetry
41+
certifi==2024.8.30
42+
# via
43+
# httpcore
44+
# httpx
45+
# msrest
46+
# requests
47+
cffi==1.17.1
48+
# via cryptography
49+
charset-normalizer==3.4.0
50+
# via requests
51+
click==8.1.7
52+
# via uvicorn
53+
cryptography==44.0.0
54+
# via
55+
# azure-identity
56+
# msal
57+
# pyjwt
58+
deprecated==1.2.15
59+
# via
60+
# opentelemetry-api
61+
# opentelemetry-semantic-conventions
62+
distro==1.9.0
63+
# via openai
64+
environs==11.2.1
65+
# via fastapi-app (pyproject.toml)
66+
exceptiongroup==1.2.2
67+
# via anyio
68+
fastapi==0.115.5
69+
# via fastapi-app (pyproject.toml)
70+
fixedint==0.1.6
71+
# via azure-monitor-opentelemetry-exporter
72+
frozenlist==1.5.0
73+
# via
74+
# aiohttp
75+
# aiosignal
76+
greenlet==3.1.1
77+
# via sqlalchemy
78+
h11==0.14.0
79+
# via
80+
# httpcore
81+
# uvicorn
82+
httpcore==1.0.7
83+
# via httpx
84+
httpx==0.28.0
85+
# via openai
86+
idna==3.10
87+
# via
88+
# anyio
89+
# httpx
90+
# requests
91+
# yarl
92+
importlib-metadata==8.4.0
93+
# via
94+
# opentelemetry-api
95+
# opentelemetry-instrumentation-flask
96+
isodate==0.7.2
97+
# via msrest
98+
jiter==0.8.0
99+
# via openai
100+
marshmallow==3.23.1
101+
# via environs
102+
msal==1.31.1
103+
# via
104+
# azure-identity
105+
# msal-extensions
106+
msal-extensions==1.2.0
107+
# via azure-identity
108+
msrest==0.7.1
109+
# via azure-monitor-opentelemetry-exporter
110+
multidict==6.1.0
111+
# via
112+
# aiohttp
113+
# yarl
114+
numpy==2.0.2
115+
# via pgvector
116+
oauthlib==3.2.2
117+
# via requests-oauthlib
118+
openai==1.55.3
119+
# via
120+
# fastapi-app (pyproject.toml)
121+
# openai-messages-token-helper
122+
openai-messages-token-helper==0.1.10
123+
# via fastapi-app (pyproject.toml)
124+
opentelemetry-api==1.27.0
125+
# via
126+
# azure-core-tracing-opentelemetry
127+
# azure-monitor-opentelemetry-exporter
128+
# opentelemetry-instrumentation
129+
# opentelemetry-instrumentation-aiohttp-client
130+
# opentelemetry-instrumentation-asgi
131+
# opentelemetry-instrumentation-dbapi
132+
# opentelemetry-instrumentation-django
133+
# opentelemetry-instrumentation-fastapi
134+
# opentelemetry-instrumentation-flask
135+
# opentelemetry-instrumentation-openai
136+
# opentelemetry-instrumentation-psycopg2
137+
# opentelemetry-instrumentation-requests
138+
# opentelemetry-instrumentation-sqlalchemy
139+
# opentelemetry-instrumentation-urllib
140+
# opentelemetry-instrumentation-urllib3
141+
# opentelemetry-instrumentation-wsgi
142+
# opentelemetry-sdk
143+
# opentelemetry-semantic-conventions
144+
opentelemetry-instrumentation==0.48b0
145+
# via
146+
# opentelemetry-instrumentation-aiohttp-client
147+
# opentelemetry-instrumentation-asgi
148+
# opentelemetry-instrumentation-dbapi
149+
# opentelemetry-instrumentation-django
150+
# opentelemetry-instrumentation-fastapi
151+
# opentelemetry-instrumentation-flask
152+
# opentelemetry-instrumentation-openai
153+
# opentelemetry-instrumentation-psycopg2
154+
# opentelemetry-instrumentation-requests
155+
# opentelemetry-instrumentation-sqlalchemy
156+
# opentelemetry-instrumentation-urllib
157+
# opentelemetry-instrumentation-urllib3
158+
# opentelemetry-instrumentation-wsgi
159+
opentelemetry-instrumentation-aiohttp-client==0.48b0
160+
# via fastapi-app (pyproject.toml)
161+
opentelemetry-instrumentation-asgi==0.48b0
162+
# via opentelemetry-instrumentation-fastapi
163+
opentelemetry-instrumentation-dbapi==0.48b0
164+
# via opentelemetry-instrumentation-psycopg2
165+
opentelemetry-instrumentation-django==0.48b0
166+
# via azure-monitor-opentelemetry
167+
opentelemetry-instrumentation-fastapi==0.48b0
168+
# via azure-monitor-opentelemetry
169+
opentelemetry-instrumentation-flask==0.48b0
170+
# via azure-monitor-opentelemetry
171+
opentelemetry-instrumentation-openai==0.33.9
172+
# via fastapi-app (pyproject.toml)
173+
opentelemetry-instrumentation-psycopg2==0.48b0
174+
# via azure-monitor-opentelemetry
175+
opentelemetry-instrumentation-requests==0.48b0
176+
# via azure-monitor-opentelemetry
177+
opentelemetry-instrumentation-sqlalchemy==0.48b0
178+
# via fastapi-app (pyproject.toml)
179+
opentelemetry-instrumentation-urllib==0.48b0
180+
# via azure-monitor-opentelemetry
181+
opentelemetry-instrumentation-urllib3==0.48b0
182+
# via azure-monitor-opentelemetry
183+
opentelemetry-instrumentation-wsgi==0.48b0
184+
# via
185+
# opentelemetry-instrumentation-django
186+
# opentelemetry-instrumentation-flask
187+
opentelemetry-resource-detector-azure==0.1.5
188+
# via azure-monitor-opentelemetry
189+
opentelemetry-sdk==1.27.0
190+
# via
191+
# azure-monitor-opentelemetry
192+
# azure-monitor-opentelemetry-exporter
193+
# opentelemetry-resource-detector-azure
194+
opentelemetry-semantic-conventions==0.48b0
195+
# via
196+
# opentelemetry-instrumentation-aiohttp-client
197+
# opentelemetry-instrumentation-asgi
198+
# opentelemetry-instrumentation-dbapi
199+
# opentelemetry-instrumentation-django
200+
# opentelemetry-instrumentation-fastapi
201+
# opentelemetry-instrumentation-flask
202+
# opentelemetry-instrumentation-openai
203+
# opentelemetry-instrumentation-requests
204+
# opentelemetry-instrumentation-sqlalchemy
205+
# opentelemetry-instrumentation-urllib
206+
# opentelemetry-instrumentation-urllib3
207+
# opentelemetry-instrumentation-wsgi
208+
# opentelemetry-sdk
209+
opentelemetry-semantic-conventions-ai==0.4.2
210+
# via opentelemetry-instrumentation-openai
211+
opentelemetry-util-http==0.48b0
212+
# via
213+
# opentelemetry-instrumentation-aiohttp-client
214+
# opentelemetry-instrumentation-asgi
215+
# opentelemetry-instrumentation-django
216+
# opentelemetry-instrumentation-fastapi
217+
# opentelemetry-instrumentation-flask
218+
# opentelemetry-instrumentation-requests
219+
# opentelemetry-instrumentation-urllib
220+
# opentelemetry-instrumentation-urllib3
221+
# opentelemetry-instrumentation-wsgi
222+
packaging==24.2
223+
# via
224+
# marshmallow
225+
# opentelemetry-instrumentation-flask
226+
# opentelemetry-instrumentation-sqlalchemy
227+
pgvector==0.3.6
228+
# via fastapi-app (pyproject.toml)
229+
pillow==11.0.0
230+
# via openai-messages-token-helper
231+
portalocker==2.10.1
232+
# via msal-extensions
233+
propcache==0.2.1
234+
# via
235+
# aiohttp
236+
# yarl
237+
psutil==5.9.8
238+
# via azure-monitor-opentelemetry-exporter
239+
pycparser==2.22
240+
# via cffi
241+
pydantic==2.10.2
242+
# via
243+
# fastapi
244+
# openai
245+
pydantic-core==2.27.1
246+
# via pydantic
247+
pyjwt==2.10.1
248+
# via msal
249+
python-dotenv==1.0.1
250+
# via
251+
# fastapi-app (pyproject.toml)
252+
# environs
253+
regex==2024.11.6
254+
# via tiktoken
255+
requests==2.32.3
256+
# via
257+
# azure-core
258+
# msal
259+
# msrest
260+
# requests-oauthlib
261+
# tiktoken
262+
requests-oauthlib==2.0.0
263+
# via msrest
264+
setuptools==75.6.0
265+
# via opentelemetry-instrumentation
266+
six==1.16.0
267+
# via azure-core
268+
sniffio==1.3.1
269+
# via
270+
# anyio
271+
# openai
272+
sqlalchemy==2.0.36
273+
# via fastapi-app (pyproject.toml)
274+
starlette==0.41.3
275+
# via fastapi
276+
tiktoken==0.7.0
277+
# via
278+
# fastapi-app (pyproject.toml)
279+
# openai-messages-token-helper
280+
# opentelemetry-instrumentation-openai
281+
tqdm==4.67.1
282+
# via openai
283+
typing-extensions==4.12.2
284+
# via
285+
# anyio
286+
# asgiref
287+
# azure-core
288+
# azure-identity
289+
# fastapi
290+
# multidict
291+
# openai
292+
# opentelemetry-sdk
293+
# pydantic
294+
# pydantic-core
295+
# sqlalchemy
296+
# starlette
297+
# uvicorn
298+
urllib3==2.2.3
299+
# via requests
300+
uvicorn==0.32.1
301+
# via fastapi-app (pyproject.toml)
302+
wrapt==1.17.0
303+
# via
304+
# deprecated
305+
# opentelemetry-instrumentation
306+
# opentelemetry-instrumentation-aiohttp-client
307+
# opentelemetry-instrumentation-dbapi
308+
# opentelemetry-instrumentation-sqlalchemy
309+
# opentelemetry-instrumentation-urllib3
310+
yarl==1.18.3
311+
# via aiohttp
312+
zipp==3.21.0
313+
# via importlib-metadata

0 commit comments

Comments
 (0)