Руководство по настройке провайдеров

Файл anyllm.json — это сердце вашего приложения AnyLLM. Здесь вы настраиваете подключение ко всем большим языковым моделям (LLM), будь то локальные модели или облачные сервисы. Это руководство поможет вам понять каждый параметр и легко подключить любого провайдера.

Анатомия anyllm.json

Давайте разберем структуру на примере. Представьте, что это ваша конфигурация:

{
  "provider": {
    "openrouter": {
      "name": "OpenRouter",
      "type": "openai_compatible",
      "options": {
        "baseURL": "https://openrouter.ai/api/v1/chat/completions",
        "header": {
          "Content-Type": "application/json",
          "Authorization": "Bearer ваш_ключ_с_openrouter"
        }
      },
      "models": {
        "Gemini-Flash": {
          "name": "google/gemini-flash-1.5"
        },
        "Phi-3-Mini": {
          "name": "microsoft/phi-3-mini-128k-instruct"
        }
      }
    },
    "ollama": {
      "name": "Ollama (локально)",
      "type": "openai_compatible",
      "options": {
        "baseURL": "http://localhost:11434/v1"
      },
      "models": {
        "Локальный-Phi-3": {
          "name": "phi3"
        }
      }
    }
  }
}

Ключ провайдера ( "openrouter", "ollama" )

Это уникальный идентификатор, который вы придумываете сами. Он используется внутри программы для различения провайдеров. Рекомендуется использовать короткие и понятные названия, например, google, groq, my_local_llms.

name (Название)

  • Что это? Понятное имя, которое будет отображаться в интерфейсе программы.
  • Пример: "name": "Ollama (локально)"
  • Зачем нужно? Чтобы вы легко понимали, какого провайдера выбираете.

type (Тип API)

  • Что это? Тип протокола, по которому AnyLLM будет общаться с провайдером.
  • Текущее значение: openai_compatible. Это универсальный стандарт, который поддерживают десятки сервисов, включая Ollama, OpenRouter, Together.ai, Groq и многие другие. Это делает подключение новых моделей невероятно простым.
  • openai_compatible: Для моделей совместимых с OpenAI API. (Например OpenRouter или любой другой агрегатор. Они обычно пишут что совместимы с OpenAI).
  • google: Указывайте только если вы используете прямое подключение к API Gemini. Google несовместима с OpenAI API и использует другой тип подключения.
  • options (Опции подключения)

Этот объект содержит технические детали для подключения.

  • baseURL: Базовый URL API-сервиса. Это самый важный адрес, который нужно найти в документации вашего провайдера.
  • header: Объект для передачи HTTP-заголовков. Чаще всего используется для авторизации.
    • Content-Type: Обычно всегда "application/json".
    • Authorization: Здесь вы указываете ваш секретный API-ключ. Формат Bearer ВАШ_КЛЮЧ — самый распространенный. Никогда не делитесь этим ключом и не публикуйте его в открытом доступе!
    • Вы можете указать любые параметры которые нужно передать в заголовках. Мы даем лишь базовый пример.

models (Модели)

Здесь вы перечисляете модели, которые хотите использовать от данного провайдера.

  • Ключ модели ("Gemini-Flash", "Локальный-Phi-3"): Это псевдоним или короткое имя для модели, которое вы придумываете сами. Оно будет отображаться в списке выбора моделей в интерфейсе. Сделайте его удобным для себя.

  • name (Имя модели у провайдера): А вот это официальное и полное имя модели, которое требует API провайдера. Его нужно точно скопировать из документации или списка моделей на сайте провайдера. AnyLLM будет использовать именно это имя при отправке запроса.


Практические примеры подключения

1. Ollama (Запуск моделей локально)

Ollama — отличный способ запустить LLM на вашем собственном компьютере.

  1. Установите Ollama с их официального сайта и запустите любую модель (например, ollama run hf.co/microsoft/Phi-3-mini-4k-instruct-gguf:latest).
  2. Ollama автоматически создает API-сервер, совместимый с OpenAI.

Конфигурация anyllm.json:

"ollama": {
  "name": "Ollama (локально)",
  "type": "openai_compatible",
  "options": {
    "baseURL": "http://localhost:11434/v1"
  },
  "models": {
    "Локальный Phi-3": {
      "name": "hf.co/microsoft/Phi-3-mini-4k-instruct-gguf:latest"
    },
    "DeepSeek-R1-0528-Qwen3-8B": {
      "name": "hf.co/unsloth/DeepSeek-R1-0528-Qwen3-8B-GGUF:Q4_K_M"
    }
  }
}
  • baseURL: Для Ollama это почти всегда http://localhost:11434/v1.
  • Авторизация: Не нужна, так как сервис работает локально.
  • Имена моделей (hf.co/microsoft/Phi-3-mini-4k-instruct-gguf:latest, hf.co/unsloth/DeepSeek-R1-0528-Qwen3-8B-GGUF:Q4_K_M): Это официальные имена моделей, которые вы использовали в команде ollama run. Вы можете посмотреть все установленные модели командой ollama list.

2. OpenRouter (Доступ к десяткам моделей через один ключ)

OpenRouter — это сервис-агрегатор, который дает доступ к моделям от Google, Anthropic, Mistral, Microsoft и других по единому API.

  1. Регистрация: Зарегистрируйтесь на openrouter.ai.
  2. API-ключ: Скопируйте ваш API-ключ со страницы настроек.
  3. Поиск моделей: Перейдите на страницу Models, чтобы увидеть список доступных моделей.

Конфигурация anyllm.json:

"openrouter": {
  "name": "OpenRouter",
  "type": "openai_compatible",
  "options": {
    "baseURL": "https://openrouter.ai/api/v1/chat/completions",
    "header": {
      "Authorization": "Bearer sk-or-v1-ваш-длинный-ключ"
    }
  },
  "models": {
    "Google Gemini Flash": {
      "name": "google/gemini-flash-1.5"
    },
    "Claude 3.5 Sonnet": {
      "name": "anthropic/claude-3.5-sonnet"
    },
    "Phi-3 Mini Instruct": {
      "name": "microsoft/phi-3-mini-128k-instruct"
    }
  }
}
  • baseURL: https://openrouter.ai/api/v1/chat/completions. Его вы можете посмотреть в документации, например для shell или curl запросов. Это можно увидеть в любой документации агрегатора, все они пишут конечную точку для обращения к своим сервисам.
  • Authorization: Вставьте ваш ключ после Bearer.
  • Имена моделей: Скопируйте идентификатор модели прямо с сайта OpenRouter (например, google/gemini-flash-1.5). Это и есть то, что нужно вставить в поле name.

3. Google Gemini (и другие прямые API)

Многие сервисы, как и Google, имеют свои собственные API, которые не всегда совместимы с OpenAI.

Как же использовать модели Google?

Лучший способ — через сервис-прокси, который предоставляет openai_compatible интерфейс. OpenRouter из примера выше — идеальный кандидат.

Если же вы используете другой сервис, который предоставляет доступ к моделям Gemini, принцип тот же:

  1. Получите baseURL и API-ключ от этого сервиса.
  2. Узнайте у них, какой идентификатор модели использовать.

Пример для гипотетического провайдера anyllm-best-api.tech:

"anyllm-best-api": {
  "name": "AnyLLMBestAPI",
  "type": "openai_compatible",
  "options": {
    "baseURL": "https://anyllm-best-api.host/api/v1/chat/completions",
    "header": {
      "Content-Type": "application/json",
      "Authorization": "Bearer ВАШ_API_КЛЮЧ_ОТ_NEUROAPI"
    }
  },
  "models": {
    "Gemini 2.5 Flash": {
      "name": "gemini-2.5-flash"
    }
  }
}

Здесь gemini-2.5-flash — это имя, которое ожидает получить сервис anyllm-best-api.tech, а не сам Google. Всегда сверяйтесь с документацией того сервиса, чей baseURL вы используете!