Используйте LLM-программирование для вызова API с помощью команд естественного языка.

Подумайте о таком продвинутом чат-боте, который может помочь вам в определении проблемы или параметризации сложной системы или, в более простом случае, при вызове API, втором пилоте, способном дать вам подсказки о функциях, которые вы собираетесь использовать, способном объяснить каждый параметр снабжен примерами, чтобы ускорить вашу работу. С появлением больших языковых моделей это уже не просто утопия, а нечто легко достижимое.

Естественный язык позволяет нетехническим пользователям, которые являются экспертами в предметной области, но не имеют навыков кодирования или программирования, легко настраивать сложные системы или получать данные из определенных API, не требуя глубоких технических знаний.

В этой статье я собираюсь показать вам, как использовать LMQL [1] для создания чат-бота, поддерживающего эксперта в предметной области при вызове API прогнозирования с использованием команд на естественном языке.

Контекст

@dataclass
class Parameters:
    model_name: str
    forecasting_horizon: int
    forecasting_frequency: str
    accuracy_metrics : str

API прогнозирования в этом простом примере принимает на вход небольшой набор параметров, определенных классом «Параметры», где:

  • model_name (str): этот атрибут представляет имя или идентификатор модели прогнозирования. Это строка, которая однозначно идентифицирует конкретную модель, используемую для прогнозирования;
  • forecasting_horizon (int): этот атрибут определяет продолжительность времени или период, на который вы делаете прогнозы. Он определяет, как далеко в будущее мы хотим предсказать;
  • forecasting_frequency (str): этот атрибут указывает, как часто вы составляете прогнозы или собираете данные для прогнозирования. Он определяет частоту, с которой вы обновляете или генерируете прогнозы. Например, если вы обновляете прогнозы продаж каждый день, частота прогнозирования будет «ежедневной»;
  • accuracy_metrics (str): этот атрибут относится к показателям или критериям, используемым для оценки точности и производительности вашей модели прогнозирования. Он определяет методы или меры, которые вы используете для оценки того, насколько хорошо ваши прогнозы соответствуют фактическим результатам…