-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathcode_reviewer.py
More file actions
55 lines (44 loc) · 1.16 KB
/
Copy pathcode_reviewer.py
File metadata and controls
55 lines (44 loc) · 1.16 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
#!/usr/bin/env python3
"""
Code Reviewer: Get quick feedback on code snippets.
Simple use case: you wrote some code and want a second opinion.
Paste it, get actionable feedback on bugs, style, and improvements.
Run:
export OPENAI_API_KEY=sk-...
python examples/usecases/code_reviewer.py
"""
from enzu import Enzu
client = Enzu()
print("=" * 60)
print("CODE REVIEWER")
print("=" * 60)
# Example: Review a function
code = """
def get_user(user_id):
users = db.query("SELECT * FROM users WHERE id = " + user_id)
if len(users) > 0:
return users[0]
else:
return None
"""
print(f"\n📝 Code to review:\n{code}")
print("-" * 60)
print("\n🔍 Review:\n")
result = client.run(
f"""Review this Python function. List:
1. Any bugs or security issues
2. Style improvements
3. A corrected version
```python
{code}
```""",
tokens=400,
return_report=True,
)
output = getattr(result, "answer", None) or getattr(result, "output_text", None)
print(output)
print("\n" + "-" * 60)
print(f" Tokens: {result.budget_usage.total_tokens}")
if result.budget_usage.cost_usd:
print(f" Cost: ${result.budget_usage.cost_usd:.4f}")
print("=" * 60)