День 10: Створення AI-помічника для перевірки коду з Django та ChatGPT

pic

Зображення, створене DALL.E

Чи коли-небудь ви мріяли про безперервного компаньйона для кодування, який міг би перевіряти ваш код 24/7, знаходити помилки та пропонувати покращення? Сьогодні ми робимо цю мрію реальністю! Ми створюємо AI-помічника для перевірки коду, використовуючи Django та ChatGPT, що революціонізує підхід до якості коду та безперервного навчання.

Що ми будуємо

Наш AI-помічник для перевірки коду буде:

  1. Приймати фрагменти коду на різних мовах програмування
  2. Використовувати ChatGPT для аналізу коду
  3. Надавати корисні пропозиції для покращення
  4. Пояснювати концепції кодування та найкращі практики

Давайте почнемо та створимо цей потужний інструмент!

Попередні вимоги

  • Python 3.8+
  • Базове розуміння Django
  • Ключ API OpenAI

Налаштування проекту

  1. Встановіть необхідні пакети:
pip install django openai
  1. Створіть нову директорію та налаштуйте віртуальне середовище:
mkdir ai_code_reviewer  
cd ai_code_reviewer  
python -m venv env  
source env/bin/activate # На Windows: env\Scripts\activate
  1. Створіть новий проект Django та додаток:
django-admin startproject code_reviewer .  
python manage.py startapp reviewer
  1. Оновіть code_reviewer/settings.py:
INSTALLED_APPS = [  
 # ...  
 'reviewer',  
]  

TEMPLATES = [  
 {  
 # ...  
 'DIRS': [BASE_DIR / 'templates'],  
 # ...  
 },  
]  

OPENAI_API_KEY = 'your_api_key_here'

Створення помічника для перевірки коду

  1. Створіть 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')
  1. Створіть reviewer/urls.py:
from django.urls import path  
from . import views  

urlpatterns = [  
 path('', views.review_code, name='review_code'),  
]
  1. Оновіть 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`:



AI Code Reviewer


{% 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 %}
  1. Запустіть міграції та сервер:
python manage.py migrate
python manage.py runserver

Тепер перейдіть за адресою http://127.0.0.1:8000/, щоб використати ваш AI Code Reviewer!

Як це працює

  1. Користувачі вставляють фрагмент коду та вибирають мову програмування.
  2. Додаток надсилає код до ChatGPT з запитом на перевірку.
  3. ChatGPT аналізує код та надає пропозиції щодо покращення.
  4. Додаток відображає оригінальний код та перевірку, згенеровану AI.

pic

Демонстрація перевірки коду

Висновки

Вітаємо! Ви успішно створили AI-помічника для перевірки коду за допомогою Django та ChatGPT. Цей потужний інструмент може допомогти розробникам усіх рівнів покращити якість коду, вивчити найкращі практики та виявляти потенційні проблеми на ранніх етапах розробки.

Перекладено з: Day10: Building an AI-Assisted Code Reviewer with Django and ChatGPT

Leave a Reply

Your email address will not be published. Required fields are marked *