aimock: инструмент для создания моков для AI-приложений

aimock — это инструмент для создания моков всего, с чем может взаимодействовать ваше AI-приложение, включая LLM API, базы данных и пользовательские интерфейсы. Он позволяет настраивать окружение для тестирования без зависимости от реальных сервисов, избавляя от непредвиденных затрат и сложностей сетевого взаимодействия.

Тебе не нужно беспокоиться о различных ключах API или их лимитах. aimock предоставляет возможность детерминированно имитировать ответы всех нужных сервисов. Это особенно полезно разработчикам, которые хотят быстро тестировать интеграции без реальных вызовов к API. Установка простая: всего одна команда npm install @copilotkit/aimock, и ты готов к разработке.

Проект пока находится на начальной стадии, так что рекомендуется использовать его в тестах, но не в продакшене. Подробная документация и примеры доступны по ссылкам в README.

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

Зачем нужен aimock?

aimock позволяет мимикрировать поведение разных провайдеров API, таких как OpenAI, Azure и других, на одном локальном порту. Все запросы обрабатываются детерминированно, что даёт возможность безошибочно тестировать приложение в контролируемой среде. Поскольку aimock не требует API-ключей и сетевых соединений, его использование значительно упрощает процесс разработки и тестирования.

Как установить и запустить

Чтобы начать работу с aimock, необходимо установить пакет через npm:

npm install @copilotkit/aimock

После установки ты можешь использовать следующий код для запуска мока:

import { LLMock } from "@copilotkit/aimock";

const mock = new LLMock({ port: 0 });
mock.onMessage("hello", { content: "Hi there!" });
await mock.start();

process.env.OPENAI_BASE_URL = `${mock.url}/v1`;
process.env.OPENAI_API_KEY = "mock"; // SDK требует значение, даже если базовый URL замещён

// ... выполняй свои тесты ...

await mock.stop();

Что может aimock?

aimock предоставляет широкий набор функции для замещения различных API:

  • Mocking: Умещение поведения OpenAI, Azure и других API.
  • Запись и воспроизведение: Фиксация запросов и воспроизведение их на основе ранее записанных данных.
  • Мультимедийные API: Поддержка генерации изображений, преобразования текста в речь и многого другого.
  • Тестирование в условиях хаоса: Генерация ошибок, некорректного JSON и прерываний соединений.

Ограничения

Несмотря на свои широкие возможности, aimock имеет и некоторые ограничения. Например, он отклоняет запросы к частным и ссылочным адресам, чтобы предотвратить SSRF-уязвимости. Также, если необходимо использовать ключи API для тестирования, их нужно отдельно настроить. aimock по умолчанию принимает все запросы, но существует возможность включить контроль доступа на основе ключа API, что может потребовать дополнительных настроек.

Документация и поддержка

Все подробности и инструкции по использованию aimock можно найти в официальной документации на сайте aimock.copilotkit.dev. Вы также можешь ознакомиться с примерами фикстур и интеграций с другими библиотеками.

Открыть на GitHub: CopilotKit/aimock →

Что нового на GitHub — короткие обзоры на русском Новые обзоры приходят в Telegram. Без спама, по делу.
Подписаться

Похожие статьи

Популярные темы на сайте