Repository navigation
Expand file tree
/
Copy pathpyproject.toml
More file actions
55 lines (51 loc) ยท 2.23 KB
/
Copy pathpyproject.toml
File metadata and controls
55 lines (51 loc) ยท 2.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
[project]
name = "module06-ai"
version = "0.1.0"
description = "์๋ค(Z) ํ์ ๋ถ์ โ AI EC2 ๊ณ์ธต ์๋ฒ (VAD ยท Gemini ๊ณ์ธต ยท Qdrant)"
requires-python = ">=3.12"
dependencies = [
"fastapi>=0.115",
"uvicorn[standard]>=0.32",
"pydantic>=2.9",
"pydantic-settings>=2.6",
"google-genai>=1.0",
# AI-08ยท09 ๋ฒกํฐ ์ธ๋ฑ์ค. ํ
์คํธ๋ ์ด ํจํค์ง์ ๋ก์ปฌ ๋ชจ๋(":memory:")๋ก ๊ฐ์ ์ฝ๋ ๊ฒฝ๋ก๋ฅผ
# ๋๋ฆฐ๋ค โ ๊ฐ์ง ์ ์ฅ์๋ฅผ ๋ฐ๋ก ๋๋ฉด ์ฐ๋ฆฌ๊ฐ ๋ง๋ค๊ณ ๋ฏฟ๋ ๋๋ก๋ง ๋์ํ๋ค.
"qdrant-client>=1.12",
# AI-01 VAD. onnxruntime ์ ์ง์ ์ด๋ค โ silero ๋ํผ ํจํค์ง๋ torch ๋ฅผ ๋์ด์
# ์ถ๋ก ๋ง ํ๋ ์๋ฒ์ ํ์ต ํ๋ ์์ํฌ๊ฐ ๋ค์ด๊ฐ๋ค(์ด๋ฏธ์ง๊ฐ GB ๋จ์๋ก ์ปค์ง๋ค).
"onnxruntime>=1.20",
"numpy>=2.1",
# ์ค๋์ค๋ ๋ณธ๋ฌธ์ด ์๋๋ผ S3 ํค๋ก ์จ๋ค(๋ช
์ธ ใ๋ด๋ถ API ๊ท์นใ). ์๊ฒฉ์ฆ๋ช
์ ์ค์ ์ ๋์ง
# ์๊ณ AI EC2 ์ IAM ๋กค์ boto3 ๊ฐ ์ง๋๋ค.
"boto3>=1.35",
]
[dependency-groups]
dev = [
"pytest>=8.3",
# ๊ณ์ธต ํจ์๊ฐ ์ ๋ถ async ๋ค. TestClient ๋ก ๊ฐ์ธ๋ฉด ๋ผ์ฐํ
๊น์ง ํจ๊ป ๋๋๋ผ
# ํ์ฒ๋ฆฌ ํ๋๋ฅผ ๊ฒ์ฆํ๋ ๋ฐ ์์ฒญ ๋ณธ๋ฌธ ์ ์ฒด๊ฐ ํ์ํด์ง๋ค โ ๊ณ์ธต ํจ์๋ฅผ ์ง์ ๋ถ๋ฅธ๋ค.
"pytest-asyncio>=0.24",
"ruff>=0.7",
# fastapi.testclient ์ HTTP ๋ฐฑ์๋. starlette ์ต์ ์ httpx2 ๋ฅผ ์๊ตฌํ๋ค
# (httpx 1.x ๋ฅผ ์ฐ๋ฉด StarletteDeprecationWarning).
"httpx2>=2.0",
]
[tool.ruff]
line-length = 110
[tool.ruff.lint.flake8-bugbear]
# FastAPI ๋ ์์กด์ฑ์ ์ธ์ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ ์ธํ๋ ๊ฒ์ด ๊ด์ฉ๊ตฌ๋ค(B008 ์ด ์ก๋ ํจํด).
# ํจ์ ์์ผ๋ก ์ฎ๊ธฐ๋ฉด FastAPI ๊ฐ ์์กด์ฑ์ ์ธ์ํ์ง ๋ชปํด ์ฃผ์
์์ฒด๊ฐ ๊นจ์ง๋ค.
extend-immutable-calls = [
"fastapi.Depends",
"fastapi.Header",
"fastapi.Query",
"fastapi.Path",
"fastapi.Body",
]
[tool.pytest.ini_options]
testpaths = ["tests"]
# ๋ง์ปค๋ฅผ ๋น ๋จ๋ฆฐ async ํ
์คํธ๋ "ํต๊ณผ"๊ฐ ์๋๋ผ **์กฐ์ฉํ ๊ฑด๋๋ด ๊ฒ**์ด ๋๋ค.
# strict ๋ชจ๋๋ฉด ๊ทธ๋ฐ ํ
์คํธ๊ฐ ์คํจ๋ก ๋๋ฌ๋๋ค โ ์ ๋๋ ํ
์คํธ๊ฐ ์ด๋ก๋ถ๋ก ๋ณด์ด๋ ๊ฒ์
# ๊ฒ์ดํธ๊ฐ ์๋ต์ ํต๊ณผ๋ก ์ฒ๋ฆฌํ๋ ๊ฒ๊ณผ ๊ฐ์ ์ข
๋ฅ์ ์คํจ๋ค.
asyncio_mode = "strict"