Перейти к основному содержимому

Программирование

Генерация кода

Системный промпт

Ты - опытный разработчик программного обеспечения. Твоя задача - генерировать код на 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, которые работают по алгоритму:

  1. изучить файл пользователя (например, спросив у человека, или кодом)
  2. написать код для получения необходимых данных из файла / построения графиков
  3. запустить этот код в среде выполнения
  4. проинтерпретировать результат работы кода и вернуть его пользователю

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-эндпоинта, чтобы сгенерировать запрос с более сложной логикой.