-
Notifications
You must be signed in to change notification settings - Fork 1
Add Unit Tests and Improve Documentation for utils.py clip_tokens Function #3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
- 21κ° ν μ€νΈ μΌμ΄μ€λ‘ μ£μ§ μΌμ΄μ€ λ° λ§€κ°λ³μ μ‘°ν© κ²μ¦ - μ λμ½λ, νΉμλ¬Έμ, κΈ΄ ν μ€νΈ μ²λ¦¬ ν μ€νΈ ν¬ν¨ - μμΈ μν© λ° νμ νΈνμ± νμΈ
- λͺ¨λ λ§€κ°λ³μμ λν μμ ν μ€λͺ μΆκ° - 4κ°μ μ€μ©μ μΈ μ¬μ© μμ ν¬ν¨ - λ°νκ° μ‘°κ±΄ λ° λμ λͺ μ - μμ κ³μ(0.9) λ° μ€λ₯ μ²λ¦¬ μ€λͺ
|
μκ³ λ§μΌμ
¨μ΅λλ€!! λ©μΈν
μ΄λκ° μμ²λκ² μ’μν κ² κ°μμ. γ
γ
γ
γ
γ
γ
γ
|
|
|
||
| # Generated by CodiumAI | ||
|
|
||
| import pytest |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Takser..God λ, μ½λ 보면μ κ°μΈμ μΌλ‘ κΆκΈν μ μ΄ μκ²Όμ΄μ :)
test_clip_tokens.pyμ²λΌ κΌΌκΌΌν ν
μ€νΈ μΌμ΄μ€λ€μ 보면
ꡬμνμ€ λ μ΄λ€ κ²λΆν° μμν΄μ μ΄μ λΆμ¬λλμ§ κ·Έ κ³Όμ μ΄ κΆκΈν©λλ€.
ν¨μ ν΅μ¬ κΈ°λ₯μ λ¨Όμ μ‘κ³ ,
κ·Έλ€μμ μ
λ ₯ κ° λ μ¬κ³ ,
μ΅μ
λ³ λμμ΄λ μμΈ μ²λ¦¬ μμΌλ‘ 체κ³μ μΌλ‘ λ§λ€μ΄κ°μλ 건μ§
μλλ©΄ κ°μΈμ΄ μ£Όλ‘ μ¬μ©νλ λ°©μμ΄ μλμ§ λ±λ±...
λΉλμ
κ³Όμ μ λν μκ°μ νλ¦ νμ μ‘°κΈλ§ 곡μ ν΄ μ£Όμ€ μ μμκΉμ?
(μ무λλ μ κ° μ λμ μΈ κ²½νμ΄ μ λ€λ³΄λ... μκ°μ νλ¦λκ° κΆκΈν©λλ€!)
νμ λ§μ΄ λ°°μλλ€ππ₯π₯π₯
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
1. μΌλ¨ ν¨μ λ³΄κ³ "λνλ ν¨μμ§?"
def clip_tokens(text: str, max_tokens: int, add_three_dots=True...)ν ν° μλ₯΄λ ν¨μꡬλ. κ·ΈλΌ μΌλ¨ κΈ°λ³Έμ μΈ κ±°λΆν° ν μ€νΈν΄λ³΄μ.
2. κΈ°μ‘΄ ν μ€νΈ νμΌ λ΄€λλ 2κ°λ°μ μμ
def test_clip(self):
text = "line1\nline2..."
# μ΄κ²λ§ μλ€?μ΄κ±° λ무 λΆμ‘±νλ€ μΆμ΄μ Issue λ΄μ© λ€μ λ΄€μ΄μ.
3. Issueμμ μꡬν κ²λ€ 체ν¬
- "edge cases" β μ λΉ λ¬Έμμ΄, μμ κ°μ κ±° ν μ€νΈν΄μΌκ² λ€
- "parameter combinations" β add_three_dots, delete_last_line μ‘°ν©λ€
- "error handling" β μμΈ μν©λ€
4. μ€μ λ‘λ νλμ© λ§λ€λ©΄μ "μ μ΄κ²λ ν μ€νΈν΄μΌκ² λ€" νλ©΄μ μΆκ°
def test_empty_input_text(self): # μΌλ¨ λΉ λ¬Έμμ΄
def test_negative_max_tokens(self): # μμ λ£μΌλ©΄ μ΄λ»κ² λ κΉ?μ΄λ κ² νλμ© λ§λ€λ€κ° "μ μ λμ½λλ?" "0μΌλ‘ λλκΈ°λ?" μ΄λ° μμΌλ‘ κ³μ λ μ¬λΌμ μΆκ°ν κ±°μμ.
5. μμ§ν 21κ°λ λ μ€ λͺ°λμ γ γ
μ²μμ 10κ° μ λ μκ°νλλ° νλ€λ³΄λ "μ΄κ²λ ν μ€νΈν΄μΌκ² λ€" νλ©΄μ κ³μ λμ΄λ¬μ΄μ.
νΉν mock ν μ€νΈ λΆλΆμ... μ¬μ€ μ’ ν€λ§Έμ΄μ. TokenEncoder μ΄λ»κ² mock ν΄μΌ νλ κ³ λ―Όνλ©΄μ μ¬λ¬ λ² μλν΄λ΄€κ³ μ.
μ§μ§ μλ²½νκ² κ³ν μΈμ°κ³ ν κ² μλλΌ λ§λ€λ©΄μ "μ μ΄κ²λ, μ κ²λ" νλ©΄μ λ§λΆμΈ κ±°λΌ π
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
κ³ μ€νΈλ°λμμ²λΌ
1->2->3->4->5 μ΄λ κ² λΉμνλ©΄μ λ°λΌκ°λκΉ μ΄ν΄κ° κ°μ΅λλ€..
Issueμμ μꡬν κ²λ€ μ²΄ν¬ μ΄ λΆλΆλ μ€μνκ³
κ²°κ΅ νλ νλ λΆμ¬λκ°λκ² λ°©λ²μ΄μκ΅°μ!
(ν¬λ§ ν¬μΈνΈγ
γ
) - > μμ§ν 21κ°λ λ μ€ λͺ°λμ
ν
μ€νΈ μμλ¦¬κ³ μ λλ‘ λμ€λμ§, ν
μ€νΈ μλ¦¬κ³ + λΆλμ§, 0μΌλ‘ λλ μ§λ μ€λ₯ ν
μ€νΈ λ±...
λ°λ‘ λμ¨κ² μλλΌ νλ νλ, μ¬λ¬ λ² κ³ λ―Όμ΄λ μλκ° λ€μ΄κ°μ λμ¨κ±°κ΅°μ
λλΆμ λ§μ΄ λ°°μκ°λλ€! βοΈ
(νλ μ΄νμλ λΈλ‘κ·Έ κΈ λͺ°λ νμΈνκ² μ΅λλ€..)
| result = clip_tokens(text, max_tokens) | ||
| expected_results = 'line1\nline2\nline3\n\n...(truncated)' | ||
| assert result == expected_results | ||
| assert result == expected_results |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
μμνμ§λ§ EOF λ μ±κ²¨μ£Όμμ¬.. μ½λ©νΈ λ¨κ²¨λ΄ λλ€ :)
add docs about Mermaid Diagram
Pull Request
π‘ PR μμ½
Issue #1793μμ μμ²λ
clip_tokensν¨μμ λ¨μ ν μ€νΈ μΆκ° λ° λ¬Έμν κ°μ μμ μ μλ£νμ΅λλ€. κΈ°μ‘΄ ν¨μμ μμ μ±μ ν΄μΉμ§ μμΌλ©΄μ ν μ€νΈ 컀λ²λ¦¬μ§λ₯Ό λν νμ₯νκ³ κ°λ°μ κ²½νμ ν₯μμμΌ°μ΅λλ€.π μ£Όμ λ³κ²½μ¬ν
tests/unittest/test_clip_tokens.pyμ 21κ°μ ν¬κ΄μ μΈ λ¨μ ν μ€νΈ μΆκ°pr_agent/algo/utils.pyμclip_tokensν¨μ docstring μμ κ°μπ μ°κ΄λ μ΄μ
qodo-ai#1793
πΈ μ€ν¬λ¦°μ· (μ ν)
β 체ν¬λ¦¬μ€νΈ
π λ¦¬λ·°μ΄ μ°Έκ³ μ¬ν
π μΆκ° 컨ν μ€νΈ (μ ν)
μ΄λ² μμ μΌλ‘
clip_tokensν¨μμ μ λ’°μ±μ΄ ν¬κ² ν₯μλμμ΅λλ€. 21κ°μ ν μ€νΈ μΌμ΄μ€λ μ λμ½λ μ²λ¦¬, κΈ΄ ν μ€νΈ μ²λ¦¬, λ€μν λ§€κ°λ³μ μ‘°ν© λ±μ λͺ¨λ κ²μ¦νλ©°, ν₯ν ν¨μ μμ μ νκ· ν μ€νΈ μν μ ν μ μμ΅λλ€. λν μμ ν κ°μ λ docstringμΌλ‘ λ€λ₯Έ κ°λ°μλ€μ΄ ν¨μλ₯Ό μ¬λ°λ₯΄κ² μ¬μ©ν μ μλλ‘ μΆ©λΆν κ°μ΄λλ₯Ό μ 곡ν©λλ€.