Пользовательские провайдеры позволяют PandaNpc использовать API-аккаунт, частный шлюз или локальную конечную точку модели, которую вы контролируете. Это часто называется BYOK: принесите свой ключ. Это полезно, когда вам нужна модель за пределами встроенного каталога, биллинг на стороне провайдера, внутренний прокси, Ollama, LM Studio или самостоятельно размещённый сервис, совместимый с OpenAI.
Для поддерживаемого прямого чата PandaNpc отправляет запрос на вашу настроенную конечную точку, а не подставляет встроенную модель. Ваш вышестоящий провайдер по-прежнему контролирует цены, хранение данных, ограничения скорости, доступность моделей и допустимое использование.
Предварительные требования и границы безопасности
Перед добавлением провайдера соберите:
- API-ключ провайдера или локальный токен аутентификации.
- Его базовый URL API, обычно заканчивающийся на
/v1для сервиса, совместимого с OpenAI. - Точный идентификатор модели, принимаемый API.
- Документированное контекстное окно и максимальный лимит вывода, если вы планируете переопределять значения по умолчанию.
Используйте выделенный ключ с минимально необходимыми разрешениями и лимитом расходов, если провайдер это поддерживает. Никогда не помещайте ключ в документацию, подсказки в чате, скриншоты, вывод консоли браузера или в Git-репозиторий.
В веб-браузере прямые запросы подлежат CORS. Провайдер должен разрешать запросы с https://pandanpc.com. Базовый URL, такой как http://localhost:11434/v1, относится к компьютеру, на котором запущен браузер, а не автоматически к удалённой машине PandaPaw. Настольное приложение может быть более подходящим для локальных конечных точек, поскольку оно не ограничено браузерным CORS таким же образом.
Шаг 1: Откройте конфигурацию моделей
Войдите в PandaNpc и откройте Model Configuration (Конфигурация моделей). Провайдеры и модели — это отдельные записи: провайдер хранит данные подключения и аутентификации, а каждая модель хранит идентификатор и лимиты, отправляемые этому подключению.
Если официальный провайдер уже отображается, настройте или скопируйте его, вместо того чтобы придумывать другой протокол. Для нового шлюза, совместимого с OpenAI, выберите Add Provider (Добавить провайдера).
Шаг 2: Добавьте провайдера
Заполните форму провайдера:
| Поле | Что вводить | Пример или руководство |
|---|---|---|
| Display Name (Отображаемое имя) | Видимая вам метка | Company AI Gateway |
| Provider ID (ID провайдера) | Стабильный внутренний идентификатор | company-openai |
| API Key (API-ключ) | Секрет, используемый как bearer-токен | Значение, выданное провайдером |
| Base URL (Базовый URL) | Корень API без /chat/completions |
https://gateway.example.com/v1 |
| Protocol (Протокол) | Формат вышестоящего API | Выберите openai для совместимых с OpenAI чат-завершений |
| Secret (Секрет) | Необязательный второй секрет | Оставьте пустым, если провайдер не требует |
| Organization (Организация) | Необязательный идентификатор организации | Только если требуется провайдером |
| Project (Проект) | Необязательный идентификатор проекта | Только если требуется провайдером |
| Support content array (Поддержка массива контента) | Может ли содержимое сообщения использовать структурированные массивы | Оставьте включённым для провайдеров, принимающих современное мультимодальное содержимое сообщений |
PandaNpc удаляет завершающие косые черты из базового URL и добавляет /chat/completions для прямого запроса чат-завершений, совместимого с OpenAI. Поэтому введите:
https://api.example.com/v1а не:
https://api.example.com/v1/chat/completionsСохраните провайдера перед добавлением модели. При редактировании существующего провайдера пустое поле API Key или Secret означает «сохранить настроенное значение»; оно не отображает сохранённый секрет обратно в форме.
Шаг 3: Добавьте модель
Выберите Add Model (Добавить модель) под провайдером и заполните следующие поля:
| Поле | Значение | Пример |
|---|---|---|
| Display Name (Отображаемое имя) | Понятная человеку метка для выбора | My Coding Model |
| Model Value (Значение модели) | Точный идентификатор вышестоящей модели | model-name-from-provider |
| Model Type (Тип модели) | Сопоставление возможностей/категорий PandaNpc | Выберите текущее значение из формы |
| Provider (Провайдер) | Запись провайдера, созданная выше | Company AI Gateway |
| Context Window (Контекстное окно) | Общее поддерживаемое количество токенов | Используйте документированное целочисленное ограничение провайдера |
| Max Tokens (Макс. токенов) | Максимальное количество генерируемых выходных токенов | Используйте положительное значение, не превышающее лимит провайдера |
Display Name можно изменять без влияния на вызов API. Model Value нельзя угадать по маркетинговому названию; скопируйте его из документации API провайдера или из конечной точки списка моделей.
Оставьте Context Window и Max Tokens пустыми, если вы не уверены. Консервативное значение по умолчанию безопаснее, чем объявление контекстного окна большего, чем поддерживает сервер. Эти поля особенно важны для PandaCode, поскольку они влияют на компактирование и бюджетирование вывода.
Примеры распространённых конечных точек
Следующие шаблоны иллюстрируют форму URL; доступность и идентификаторы моделей зависят от вашей установки или учётной записи провайдера:
| Тип сервиса | Типичный базовый URL | Примечания |
|---|---|---|
| Облачный API, совместимый с OpenAI | https://provider.example.com/v1 |
Должен поддерживать потоковые Chat Completions и bearer-аутентификацию |
| Ollama на просматривающем компьютере | http://localhost:11434/v1 |
Запустите конечную точку Ollama, совместимую с OpenAI; использование в браузере может потребовать настройки CORS |
| LM Studio на просматривающем компьютере | http://localhost:1234/v1 |
Запустите локальный сервер и выберите идентификатор загруженной модели |
| Шлюз частной сети | https://ai.internal.example/v1 |
Клиент PandaNpc должен иметь возможность разрешить и достичь хоста |
Не предполагайте, что каждый сервис, рекламирующий «совместимость с OpenAI», реализует потоковую передачу, вызовы инструментов, изображения, поля рассуждений или идентичные ответы об ошибках. Протестируйте именно те функции, которые нужны вашему рабочему процессу.
Проверка провайдера и модели
Используйте недорогой и нечувствительный запрос, прежде чем полагаться на конфигурацию:
- Выберите новую модель в новом разговоре.
- Отправьте
Reply with exactly: provider connected. - Убедитесь, что ответ передаётся потоково и панель управления провайдера регистрирует запрос.
- Отправьте короткий последующий запрос, чтобы проверить историю разговора.
- Если вам нужны инструменты, изображения или длинный контекст, протестируйте каждую возможность отдельно.
Для локальной конечной точки сначала проверьте её вне PandaNpc. Список моделей, совместимых с OpenAI, часто доступен с помощью:
curl http://localhost:11434/v1/modelsИспользуйте ответ только для подтверждения доступности и идентификатора модели. Не помещайте производственный API-ключ напрямую в историю оболочки.
Использование пользовательских моделей с PandaCode
PandaCode может предоставлять рабочий процесс кодирования в стиле Claude Code, используя при этом выбранный вами бэкенд модели, включая DeepSeek, Qwen, шлюз, совместимый с OpenAI, или внутренний сервис. После настройки провайдера и модели выберите эту модель для соответствующего подключения или задачи PandaCode.
Модель должна поддерживать шаблон взаимодействия, требуемый движком кодирования. Провайдер, который работает для обычного чата, может всё же не работать с вызовами инструментов, длительными потоками или структурированным содержимым. См. AI-модели, поддерживаемые PandaNpc для различия между чат-моделями и локальными движками кодирования, а также Установка и команды PandaPaw для настройки удалённого движка.
Устранение неполадок
Ошибка аутентификации `401` или `403`
Создайте новый ключ провайдера, убедитесь, что он активен, и введите его заново. Проверьте, требует ли вышестоящий сервис организацию, проект или другой метод аутентификации. Замаскированный ключ, скопированный с экрана редактирования, не является исходным секретом.
Ошибка `404` — конечная точка или модель не найдена
Удалите /chat/completions из настроенного базового URL, потому что PandaNpc добавляет его. Убедитесь, что /v1 присутствует, когда требуется, и что Model Value точно совпадает с идентификатором вышестоящей модели. Провайдер может возвращать одинаковый 404 как для неправильного URL, так и для недоступной модели.
Браузер сообщает о сетевой ошибке или ошибке CORS
Откройте консоль разработчика браузера только для определения заблокированного источника; не вставляйте туда секреты. Настройте провайдера на разрешение https://pandanpc.com, используйте его HTTPS-конечную точку или используйте настольное приложение PandaNpc. Правила смешанного контента блокируют HTTPS-странице вызов некоторых обычных HTTP-конечных точек.
Локальные Ollama или LM Studio недоступны
Убедитесь, что сервер запущен на том же компьютере, что и клиент, отправляющий запрос, и прослушивает настроенный интерфейс и порт. Если сервер моделей работает на другом компьютере, localhost неверен; используйте доступное частное имя хоста или IP-адрес и защитите сервис перед его раскрытием.
Ответ начинается, но останавливается или не имеет содержимого
Убедитесь, что API поддерживает потоковые Chat Completions и генерирует стандартные события data:. Уменьшите Max Tokens, протестируйте текстовое сообщение и отключите структурированные массивы содержимого только в том случае, если провайдер документирует, что принимает исключительно строковое содержимое.
Длинные сеансы завершаются сбоем вблизи предела контекста
Уменьшите настроенное Context Window до реального поддерживаемого лимита провайдера и зарезервируйте место для вывода, системных инструкций и результатов инструментов. Начните новый сеанс после изменения конфигурации модели, чтобы новые лимиты применялись последовательно.
Для сведений о квотах на уровне учётной записи и потоках данных прочитайте Учётные записи, планы и стоимость API PandaNpc и Политику конфиденциальности.