Введение
Этот документ представляет собой справочник по API Maker-GPT.
Maker-GPT API предоставляет простой доступ к API различных моделей ИИ приводя всё к единому стандарту построенному на базе API OpenAI.
Подключив Maker-GPT API в своё ПО Вы сможете одним и тем же кодом предоставить клиентам и пользователям доступ к моделям:
Провайдер | Модель | Имя модели в Maker AI | Версия модели |
---|---|---|---|
OpenAI | gpt-3.5-turbo | gpt-3.5-turbo | gpt-3.5-turbo-0125 |
OpenAI | gpt-4o | gpt-4o | gpt-4o-2024-05-13 |
YandexGPT | yandexgpt-lite | yandexgpt-lite | yandexgpt-lite 22.05.2024 |
YandexGPT | yandexgpt | yandexgpt | YandexGPT Pro |
Мы сами мониторим выпуск новых моделей и интегрируем их в платформу - Вы всегда пользуетесь последними версиями ИИ моделей. В ближайших планах, подключение к системе векторной базы данных, содержащей всю доступную информацию по продуктам экосистемы 1С.
Тарификация
Базовые принципы тарификации описываются на примере телеграм бота - https://t.me/GptMAKER_ai_bot. Работа пользователя через Maker-GPT API тарифицируется абсолютно аналогично.
При первом входе на баланс нового пользователя зачисляется 100р и он уменьшается в соответствии с тарифами при каждом запросе. При достижении нуля - включается ограничение по количеству токенов в день - 10000 токенов на все запросы ко любым моделям.
При первой оплате, пользователь переходит на тариф Base - включаются функции создания собственных кастомных ролей и возможности сохранения и загрузки контекста. Эти возможности сохраняются за пользователем на всегда, независимо от дальнейшей оплаты токенов.
Тарификация осуществляется в зависимости от модели:
Модель | Контекст | Генерация |
---|---|---|
gpt-3.5-turbo | 0.12 руб / 1000 токенов | 0.35 руб / 1000 токенов |
gpt-4o | 1.2 руб / 1000 токенов | 2.5 руб / 1000 токенов |
yandexgpt-lite | 0.3 руб / 1000 токенов | 0.3 руб / 1000 токенов |
yandexgpt-pro | 3 руб / 1000 токенов | 3 руб / 1000 токенов |
Стоимость запроса списыается с баланса пользователя в Maker-GPT сразу после совершения запроса.
Все запросы производятся методом POST на адрес https://api.maker-gpt.pro/[endpoint].
Авторизация
Авторизация:
# With shell, you can just pass the correct header with each request
curl https://api.maker-gpt.pro/v1/system/models \
-H "Content-Type: application/json" \
-H "Authorization: Bearer meowmeowmeow" \
-d '{ }'
const queryAPI = async function (path, data) {
const apiUrl = 'https://api.maker-gpt.pro';
const token = 'meowmeowmeow';
const headers = {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json'
};
const _reply = await axios.post(`${apiUrl}${path}`, data, { headers })
return _reply.data;
}
Замените
meowmeowmeow
на Ваш ключ API.
Для доступа к Maker-GPT API необходимо получить ключ доступа. Перейдите в Telegram бот платформы, зайдите в "Мой кабинет", и получите ключ доступа к API.
Ключ API должен быть включен во все запросы к серверу, в заголовке, который выглядит следующим образом:
Authorization: Bearer meowmeowmeow
Даллее, работа с API без идентификации пользователя не возможна. Пользователь должен самостоятельно получить ключ доступа с помощью бота https://t.me/GptMAKER_ai_bot, либо на странице авторизации - https://api.maker-gpt.pro/auth.
В боте - надо зайти в "Мой кабинет" и отобразить скрытый текст в сообщении.
На странице авторизации пользователю будет предложено ввести адрес электронной почты, подтвердить его с помощью кода. Ключ доступа будет показан на странице https://api.maker-gpt.pro/auth после проверки кода и продублирован пользователю на электронную почту.
Доступ к созданию пользователей возможен в двух случаях:
- Для "доверенных" систем доступно создание пользователя по API. Для этого необходимо использовать привелигированный ключ доступа к апи. Признак доступа к привелигированному функционалу устанавливается администрацией проекта.
- У Вас уже есть доступ к системе и Вы можете получить пользователя по API. В таком случае, Вы можете использовать параметр commonKey - по этому параметру баланс вновь созданного пользователя прикрепляется к балансу пользователя, чей commonKey Вы передали в запросе создания. Пользователи будут иметь все настройки отдельно, но использовать баланс пользователя с заданным commonKey.
Пользователи
Создание пользователя
Создание пользователя:
curl https://api.maker-gpt.pro/v1/user/create \
-H "Content-Type: application/json" \
-H "Authorization: Bearer meowmeowmeow" \
-d '{
"user": {
"systemName": "mysystem",
"first_name": "Иван",
"last_name": "Иванов",
"username": "ivan",
"fio": "Иванов Иван",
"email": "ivan@mail.ru",
"phone": "880000000",
"companyName": "ООО Рога и Копыта",
"commonKey": "1234"
}
}'
const queryAPI = async function (path, data) {
const apiUrl = 'https://api.maker-gpt.pro';
const token = 'meowmeowmeow';
const headers = {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json'
};
const _reply = await axios.post(`${apiUrl}${path}`, data, { headers })
return _reply.data;
}
const _user = await queryAPI('/v1/user/create', {
user: {
systemName: "mysystem",
first_name: "Иван",
last_name: "Иванов",
username: "ivan",
fio: "Иванов Иван",
email: "ivan@mail.ru",
phone: "880000000",
companyName: "ООО Рога и Копыта",
commonKey: "1234"
}
});
В ответ Вы получите ответ с кодом 200 и JSON:
{
"user": {
"accessKey": "1234",
"systemName": "mysystem",
"first_name": "Иван",
"last_name": "Иванов",
"username": "ivan",
"fio": "Иванов Иван",
"email": "ivan@mail.ru",
"phone": "880000000",
"companyName": "ООО Рога и Копыта",
"contextEnabled": true,
"context": [ ],
"role": {
"name": "",
"role": "system",
"content": ""
},
"model": "gpt-4o",
"tarif": "free",
"personalRoles": [],
"commonKey": "1234",
"balance": 100,
"creationDate": "2024-08-01T23:22:52.490Z",
},
"usage": {
"todayUsedTokens": 0
}
}
Пример массива контекста:
{
"context" :
[
{
"role" : "user",
"content" : "Вопрос"
},
{
"role" : "assistant",
"content" : "Ответ"
}
]
}
Пример объекта роли:
{
"role": {
"name": "Программист JavaScript",
"role": "system",
"content": "ты - опытный программист на javascript."
}
}
Пример массива персональных ролей:
[
{
"name" : "Проектировщик",
"creationDate" : "2024-08-16T09:53:38.012Z",
"role" : {
"name" : "Проектировщик",
"role" : "system",
"content" : "Ты проектировщик архитектуры проектов на экосистеме javascript. Рекомендуешь лучшие практики создания программного обеспечения, поясняешь почему так лучше."
}
}
]
В случае ошибке будет отдан ответ с кодом 500 и описанием ошибки:
{
"error": true,
"message": "описание ошибки"
}
Эндпоинт создаёт нового пользователя. Дальнейшая работа с апи без идентификации пользователя не возможна.
HTTP Request
POST https://api.maker-gpt.pro/v1/user/create
Query Parameters
Parameter | Description |
---|---|
user | Объект описывающий пользователя в системе. Параметр обязательный. |
user.systemName | Система - клиент Maker AI API. Пользователи уникальны в рамках Системы. Параметр обязательный. |
user.first_name | Имя пользователя в клиенте. |
user.last_name | Фамилия пользователя в клиенте. |
user.fio | Полниое ФИО пользователя в клиенте. |
user.email | Email пользователя в клиенте. |
user.phone | Телефон пользователя в клиенте. |
user.companyName | Наименование компании. |
user.commonKey | commonKey пользователя - владельца баланса |
Кроме systemName все параметры не обязательны и носят информационный характер. Параметр systemName обозначает Вашу систему для Maker-GPT.
Response
Parameter | Default | Description |
---|---|---|
user.accessKey | Ключ доступа пользователя к системе. Уникален в рамках всей системы. | |
user.systemName | Система - клиент Maker AI API. Пользователи уникальны в рамках Системы. | |
user.contextEnabled | false |
Сохранять или нет контекст пользователя. |
user.context | [] |
Массив текущего контекста пользователя. |
user.role | {} |
Состав текущей роли. |
user.model | gpt-4o |
Установленная роль. |
user.tarif | free |
Имя тарифа пользователя. |
user.personalRoles | [] |
Массив собственных ролей пользователя. |
user.commonKey | Общий ключ пользователя. Используется для объединения пользователя при работе из разных систем - клиентов Maker AI API | |
user.balance | 100 |
Персональный баланс пользователя в рублях |
user.balanceOwner | commonKey родительского пользователя, балансом которого пользуетс текущий. | |
user.parentBalance | Баланс родительского пользователя. | |
user.creationDate | [] |
Дата создания пользователя. |
user.commonKey | [] |
commonKey пользователя - владельца баланса |
usage | Статистика использования. | |
usage.todayUsedTokens | 0 | Количество потраченных за сегодня токенов на всех моделях. |
"username", "first_name", "last_name", "phone", "email" на данный момент носят информационных характер.
Получение пользователя
Получение пользователя
curl https://api.maker-gpt.pro/v1/user/get \
-H "Content-Type: application/json" \
-H "Authorization: Bearer meowmeowmeow" \
-d '{
"user": {
"accessKey": "1234"
}
}'
const _user = await queryAPI('/v1/user/get', {
user: {
accessKey: "1234"
}
});
В ответ Вы получите ответ с кодом 200 и JSON:
{
"user": {
"accessKey": "1234",
"systemName": "mysystem",
"first_name": "Иван",
"last_name": "Иванов",
"username": "ivan",
"fio": "Иванов Иван",
"email": "ivan@mail.ru",
"phone": "880000000",
"companyName": "ООО Рога и Копыта",
"contextEnabled": true,
"context": [ ],
"role": {
"name": "",
"role": "system",
"content": ""
},
"model": "gpt-4o",
"tarif": "free",
"personalRoles": [],
"commonKey": "",
"balance": 100,
"creationDate": "2024-08-01T23:22:52.490Z",
},
"usage": {
"todayUsedTokens": 0
}
}
В случае ошибке будет отдан ответ с кодом 500 и описанием ошибки:
{
"error": true,
"message": "описание ошибки"
}
Эндпоит отдаёт пользователя по его идентификатору.
HTTP Request
POST https://api.maker-gpt.pro/v1/user/get
POST Parameters
Parameter | Description |
---|---|
user | Объект описывающий пользователя в системе. Параметр обязательный. |
user.accessKey | Ключ доступа пользователя к системе. Параметр обязательный. |
Response
Parameter | Default | Description |
---|---|---|
user.accessKey | Ключ доступа пользователя к системе. Уникален в рамках всей системы. | |
user.systemName | Система - клиент Maker AI API. Пользователи уникальны в рамках Системы. | |
user.contextEnabled | false |
Сохранять или нет контекст пользователя. |
user.context | [] |
Массив текущего контекста пользователя. |
user.role | {} |
Состав текущей роли. |
user.model | gpt-4o |
Установленная роль. |
user.tarif | free |
Имя тарифа пользователя. |
user.personalRoles | [] |
Массив собственных ролей пользователя. |
user.commonKey | Общий ключ пользователя. Используется для объединения пользователя при работе из разных систем - клиентов Maker AI API | |
user.balance | 100 |
Персональный баланс пользователя в рублях |
user.balanceOwner | commonKey родительского пользователя, балансом которого пользуетс текущий. | |
user.parentBalance | Баланс родительского пользователя. | |
user.creationDate | [] |
Дата создания пользователя. |
usage | Статистика использования. | |
usage.todayUsedTokens | 0 | Количество потраченных за сегодня токенов на всех моделях. |
"username", "first_name", "last_name", "phone", "email" на данный момент носят информационных характер.
Установка модели
Установка модели:
curl https://api.maker-gpt.pro/v1/user/model/set \
-H "Content-Type: application/json" \
-H "Authorization: Bearer meowmeowmeow" \
-d '{
"user": {
"accessKey": "1234"
},
"model": "gpt-4o"
}'
const _user = await queryAPI('/v1/user/model/set', {
user: {
accessKey: "1234"
},
model: "gpt-4o"
});
В ответ Вы получите ответ с кодом 200 и JSON:
{
"user": {} // JSON с пользователем
}
В случае ошибке будет отдан ответ с кодом 500 и описанием ошибки:
{
"error": true,
"message": "описание ошибки"
}
Эндпоит устанавливает модель пользователя. Список моделей доступных в системе можно получить запросом https://api.maker-gpt.pro/v1/system/model
HTTP Request
POST https://api.maker-gpt.pro/v1/user/model/set
POST Parameters
Parameter | Description |
---|---|
user | Объект описывающий пользователя в системе. Параметр обязательный. |
user.accessKey | Ключ доступа пользователя к системе. Параметр обязательный. |
model | Имя модели. Параметр обязательный. |
Переключение контекста
Переключение контекста:
curl https://api.maker-gpt.pro/v1/user/context/switch \
-H "Content-Type: application/json" \
-H "Authorization: Bearer meowmeowmeow" \
-d '{
"user": {
"accessKey": "1234"
}
}'
const _user = await queryAPI('/v1/user/context/switch', {
user: {
accessKey: "1234"
}
});
В ответ Вы получите ответ с кодом 200 и JSON:
{
"contextEnabled": true
}
В случае ошибке будет отдан ответ с кодом 500 и описанием ошибки:
{
"error": true,
"message": "описание ошибки"
}
Эндпоит переключает параметр сохранения контекста пользоателя. При любом переключении текущий контекст сбрасывается.
HTTP Request
POST https://api.maker-gpt.pro/v1/user/context/switch
POST Parameters
Parameter | Description |
---|---|
user | Объект описывающий пользователя в системе. Параметр обязательный. |
user.accessKey | Ключ доступа пользователя к системе. Параметр обязательный. |
Очистка текущего контекста
Очистка текущего контекста:
curl https://api.maker-gpt.pro/v1/user/context/clear \
-H "Content-Type: application/json" \
-H "Authorization: Bearer meowmeowmeow" \
-d '{
"user": {
"accessKey": "1234"
}
}'
const _user = await queryAPI('/v1/user/context/clear', {
user: {
accessKey: "1234"
}
});
В ответ Вы получите ответ с кодом 200 и JSON:
{
"user": {}
}
В случае ошибке будет отдан ответ с кодом 500 и описанием ошибки:
{
"error": true,
"message": "описание ошибки"
}
Эндпоит удаляет все сообщения из массива контекста пользоателя, начинается новый диалог.
HTTP Request
POST https://api.maker-gpt.pro/v1/user/context/clear
POST Parameters
Parameter | Description |
---|---|
user | Объект описывающий пользователя в системе. Параметр обязательный. |
user.accessKey | Ключ доступа пользователя к системе. Параметр обязательный. |
Контексты пользователя
получение сохранённых ранее контекстов:
curl https://api.maker-gpt.pro/v1/user/context/getsaved \
-H "Content-Type: application/json" \
-H "Authorization: Bearer meowmeowmeow" \
-d '{
"user": {
"accessKey": "1234"
}
}'
const _user = await queryAPI('/v1/user/context/getsaved', {
user: {
accessKey: "1234"
}
});
В ответ Вы получите ответ с кодом 200 и JSON:
{
"context_id": "", // идентификатор контекста
"name": "", // заданное имя
"contextLength": 0, // количество сообщений в контексте
"creationDate": "" // дата создания
}
В случае ошибке будет отдан ответ с кодом 500 и описанием ошибки:
{
"error": true,
"message": "описание ошибки"
}
Эндпоит отдаёт краткий список сохранённых пользователем контекстов.
HTTP Request
POST https://api.maker-gpt.pro/v1/user/context/getsaved
POST Parameters
Parameter | Description |
---|---|
user | Объект описывающий пользователя в системе. Параметр обязательный. |
user.accessKey | Ключ доступа пользователя к системе. Параметр обязательный. |
Response
Parameter | Description |
---|---|
context_id | идентификатор контекста |
name | заданное имя |
contextLength | количество сообщений в контексте |
creationDate | дата создания |
Установка контекста
Установка выбранного контекста:
curl https://api.maker-gpt.pro/v1/user/context/set \
-H "Content-Type: application/json" \
-H "Authorization: Bearer meowmeowmeow" \
-d '{
"user": {
"accessKey": "1234"
},
"context_id": ""
}'
const _user = await queryAPI('/v1/user/context/set', {
user: {
accessKey: "1234"
},
context_id: ""
});
В ответ Вы получите ответ с кодом 200 и JSON:
{
"success": true
}
В случае ошибке будет отдан ответ с кодом 500 и описанием ошибки:
{
"error": true,
"message": "описание ошибки"
}
Эндпоит устанавливает ранне сохранённый контекст. context_id получаем из user/context/getsaved.
HTTP Request
POST https://api.maker-gpt.pro/v1/user/context/set
POST Parameters
Parameter | Description |
---|---|
user | Объект описывающий пользователя в системе. Параметр обязательный. |
user.accessKey | Ключ доступа пользователя к системе. Параметр обязательный. |
context_id | context_id ранне сохранённого контекста. Получаем из user/context/getsaved. |
Сохранение контекста
Сохранение текущего контекста:
curl https://api.maker-gpt.pro/v1/user/context/add \
-H "Content-Type: application/json" \
-H "Authorization: Bearer meowmeowmeow" \
-d '{
"user": {
"accessKey": "1234"
},
"context": {
"name": ""
}
}'
const _user = await queryAPI('/v1/user/context/add', {
user: {
accessKey: "1234"
},
context: {
name: "" // имя контекста
}
});
В ответ Вы получите ответ с кодом 200 и JSON:
{
"success": true
}
В случае ошибке будет отдан ответ с кодом 500 и описанием ошибки:
{
"error": true,
"message": "описание ошибки"
}
Сохраняет текущий контекст под заданным именем для дальнейшего использования.
HTTP Request
POST https://api.maker-gpt.pro/v1/user/context/add
POST Parameters
Parameter | Description |
---|---|
user | Объект описывающий пользователя в системе. Параметр обязательный. |
user.accessKey | Ключ доступа пользователя к системе. Параметр обязательный. |
context.name | Имя контекста. |
Удаление контекста
Удаление сохранённого контекста:
curl https://api.maker-gpt.pro/v1/user/context/remove \
-H "Content-Type: application/json" \
-H "Authorization: Bearer meowmeowmeow" \
-d '{
"user": {
"accessKey": "1234"
},
"context_id": ""
}'
const _user = await queryAPI('/v1/user/context/remove', {
user: {
accessKey: "1234"
},
context_id: ""
});
В ответ Вы получите ответ с кодом 200 и JSON:
{
"success": true
}
В случае ошибке будет отдан ответ с кодом 500 и описанием ошибки:
{
"error": true,
"message": "описание ошибки"
}
Удалит ранее сохранённый контекст с заданным context_id.
HTTP Request
POST https://mapi.maker-gpt.pro/v1/user/context/remove
POST Parameters
Parameter | Description |
---|---|
user | Объект описывающий пользователя в системе. Параметр обязательный. |
user.accessKey | Ключ доступа пользователя к системе. Параметр обязательный. |
context_id | id контекста. |
Установка роли
Установка роли:
curl https://api.maker-gpt.pro/v1/user/role/set \
-H "Content-Type: application/json" \
-H "Authorization: Bearer meowmeowmeow" \
-d '{
"user": {
"accessKey": "1234"
},
"role": {
"name": "Программист JavaScropt",
"role": "system",
"content": "ты - опытный программист на javascript уровня senior."
}
}'
const _user = await queryAPI('/v1/user/role/set', {
user: {
accessKey: "1234"
},
role: {
"name": "Программист JavaScropt",
"role": "system",
"content": "ты - опытный программист на javascript уровня senior."
}
});
В ответ Вы получите ответ с кодом 200 и JSON:
{
"user": {} // объект пользователя
}
В случае ошибке будет отдан ответ с кодом 500 и описанием ошибки:
{
"error": true,
"message": "описание ошибки"
}
Эндпоит устанавливает роль пользователя.
HTTP Request
POST https://api.maker-gpt.pro/v1/user/role/set
POST Parameters
Parameter | Description |
---|---|
user | Объект описывающий пользователя в системе. Параметр обязательный. |
user.accessKey | Ключ доступа пользователя к системе. Параметр обязательный. |
role | Объект описывающий роль. Параметр обязательный. |
user.name | Имя роли, если есть. |
user.role | "system" |
user.content | Описание роли для ИИ |
Добавление персональной роли
Добавление пользовательской, персональной роли:
curl https://api.maker-gpt.pro/v1/user/role/add\
-H "Content-Type: application/json" \
-H "Authorization: Bearer meowmeowmeow" \
-d '{
"user": {
"accessKey": "1234"
},
"role": {
"name": "Программист JavaScropt",
"role": "system",
"content": "ты - опытный программист на javascript."
}
}'
const _user = await queryAPI('/v1/user/role/add', {
user: {
accessKey: "1234"
},
role: {
"name": "Программист JavaScropt",
"role": "system",
"content": "ты - опытный программист на javascript."
}
});
В ответ Вы получите ответ с кодом 200 и JSON:
{
"user": {} // объект пользователя
}
В случае ошибке будет отдан ответ с кодом 500 и описанием ошибки:
{
"error": true,
"message": "описание ошибки"
}
Эндпоит добавляет персональную роль пользователя. Персональные роли отдаются массивом в user.personalRoles.
HTTP Request
POST https://api.maker-gpt.pro/v1/user/role/add
POST Parameters
Parameter | Description |
---|---|
user | Объект описывающий пользователя в системе. Параметр обязательный. |
user.accessKey | Ключ доступа пользователя к системе. Параметр обязательный. |
role | Объект описывающий роль. Параметр обязательный. |
user.name | Имя роли, если есть. |
user.role | "system" |
user.content | Описание роли для ИИ |
Удаление персональной роли
Удаление пользовательской, персональной роли:
curl https://api.maker-gpt.pro/v1/user/role/remove\
-H "Content-Type: application/json" \
-H "Authorization: Bearer meowmeowmeow" \
-d '{
"user": {
"accessKey": "1234"
},
"role_id": ""
}'
const _user = await queryAPI('/v1/user/role/remove', {
user: {
accessKey: "1234"
},
role_id: "" // _id роли из обхекта user.personalRoles
});
В ответ Вы получите ответ с кодом 200 и JSON:
{
"user": {} // объект пользователя
}
В случае ошибке будет отдан ответ с кодом 500 и описанием ошибки:
{
"error": true,
"message": "описание ошибки"
}
Эндпоит удаляет персональную роль пользователя по _id из user.personalRoles.
HTTP Request
POST https://api.maker-gpt.pro/v1/user/role/remove
POST Parameters
Parameter | Description |
---|---|
user | Объект описывающий пользователя в системе. Параметр обязательный. |
user.accessKey | Ключ доступа пользователя к системе. Параметр обязательный. |
role_id | id роли для удаления. Параметр обязательный. |
Системные
Доступные модели
Получение списка доступных, общих для всех в системе моделей:
curl https://api.maker-gpt.pro/v1/system/models \
-H "Content-Type: application/json" \
-H "Authorization: Bearer meowmeowmeow" \
-d '{}'
const mai_query = {};
const maiAnswer = await queryAPI('/v1/system/models', mai_query);
В ответ получаете массив JSON с списком доступных моделей и их параметрами
[
{
"name": "gpt-3.5-turbo",
"title": "gpt-3.5-turbo",
"description": "Чат-бот с генеративным искусственным интеллектом, разработанный компанией OpenAI.",
"max_capacity": 10000,
"cost_context": 0.12,
"cost_completion": 0.35
},
{
"name": "gpt-4o",
"title": "gpt-4o",
"description": "Чат-бот с генеративным искусственным интеллектом, разработанный компанией OpenAI.",
"max_capacity": 10000,
"cost_context": 1.2,
"cost_completion": 2.5
}
]
В ответ получаете массив JSON с списком доступных моделей и их параметрами.
HTTP Request
POST https://api.maker-gpt.pro/v1/system/models
Доступные общие роли
Получение списка доступных в системе ролей:
curl https://api.maker-gpt.pro/v1/system/roles \
-H "Content-Type: application/json" \
-H "Authorization: Bearer meowmeowmeow" \
-d '{}'
const mai_query = {};
const maiAnswer = await queryAPI('/v1/system/roles', mai_query);
В ответ получаете массив JSON с списком доступных ролей
[
{
"role": {
"name": "Программист JavaScropt",
"role": "system",
"content": "ты - опытный программист на javascript уровня senior. всегда четко поясняешь свой код, покрываешь его тестами и используешь самые популярные библиотеки."
},
"name": "Программист JavaScropt",
"creationDate": "2024-08-16T08:57:07.874Z"
},
{
"role": {
"name": "Нейтральная",
"role": "system",
"content": "Ты - полезный помощник в широком круге вопросов."
},
"name": "Нейтральная",
"creationDate": "2024-08-16T09:02:32.255Z"
}
]
В ответ получаете массив JSON с списком доступных ролей.
HTTP Request
POST https://api.maker-gpt.pro/v1/system/roles
Доступные базы данных
Получение списка доступных пользователю баз данных для использования в RAG:
curl https://api.maker-gpt.pro/v1/db/u/get \
-H "Content-Type: application/json" \
-H "Authorization: Bearer meowmeowmeow" \
-d '{
"user": {
"accessKey": "1234"
}'
const mai_query = {
user: {
accessKey: "1234"
}
};
const maiAnswer = await queryAPI('/v1/db/u/get', mai_query);
В ответ получаете массив JSON с списком доступных баз данных
[
{
"readableName": "",
"name": "",
"description": "",
"documents": [{
"name": "",
"fileName": "",
"pages": 0
}],
"creationDate": "2024-08-16T08:57:07.874Z"
}
]
В ответ получаете массив JSON с списком доступных баз данных
HTTP Request
POST https://api.maker-gpt.pro/v1/db/u/get
POST Parameters
Parameter | Description |
---|---|
user | Объект описывающий пользователя в системе. Параметр обязательный. |
user.accessKey | Ключ доступа пользователя к системе. Параметр обязательный. |
Работа с чатом
Запрос к Maker AI API
зпрос ответа от текущей заданной у пользователя модели:
curl https://api.maker-gpt.pro/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer meowmeowmeow" \
-d '{
"user": {
"accessKey": "1234"
},
"content": "How are you?",
"dbName": 'TeX50yXIRyhbcJRQ',
"ragInstruction": "При ответе используй эти данные: ",
"pages": 3
}'
const mai_query = {
content: "How are you?",
user: {
accessKey: "1234"
},
dbName: 'TeX50yXIRyhbcJRQ',
ragInstruction: 'При ответе используй эти данные: ',
pages: 3
};
const maiAnswer = await queryAPI('/v1/chat/completions', mai_query);
В ответ получаете JSON с ответом указанной модели и статистикой использования
{
"content": "Спасибо за вопрос! Я готов помочь с любыми вопросами или задачами, связанными с программированием на JavaScript.",
"usage": {
"prompt_tokens": 48,
"completion_tokens": 50,
"total_tokens": 98,
"model": "gpt-4o-2024-05-13",
"todayUsedTokens": 14667,
"prompt_cost": 0,
"completion_cost": 0
}
}
Отправляет запрос к указанной модели и возвращает ответ. Роль, текущий контекст, прочие настройки берутся из настроек пользователя.
HTTP Request
POST https://api.maker-gpt.pro/v1/chat/completions
POST Parameters
Parameter | Description |
---|---|
content | Запрос пользователя |
user | Объект описывающий пользователя в системе. Параметр обязательный. |
user.accessKey | Ключ доступа пользователя к системе. Параметр обязательный. |
dbName | Имя базы данных для RAG. Параметр не обязательный. |
pages | Количество страниц найденных в базе данных для подмешивания. Параметр не обязательный. |
ragInstruction | Иструкция подмешивания. Параметр не обязательный. |
Errors
The Kittn API uses the following error codes:
Error Code | Meaning |
---|---|
400 | Bad Request -- Your request is invalid. |
401 | Unauthorized -- Your API key is wrong. |
403 | Forbidden -- The kitten requested is hidden for administrators only. |
404 | Not Found -- The specified kitten could not be found. |
405 | Method Not Allowed -- You tried to access a kitten with an invalid method. |
406 | Not Acceptable -- You requested a format that isn't json. |
410 | Gone -- The kitten requested has been removed from our servers. |
418 | I'm a teapot. |
429 | Too Many Requests -- You're requesting too many kittens! Slow down! |
500 | Internal Server Error -- We had a problem with our server. Try again later. |
503 | Service Unavailable -- We're temporarily offline for maintenance. Please try again later. |