Зображення, створене DALL.E
Чи коли-небудь ви мріяли про безперервного компаньйона для кодування, який міг би перевіряти ваш код 24/7, знаходити помилки та пропонувати покращення? Сьогодні ми робимо цю мрію реальністю! Ми створюємо AI-помічника для перевірки коду, використовуючи Django та ChatGPT, що революціонізує підхід до якості коду та безперервного навчання.
Що ми будуємо
Наш AI-помічник для перевірки коду буде:
- Приймати фрагменти коду на різних мовах програмування
- Використовувати ChatGPT для аналізу коду
- Надавати корисні пропозиції для покращення
- Пояснювати концепції кодування та найкращі практики
Давайте почнемо та створимо цей потужний інструмент!
Попередні вимоги
- Python 3.8+
- Базове розуміння Django
- Ключ API OpenAI
Налаштування проекту
- Встановіть необхідні пакети:
pip install django openai
- Створіть нову директорію та налаштуйте віртуальне середовище:
mkdir ai_code_reviewer
cd ai_code_reviewer
python -m venv env
source env/bin/activate # На Windows: env\Scripts\activate
- Створіть новий проект Django та додаток:
django-admin startproject code_reviewer .
python manage.py startapp reviewer
- Оновіть
code_reviewer/settings.py
:
INSTALLED_APPS = [
# ...
'reviewer',
]
TEMPLATES = [
{
# ...
'DIRS': [BASE_DIR / 'templates'],
# ...
},
]
OPENAI_API_KEY = 'your_api_key_here'
Створення помічника для перевірки коду
- Створіть
reviewer/views.py
:
import openai
from django.shortcuts import render
from django.conf import settings
openai.api_key = settings.OPENAI_API_KEY
def review_code(request):
if request.method == 'POST':
code = request.POST.get('code', '')
language = request.POST.get('language', 'python')
prompt = f"Review the following {language} code and provide suggestions for improvement:\n\n{code}"
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": "You are a helpful code reviewer."},
{"role": "user", "content": prompt}
]
)
review = response.choices[0].message['content']
return render(request, 'reviewer/result.html', {'code': code, 'review': review})
return render(request, 'reviewer/review.html')
- Створіть
reviewer/urls.py
:
from django.urls import path
from . import views
urlpatterns = [
path('', views.review_code, name='review_code'),
]
- Оновіть
code_reviewer/urls.py
:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('reviewer.urls')),
]
Створення шаблонів:
В `templates/base.html`:
{% block content %}{% endblock %}
```
В templates/reviewer/review.html
:
{% extends 'base.html' %}
{% block content %}
<h1>AI Code Reviewer</h1>
<form method="POST">
{% csrf_token %}
<select name="language">
<option value="python">Python</option>
<option value="javascript">JavaScript</option>
<option value="java">Java</option>
</select>
<textarea name="code" rows="10" cols="50"></textarea>
<button type="submit">Review Code</button>
</form>
{% endblock %}
В templates/reviewer/result.html
:
{% extends 'base.html' %}
{% block content %}
<h1>Code Review Result</h1>
<h2>Original Code:</h2>
<pre>{{ code }}</pre>
<h2>AI Review:</h2>
<pre>{{ review|linebreaks }}</pre>
<a href="{% url 'review_code' %}">Review Another Snippet</a>
{% endblock %}
- Запустіть міграції та сервер:
python manage.py migrate
python manage.py runserver
Тепер перейдіть за адресою http://127.0.0.1:8000/, щоб використати ваш AI Code Reviewer!
Як це працює
- Користувачі вставляють фрагмент коду та вибирають мову програмування.
- Додаток надсилає код до ChatGPT з запитом на перевірку.
- ChatGPT аналізує код та надає пропозиції щодо покращення.
- Додаток відображає оригінальний код та перевірку, згенеровану AI.
Демонстрація перевірки коду
Висновки
Вітаємо! Ви успішно створили AI-помічника для перевірки коду за допомогою Django та ChatGPT. Цей потужний інструмент може допомогти розробникам усіх рівнів покращити якість коду, вивчити найкращі практики та виявляти потенційні проблеми на ранніх етапах розробки.
Перекладено з: Day10: Building an AI-Assisted Code Reviewer with Django and ChatGPT