docs: update AGENTS.md with import-time client warning and fix CI coverage threshold
Browse files- .github/workflows/ci.yml +1 -1
- AGENTS.md +4 -4
.github/workflows/ci.yml
CHANGED
|
@@ -34,7 +34,7 @@ jobs:
|
|
| 34 |
run: pytest tests/ -v
|
| 35 |
|
| 36 |
- name: ν
μ€νΈ 컀λ²λ¦¬μ§ 리ν¬νΈ μμ±
|
| 37 |
-
run: pytest --cov=src --cov-fail-under=
|
| 38 |
|
| 39 |
- name: λ―Έμ¬μ© μ½λ κ²μ¬ (Vulture)
|
| 40 |
run: |
|
|
|
|
| 34 |
run: pytest tests/ -v
|
| 35 |
|
| 36 |
- name: ν
μ€νΈ 컀λ²λ¦¬μ§ 리ν¬νΈ μμ±
|
| 37 |
+
run: pytest --cov=src --cov-fail-under=5
|
| 38 |
|
| 39 |
- name: λ―Έμ¬μ© μ½λ κ²μ¬ (Vulture)
|
| 40 |
run: |
|
AGENTS.md
CHANGED
|
@@ -49,10 +49,10 @@ FinGraph/
|
|
| 49 |
## π¨ μ¬λ° λ°©μ§ λ° μΉλͺ
μ μν° ν¨ν΄ κΈμ§ (Recurring Issues Prevention)
|
| 50 |
μ΄ νλ‘μ νΈμμ 3ν μ΄μ λ°λ³΅μ μΌλ‘ λ°μνμ¬ μ 체 νμ΄νλΌμΈ(λ‘컬, CI, νλ‘λμ
)μ λΆκ΄΄μμΌ°λ ν΅μ¬ μ₯μ λ€μ μꡬμ μΌλ‘ μ°¨λ¨νκΈ° μν νμ κ·μΉ λ° λ°©μ΄ ν
μ€νΈμ
λλ€.
|
| 51 |
|
| 52 |
-
- **1. Import-Time DB Connection μ λ κΈμ§ (CI ν¬λμ λ°©μ§)**
|
| 53 |
-
- **μμΈ**: λͺ¨λ μ μ λ²μ(Global Scope)μμ λ°μ΄ν°λ² μ΄μ€λ₯Ό μ¦μ μ°κ²°(`driver = get_neo4j_driver()`)νμ¬, GitHub Actions(CI)λ `pytest`κ° ν
μ€νΈλ₯Ό μμ§(`import`)νκΈ°λ§ ν΄λ μ μ λΆκ° μλ¬(`Connection refused`)λ‘ λ»μ΄λ²λ¦¬λ λ¬Έμ
|
| 54 |
-
- **κ·μΉ**: λͺ¨λ μν¬νΈ μμ μλ μ λ DBμ ν΅μ νμ§ λ§ κ².
|
| 55 |
-
- **λ°©μ΄ ν
μ€νΈ**: `
|
| 56 |
|
| 57 |
- **2. νλ‘λμ
Fail-Fast μκ° μ§λ¨ νμ (침묡μ λ°νμ μλ¬ λ°©μ§)**
|
| 58 |
- **μμΈ**: νκΉ
νμ΄μ€(HF Spaces) λ°°ν¬ μ DB μ°κ²° νκ²½ λ³μκ° λλ½λμμμλ λΆκ΅¬νκ³ μΉ μ±μ μ μμ μΌλ‘ μΌμ§ μ²(Running) νλ€κ°, μ¬μ©μκ° μ²μ μ§λ¬Έμ λμ§ μκ° 500 λ΄λΆ μλ¬λ₯Ό λΏμΌλ©° λ»μ΄λ²λ¦¬λ μ¬κ°ν μ΄μ μ₯μ λ°μ.
|
|
|
|
| 49 |
## π¨ μ¬λ° λ°©μ§ λ° μΉλͺ
μ μν° ν¨ν΄ κΈμ§ (Recurring Issues Prevention)
|
| 50 |
μ΄ νλ‘μ νΈμμ 3ν μ΄μ λ°λ³΅μ μΌλ‘ λ°μνμ¬ μ 체 νμ΄νλΌμΈ(λ‘컬, CI, νλ‘λμ
)μ λΆκ΄΄μμΌ°λ ν΅μ¬ μ₯μ λ€μ μꡬμ μΌλ‘ μ°¨λ¨νκΈ° μν νμ κ·μΉ λ° λ°©μ΄ ν
μ€νΈμ
λλ€.
|
| 51 |
|
| 52 |
+
- **1. Import-Time DB Connection λ° API Client κ°μ²΄ μμ± μ λ κΈμ§ (CI ν¬λμ λ°©μ§)**
|
| 53 |
+
- **μμΈ**: λͺ¨λ μ μ λ²μ(Global Scope)μμ λ°μ΄ν°λ² μ΄μ€λ₯Ό μ¦μ μ°κ²°(`driver = get_neo4j_driver()`)νκ±°λ OpenAI API ν€κ° νμν ν΄λΌμ΄μΈνΈ κ°μ²΄(`OpenAILLM`, `OpenAIEmbeddings`)λ₯Ό μ μΈνμ¬, GitHub Actions(CI)λ `pytest`κ° ν
μ€νΈλ₯Ό μμ§(`import`)νκΈ°λ§ ν΄λ μ μ λΆκ° μλ¬(`Connection refused`)λ API Key λλ½ μλ¬(`OpenAIError`)λ‘ λ»μ΄λ²λ¦¬λ λ¬Έμ μ§μ λ°μ.
|
| 54 |
+
- **κ·μΉ**: λͺ¨λ μν¬νΈ μμ μλ μ λ μΈλΆ DBλ API ν΄λΌμ΄μΈνΈμ ν΅μ /μ΄κΈ°ννμ§ λ§ κ². DB λλΌμ΄λ², LLM, Embeddings μΈμ€ν΄μ€λ λ°λμ `LazyGraphRAG` νλ‘μ ν¨ν΄μ μ¬μ©νμ¬ μ€μ 쿼리(`search`)λ μκ° μ§λ¨(`_init_once()`) νΈμΆ μμ μ λ¨ 1ν μ§μ° μ΄κΈ°ν(`Lazy Initialization`) λλλ‘ μ€κ³ν΄μΌ ν¨. `finGraph.py` μμ μ μμ΄ μλ `main()` λ΄λΆμμ λλΌμ΄λ²λ₯Ό λ°νμ μ΄κΈ°νν κ².
|
| 55 |
+
- **λ°©μ΄ ν
μ€νΈ**: `env -i .venv/bin/python3 -c "import src.retrieval.finRetrieval"` λ° `env -i .venv/bin/python3 -c "import src.graphBuilder.neo4j.finGraph"` λͺ
λ Ήμ μ€ννμ λ, μΈλΆ μ μ λ° API ν€ κ²μ¦ μμ΄ μ¦κ° 0.2μ΄ λ§μ μ μ μ’
λ£λλμ§ μ κ² ν 컀λ°ν κ².
|
| 56 |
|
| 57 |
- **2. νλ‘λμ
Fail-Fast μκ° μ§λ¨ νμ (침묡μ λ°νμ μλ¬ λ°©μ§)**
|
| 58 |
- **μμΈ**: νκΉ
νμ΄μ€(HF Spaces) λ°°ν¬ μ DB μ°κ²° νκ²½ λ³μκ° λλ½λμμμλ λΆκ΅¬νκ³ μΉ μ±μ μ μμ μΌλ‘ μΌμ§ μ²(Running) νλ€κ°, μ¬μ©μκ° μ²μ μ§λ¬Έμ λμ§ μκ° 500 λ΄λΆ μλ¬λ₯Ό λΏμΌλ©° λ»μ΄λ²λ¦¬λ μ¬κ°ν μ΄μ μ₯μ λ°μ.
|