Подключение ИИ
Можно подключить редактор к ИИ напрямую через LLM-провайдер, если он имеет OpenAI совместимое API.
В этом режиме вы также можете использовать своего агента (или любое другое прокси), если он поддерживает OpenAI совместимое API.
Доступ к ИИ
Здесь вам потребуется получить доступ к какой-либо ИИ-модели (LLM). Например, вы можете:
- поднять локальную LLM;
- поднять у себя в контуре LLM-gateway (например, LiteLLM) с какой-либо моделью внутри;
- воспользоваться услугами облачных LLM провайдеров.
Подключение сервиса
Нужно при конфигурации редактора также подключить сервис aiChat, через метод withFeatureServices, например:
// конфигурация сервиса
const aiChatClient: IAIChatClient = {
config: {
chatURL: 'https://example.com/nginx/proxy',
},
};
const container = document.getElementById('editor-container');
const documentOpenApi = await new EditorBuilder()
.withAutonomousMode()
// подключение сервиса
.withFeatureServices({ aiChat: () => aiChatClient })
.withLicenseToken('xxx.xxx.xxx')
.mount(container, 'http://localhost:9002/');
Интерфейс сервиса
В интерфейсе вы можете указать id требуемой ИИ-модели, которая доступна в вашем LLM провайдере, и задать некоторые ограничения для запросов.
Также вы можете добавить свои заголовки в запрос к LLM и модифицировать тело запроса.
Подробнее можно узнать здесь: IAIChatClient
Авторизация
Есть несколько вариантов реализации авторизации.
API ключ можно получить у вашего LLM провайдера.
Настроить прокси
Используйте этот вариант авторизации в production. Это позволит вам добавить свою авторизацию для запросов, а также обезопасит доступ к LLM, скрыв API ключ от пользователя.
Редактор будет ходить в LLM через прокси. Где запрос будет обогащаться API ключем.
Например, схема взаимодействия может быть следующей:
- редактор отправляет запрос на ваш прокси-сервер с вашим токеном авторизации;
- прокси-сервер проверяет ваш токен авторизации;
- прокси-сервер отправляет запрос в LLM с API ключем в заголовке авторизации.
const aiChatClient: IAIChatClient = {
config: {
chatURL: 'https://example.com/nginx/proxy',
model: 'qwen3',
},
headers: () => ({
authorization: 'Bearer yourJwtToken',
}),
};
Указать API ключ
Не используйте этот вариант. Он предназначен только для ознакомления и тестирования. Этот вариант небезопасен, так как раскрывается API ключ в заголовках запроса.
Редактор будет отправлять запросы напрямую в LLM, с API ключем в заголовках запроса.
const aiChatClient: IAIChatClient = {
config: {
chatURL: 'https://example.com/chat/completion',
model: 'qwen3',
apiKey: 'secret-key',
},
};