Поставщики AI — каталог настройки
Слой AI cMind не зависит от поставщика (см. Функции AI). Настройте поставщика двумя способами:
-
Пользовательский интерфейс (владелец): Параметры → AI → Добавить поставщика → выберите тип, базовый URL, модель, ключ (необязателен для локальных) → переключатели возможностей → Установить активным → Проверить соединение.
-
Конфиг/переменная окружения (ops): инициализируйте
App:Ai:Providers[]иApp:Ai:ActiveProvider— импортируется в хранилище при первом запуске, если нет учетных данных. Пример (переменная окружения, индекс поставщика0):App__Ai__ActiveProvider=OpenAiCompatibleApp__Ai__Providers__0__Kind=OpenAiCompatibleApp__Ai__Providers__0__BaseUrl=http://localhost:11434/v1/App__Ai__Providers__0__Model=llama3.1:8b# App__Ai__Providers__0__ApiKey=... (пропустите для локальных конечных точек без ключа)
Одновременно активен ровно один поставщик. Ключи хранятся в зашифрованном виде; локальная конечная точка не требует ключа.
Безопасность: http vs https
Открытый текст http:// принимается только для loopback / приватных (intranet) хостов — случай локального LLM (Ollama, LM Studio, vLLM, on-prem бокс). Любой хост, маршрутизируемый в публичном интернете, должен быть https://, чтобы API ключ никогда не был отправлен в открытом виде. Air-gapped/on-prem: направьте базовый URL на вашу внутреннюю конечную точку (loopback или приватный IP) и оставьте ключ пустым, если среда выполнения не требует аутентификации.
Встроенный локальный AI (ONNX, поставляется)
cMind поставляется с реальной встроенной LLM внутри процесса (Microsoft.ML.OnnxRuntimeGenAI), которая включена по умолчанию — без ключа, без внешних сервисов. При первом запуске, когда поставщик не настроен и App:Branding:AllowBuiltInAi равен true, он автоматически инициализируется и активируется.
-
Конфиг:
App:Ai:BuiltIn:Enabled(по умолчаниюtrue),App:Ai:BuiltIn:ModelPath(по умолчаниюmodels/onnx, относительно базового каталога приложения),App:Ai:BuiltIn:MaxTokens(по умолчанию1024). -
Файлы модели: укажите
ModelPathна каталог, содержащий модель ONNX GenAI —genai_config.json, токенизатор и веса.onnx. CPU Phi-3.5-mini-instruct работает хорошо (поставляется по умолчанию), например:pip install huggingface_hubhuggingface-cli download microsoft/Phi-3.5-mini-instruct-onnx \--include cpu_and_mobile/cpu-int4-awq-block-128-acc-level-4/* \--local-dir ./models# затем установите App:Ai:BuiltIn:ModelPath на этот каталог (содержит genai_config.json)Включите папку в образ развертывания / том Helm или смонтируйте его во время выполнения. Когда файлы отсутствуют, встроенная версия деградирует до четкого сообщения "модель не установлена" — приложение все еще работает; настройте другого поставщика или установите модель.
-
GPU: замените CPU пакет/модель на CUDA/DirectML сборку ONNX GenAI; кодовый путь не изменяется.
White-label: ограничение AI
Установите под App:Branding (применяется на сервере — запрещенный upsert возвращает 400):
AllowBuiltInAi: false— удалите встроенную модель полностью.AllowLocalProviders: false— запретите локальные/self-hosted конечные точки (Ollama/LM Studio/vLLM и любой loopback/приватный OpenAI-совместимый URL).AllowedAiProviderKinds: ["Anthropic","OpenAiCompatible"]— разрешите только эти типы (пусто = все).
Расширение будущими встроенными моделями
Слой поставщика основан на адаптерах (IAiProvider с ключом AiProviderKind), поэтому будущая встроенная среда выполнения модели добавляется без изменения функции AI: добавьте тип, реализуйте один адаптер, зарегистрируйте его. ONNX встроенная версия является эталонной реализацией. См. Функции AI → Расширение.
Облачные поставщики
Anthropic (Claude)
- Ключ: https://console.anthropic.com/ → API keys.
- Базовый URL:
https://api.anthropic.com/· Модель: напримерclaude-opus-4-8. - Возможности: поиск в интернете + зрение включены по умолчанию.
OpenAI
- Ключ: https://platform.openai.com/api-keys.
- Базовый URL:
https://api.openai.com/v1/· Модель: напримерgpt-4o. - Тип: OpenAiCompatible. Включите зрение в диалоге, если используете модель с видением.
Azure OpenAI
- Ключ + конечная точка: портал Azure → ваш ресурс Azure OpenAI.
- Базовый URL:
https://<resource>.openai.azure.com/· Модель: ваше имя развертывания. - Тип: AzureOpenAi (использует заголовок
api-key+ запросapi-versionи путь развертывания).
Google Gemini
- Ключ: https://aistudio.google.com/app/apikey.
- Базовый URL:
https://generativelanguage.googleapis.com/· Модель: напримерgemini-2.0-flash. - Тип: Gemini. Заземление веб-поиска + зрение включены по умолчанию.
Другие облачные решения, совместимые с OpenAI (OpenRouter, Groq, Together, Mistral, DeepSeek)
- Тип: OpenAiCompatible. Базовый URL = совместимая с OpenAI конечная точка поставщика, Модель = его id модели, ApiKey = ключ поставщика. Изменение cMind не требуется — один адаптер служит всем.
Локальные модели (без ключа)
Все локальные среды выполнения предоставляют открытый провод OpenAI Chat Completions, поэтому используйте Kind: OpenAiCompatible с базовым URL среды выполнения и обслуживаемым именем модели; оставьте ключ пустым.
Ollama
# установите с https://ollama.com, затем:
ollama pull llama3.1:8b
- Базовый URL:
http://localhost:11434/v1/· Модель: вытянутое имя (напримерllama3.1:8b,qwen2.5-coder). - Без API ключа. Возможности по умолчанию только текст; включите зрение только для модели видения.
LM Studio
- Запустите локальный сервер (Разработчик → Запустить сервер).
- Базовый URL:
http://localhost:1234/v1/· Модель: загруженный id модели. Без API ключа.
vLLM / llama.cpp server / LocalAI
- Обслуживайте совместимую с OpenAI конечную точку (каждая поставляется с одной).
- Базовый URL: ваш обслуживаемый URL (например
http://localhost:8000/v1/) · Модель: имя обслуживаемой модели. Без ключа, если вы не поместили аутентификацию спереди.
Проверка
- Проверить соединение в диалоге запускает крошечное завершение ping и сообщает об успехе + задержка — идеально для подтверждения локальной конечной точки.
- Автоматизированная: набор E2E приложения управляет каждой функцией AI через встроенный поддельный сервер, совместимый с OpenAI, по умолчанию, или вашего реального поставщика, когда установлены
AI_E2E_BASEURL(+ необязательныеAI_E2E_API_KEY/AI_E2E_KIND/AI_E2E_MODEL). См. Функции AI → Тестирование.
Переключение / ротация
- Переключить активного поставщика: Параметры → AI → Установить активным на другой карточке (активирование одного деактивирует остальные).
- Ротация ключа: отредактируйте поставщика и укажите новый ключ (оставьте пустым, чтобы сохранить сохраненный).
- Удалить: удалите карточку. Когда нет активного поставщика, функции AI отключаются и остальная часть приложения работает без изменений.