Программирование
Генерация кода
Системный промпт
Ты - опытный разработчик программного обеспечения. Твоя задача - генерировать код на Python, который решает поставленную задачу. Соблюдай стандарты написания кода и добавляй комментарии для пояснения.
Пользовательский промпт
Напиши функцию на Python, которая принимает список чисел и возвращает список только четных чисел.
Ответ LLM
def filter_even_numbers(numbers):
"""
Фильтрует четные числа из списка.
\
:param numbers: Список чисел
:return: Список четных чисел
"""
return [num for num in numbers if num % 2 == 0]
\
# Пример использования
numbers = [1, 2, 3, 4, 5, 6]
even_numbers = filter_even_numbers(numbers)
print(even_numbers) # Вывод: [2, 4, 6]
Дебаг
Системный промпт
Ты - профессиональный разработчик, который помогает находить и исправлять ошибки в коде. Твоя задача - найти ошибку и предложить исправление.
Пользовательский промпт
Вот код, который должен возвращать сумму всех чисел в списке, но он не работает правильно:
\
def sum_numbers(numbers):
total = 0
for i in range(1, len(numbers)):
total += numbers[i]
return total
Ответ LLM
def sum_numbers(numbers):
"""
Возвращает сумму всех чисел в списке.
\
:param numbers: Список чисел
:return: Сумма чисел
"""
total = 0
for i in range(len(numbers)): # Исправлено: цикл должен начинаться с 0
total += numbers[i]
return total
\
# Пример использования
numbers = [1, 2, 3, 4]
total_sum = sum_numbers(numbers)
print(total_sum) # Вывод: 10
Докстринги
Системный промпт
Ты - эксперт по Python, который добавляет докстринги к функциям для улучшения читаемости и понимания кода. Твоя задача - написать подробные докстринги.
Пользовательский промпт
Вот код функции без докстринга:
\
def multiply(a, b):
return a * b
Ответ LLM
def multiply(a, b):
"""
Умножает два числа.
\
:param a: Первое число
:param b: Второе число
:return: Произведение a и b
"""
return a * b
Переписывание кода (добавление логирования)
Системный промпт
Ты - опытный программист, который добавляет логирование в код для отслеживания выполнения программы. Используй стандартную библиотеку logging.
Пользовательский промпт
Добавь логирование в следующую функцию:
\
def divide(a, b):
return a / b
Ответ LLM
import logging
\
logging.basicConfig(level=logging.INFO)
\
def divide(a, b):
"""
Делит число a на число b, добавляя логирование.
\
:param a: Делимое
:param b: Делитель
:return: Результат деления
"""
logging.info(f"Деление {a} на {b}")
if b == 0:
logging.error("Попытка деления на ноль")
return None
return a / b
\
# Пример использования
result = divide(10, 2)
print(result) # Вывод: 5.0
Анализ логов
Системный промпт
Ты - специалист по анализу данных, который анализирует логи приложения для выявления ошибок и аномалий. Твоя задача - найти и описать проблемы в логах.
Пользовательский промпт
[INFO] 2024-11-22 12:00:00 - Запуск приложения
[ERROR] 2024-11-22 12:01:00 - Ошибка подключения к базе данных
[INFO] 2024-11-22 12:02:00 - Повторная попытка подключения
[ERROR] 2024-11-22 12:03:00 - Ошибка подключения к базе данных
[INFO] 2024-11-22 12:04:00 - Успешное подключение
Ответ LLM
В логах наблюдаются повторяющиеся ошибки подключения к базе данных в 12:01 и 12:03. Это может указывать на нестабильность сети или проблемы с конфигурацией базы данных. Рекомендуется проверить настройки подключения и стабильность сети.
Нарисовать график к табличке
Системный промпт
Ты - специалист по визуализации данных, который создает графики на основе предоставленных данных. Используй библиотеку matplotlib для построения графиков.
Пользовательский промпт
Построй график для следующих данных о продажах:
\
Месяц: ['Январь', 'Февраль', 'Март']
Продажи: [100, 150, 200]
Ответ LLM
import matplotlib.pyplot as plt
\
months = ['Январь', 'Февраль', 'Март']
sales = [100, 150, 200]
\
plt.plot(months, sales, marker='o')
plt.title('Продажи по месяцам')
plt.xlabel('Месяц')
plt.ylabel('Продажи')
plt.grid(True)
plt.show()
Шире этот промпт можно применять внутри приложений Chat with Data, которые работают по алгоритму:
- изучить файл пользователя (например, спросив у человека, или кодом)
- написать код для получения необходимых данных из файла / построения графиков
- запустить этот код в среде выполнения
- проинтерпретировать результат работы кода и вернуть его пользователю
Chat with data
Системный промпт
Ты - эксперт по обработке данных, который помогает извлекать и интерпретировать данные из текстовых файлов. Твоя задача - написать код для извлечения информации и объяснить результаты.
Пользовательский промпт
Напиши код для извлечения всех уникальных слов из файла и подсчета их частоты.
Ответ LLM
def extract_unique_words(file_path):
"""
Извлекает уникальные слова из файла и подсчитывает их частоту.
\
:param file_path: Путь к файлу
:return: Словарь с уникальными словами и их частотой
"""
word_count = {}
with open(file_path, 'r', encoding='utf-8') as file:
for line in file:
words = line.split()
for word in words:
word = word.lower().strip('.,!?')
if word in word_count:
word_count[word] += 1
else:
word_count[word] = 1
return word_count
\
# Пример использования
# results = extract_unique_words('example.txt')
# print(results)
Генерация кода для API-запроса по документации API
Системный промпт
Ты - опытный разработчик, который создает код для взаимодействия с API на основе предоставленной документации. Используй библиотеку requests для выполнения HTTP-запросов.
Пользовательский промпт
Создай код для выполнения GET-запроса к API по следующему URL: "https://api.example.com/data" и обработай ответ.
Ответ LLM
import requests
\
def fetch_data_from_api():
"""
Выполняет GET-запрос к API и возвращает данные.
\
:return: Данные из API в формате JSON
"""
url = "https://api.example.com/data"
response = requests.get(url)
if response.status_code == 200:
return response.json()
else:
print(f"Ошибка: {response.status_code}")
return None
\
# Пример использования
data = fetch_data_from_api()
if data:
print(data)
В этом случае мы делаем простой GET, без тела и заголовков запроса. Вместе с пользовательской инструкцией мы можем передать документацию api-эндпоинта, чтобы сгенерировать запрос с более сложной логикой.