AI_models
Ai_models: Интерфейс для работы с языковыми моделями
Описание
Ai_models - это интерфейс для работы с API языковых моделей. Этот интерфейс позволяет отправлять POST запросы на сервер для получения ответов от языковых моделей.
Демонстрация
Как использовать API
Чтобы использовать этот интерфейс, необходимо отправить POST запрос на адрес https://minerflash.ru/ai/core.php.
Запрос должен быть в формате JSON и содержать следующие поля:
- id: шестизначный идентификатор запроса
- ask: вопрос для языковой модели
- mode: модель поведения
- messages: массив диалога с языковой моделью
Пример простого запроса
//Генерируем ID для запросаvar id = Math.random().toString(36).substr(2, 6);var messages = [];//Массив диалога оставим пустым//Создаём массив запросаdata = { id: id, ask: 'Привет, как дела?', mode: '', messages: messages};//Заворачиваем массив в jsonvar request = JSON.stringify(data);//отправляем запрос и получаем ответ$.ajax({ type: "POST", url: "https://minerflash.ru/ai/core.php", data: { input: request }, dataType: "json", success: function(response) { console.log(response); }, error: function(xhr, status, error) { console.log("Error: " + error); }});
Пример простого ответа
{
"ask": "Привет, как дела?",
"id": "zbe2d4",
"mode": "",
"messages": [
{
"id": "zbe2d4",
"content": "Привет, как дела?",
"role": "user"
},
{
"id": "zbe2d4",
"content": "Привет! Все хорошо, спасибо. Как у вас дела?",
"role": "assistant"
}
]
}
Как видим, в ответе присутствует диалог "messages". Диалог состоит из:
- id: Шестизначный идентификатор запроса
- content: Содержание диалога
- role: Принадлежность. (user - вопросы от пользователя, assistant - ответы от ИИ)
Построение диалога
Чтобы ИИ понимал, что идёт диалог, видел предидущие вопросы и свои ответы, необходимо передавать в запросе массив "messages":
//ID для запросаvar id = "zbe2d4";var messages = [];//Формируем предыдущий вопросmessages[0] = { id: id, content: 'Привет, как дела?', role: 'user'};//Формируем предыдущий ответmessages[1] = { id: id, content: 'Привет! Все хорошо, спасибо. Как у вас дела?', role: 'assistant'}; //Создаём массив запросаdata = { id: id, ask: 'О чём мы говорили?', mode: '', messages: messages};//Заворачиваем массив в jsonvar request = JSON.stringify(data);//отправляем запрос и получаем ответ$.ajax({ type: "POST", url: "https://minerflash.ru/ai/core.php", data: { input: request }, dataType: "json", success: function(response) { console.log(response); }, error: function(xhr, status, error) { console.log("Error: " + error); }});
Ответ в диалоге
{
"ask": "О чём мы говорили?",
"id": "zbe2d4",
"mode": "",
"messages": [
{
"id": "zbe2d4",
"content": "Привет, как дела?",
"role": "user"
},
{
"id": "zbe2d4",
"content": "Привет! Все хорошо, спасибо. Как у вас дела?",
"role": "assistant"
},
{
"id": "zbe2d4",
"content": "О чём мы говорили?",
"role": "user"
},
{
"id": "zbe2d4",
"content": "Мы только что начали разговор, поэтому мы еще ничего не обсуждали. Вы спросили, как у меня дела, и я ответил, что все хорошо.",
"role": "assistant"
}
]
}
Модели поведения
Для демонстрации работы с ИИ имеются несколько прописанных моделей поведения:
- ImageGeneration - Генератор картинок
- Programmer - Программист
- Teacher - Педагог
- Mechanic - Автомеханник
- Пустое значение - Языковая модель
Для активации модели поведения, её необходимо прописать в запросе в "mode"
Генератор картинок
Для более точной генерации лучше использовать описание на английском языке.
Пример генерации:
//Генерируем ID для запросаvar id = Math.random().toString(36).substr(2, 6);var messages = [];//Массив диалога оставим пустым//Создаём массив запроса//Попросим нарисовать космический корабль около землиdata = { id: id, ask: 'Draw a spaceship near the earth', mode: 'ImageGeneration', messages: messages};//Заворачиваем массив в jsonvar request = JSON.stringify(data);//отправляем запрос и получаем ответ$.ajax({ type: "POST", url: "https://minerflash.ru/ai/core.php", data: { input: request }, dataType: "json", success: function(response) { console.log(response); }, error: function(xhr, status, error) { console.log("Error: " + error); }});
Ответ от сервера:
{
"ask": "Draw a spaceship near the earth",
"id": "ot7ibz",
"mode": "ImageGeneration",
"messages": [
{
"id": "ot7ibz",
"content": "Draw a spaceship near the earth",
"role": "user"
},
{
"id": "ot7ibz",
"content": "![Generated Image](https://storage.googleapis.com/a1aa/image/djX8USyxq37CEl6DTZeB7ZWZCaAeKoyje4X9qWEfjUkfjHjcC.jpg)",
"role": "assistant"
}
]
}
Пример в шаблоне:
Программист
Режим программиста поможет с постороением кода на любом доступном языке программирования.
Пример запроса:
//Генерируем ID для запросаvar id = Math.random().toString(36).substr(2, 6);var messages = [];//Массив диалога оставим пустым//Создаём массив запросаdata = { id: id, ask: 'Напиши простой пример PHP кода.', mode: 'Programmer', messages: messages};//Заворачиваем массив в jsonvar request = JSON.stringify(data);//отправляем запрос и получаем ответ$.ajax({ type: "POST", url: "https://minerflash.ru/ai/core.php", data: { input: request }, dataType: "json", success: function(response) { console.log(response); }, error: function(xhr, status, error) { console.log("Error: " + error); }});
Ответ от сервера:
{
"ask": "Напиши простой пример PHP кода.",
"id": "d05ogh",
"mode": "Programmer",
"messages": [
{
"id": "d05ogh",
"content": "Напиши простой пример PHP кода.",
"role": "user"
},
{
"id": "d05ogh",
"content": "Простой пример PHP кода: вывод приветствия на экран.\n\n```php\n// Это комментарий в PHP, он не будет выполнен\n\n// Выводим приветствие на экран\necho \"Привет, мир!\";\n\n// В PHP также можно использовать переменные\n$name = \"Иван\";\necho \"Привет, $name!\";\n```\n\nВ этом примере мы используем функцию `echo`, которая выводит текст на экран. Мы также демонстрируем использование переменной `$name`, значение которой выводится на экран вместе с приветствием.\n\nОбратите внимание, что в PHP переменные начинаются с символа `$`. Это позволяет отличать переменные от других конструкций языка.\n\nТакже обратите внимание, что в PHP нет необходимости указывать тип переменной при ее объявлении. Переменная `$name` автоматически становится строкой, поскольку ей присвоено строковое значение.",
"role": "assistant"
}
]
}
Пример в шаблоне:
Педагог
Модель поведения для работы с детьми. Помогает решать задачи, объясняет решения и пр.
Пример запроса:
//Генерируем ID для запросаvar id = Math.random().toString(36).substr(2, 6);var messages = [];//Массив диалога оставим пустым//Создаём массив запросаdata = { id: id, ask: 'Реши задачу: 2x2x2', mode: 'Teacher', messages: messages};//Заворачиваем массив в jsonvar request = JSON.stringify(data);//отправляем запрос и получаем ответ$.ajax({ type: "POST", url: "https://minerflash.ru/ai/core.php", data: { input: request }, dataType: "json", success: function(response) { console.log(response); }, error: function(xhr, status, error) { console.log("Error: " + error); }});
Ответ от сервера:
{
"ask": "Реши задачу: 2x2x2",
"id": "rnzcux",
"mode": "Teacher",
"messages": [
{
"id": "rnzcux",
"content": "Реши задачу: 2x2x2",
"role": "user"
},
{
"id": "rnzcux",
"content": "Привет, молодой математик! 😊\n\nДавай решим задачу вместе. Мы имеем выражение 2x2x2. Это означает, что мы должны умножить 2 на 2, а затем результат умножить на 2 снова.\n\n2x2 = 4 (первый шаг)\n4x2 = 8 (второй шаг)\n\nТаким образом, ответ на задачу 2x2x2 равен 8! 🎉\n\nКак ты думаешь, получилось ли у нас правильно? 😊",
"role": "assistant"
}
]
}
Пример в шаблоне:
Автомеханник
Модель поведения для автомеханников. Помогает с советами по ремонту машин, подбирает детали.
Пример запроса:
//Генерируем ID для запросаvar id = Math.random().toString(36).substr(2, 6);var messages = [];//Массив диалога оставим пустым//Создаём массив запросаdata = { id: id, ask: 'Требуется заменить тормозные колодки на 2105', mode: 'Mechanic', messages: messages};//Заворачиваем массив в jsonvar request = JSON.stringify(data);//отправляем запрос и получаем ответ$.ajax({ type: "POST", url: "https://minerflash.ru/ai/core.php", data: { input: request }, dataType: "json", success: function(response) { console.log(response); }, error: function(xhr, status, error) { console.log("Error: " + error); }});
Ответ от сервера:
{
"ask": "Требуется заменить тормозные колодки на 2105",
"id": "g5ck3c",
"mode": "Mechanic",
"messages": [
{
"id": "g5ck3c",
"content": "Требуется заменить тормозные колодки на 2105",
"role": "user"
},
{
"id": "g5ck3c",
"content": "Для замены тормозных колодок на ВАЗ 2105 вам потребуется приобрести следующие детали:\n\n* Тормозные колодки передние: https://autopiter.ru/goods/Тормозные%20колодки%20передние%20ВАЗ%202105\n* Тормозные колодки задние: https://autopiter.ru/goods/Тормозные%20колодки%20задние%20ВАЗ%202105\n\nЕсли у вас есть номер детали, например, 2105-3501010, то вы можете найти ее по ссылке: https://autopiter.ru/goods/2105-3501010\n\nПеред заменой тормозных колодок не забудьте очистить тормозной диск и проверить его на износ. Если диск изношен, его также необходимо заменить.",
"role": "assistant"
}
]
}
Пример в шаблоне:
Описание
Демонстрация работы API с языковыми моделями на примере html шаблона.
Языки
JavaScript
- HTML