TNWS AI — новости нейросетей и подбор моделей

Вопросы · · 2 мин

WindowsmacOSLinuxOllamaлокальные нейросетиИИ

Как безопасно открыть Ollama API в локальной сети

Практический ответ на запрос «как открыть Ollama API по сети»: точные команды, реальные параметры Ollama, диагностика, ограничения и проверка результата.

Менять адрес прослушивания можно через OLLAMA_HOST, но сам порт не следует напрямую публиковать в интернет. Для локальной сети ограничьте firewall конкретной подсетью; для удалённого доступа используйте VPN либо reverse proxy с TLS и аутентификацией.

Что нужно знать до начала

  • По умолчанию Ollama привязан к 127.0.0.1:11434.
  • OLLAMA_HOST управляет адресом и портом прослушивания.
  • Нативный локальный API не является полноценным публичным шлюзом с аккаунтами и квотами.
  • CORS и сетевой доступ — разные механизмы защиты.
  • Модельный endpoint может раскрыть промпты, ответы и вычислительные ресурсы.
  • Firewall должен ограничивать источник, а не только номер порта.

Пошаговая настройка

  1. Назначьте серверу постоянный адрес в доверенной LAN.
  2. Задайте OLLAMA_HOST=0.0.0.0:11434 в окружении службы и перезапустите её.
  3. Разрешите вход только из нужной подсети или с IP приложения.
  4. Проверьте с другого устройства GET /api/tags.
  5. Для доступа извне поднимите VPN или reverse proxy с TLS, auth и rate limit.
  6. Логируйте IP, endpoint, статус и длительность без содержимого чувствительных промптов.

Рабочий пример

curl -s http://192.168.1.20:11434/api/tags
# Проверка порта с клиента Linux:
nc -vz 192.168.1.20 11434
# Сам порт 11434 не пробрасывайте на внешний интерфейс роутера.

Как проверить результат

Читать целиком
 

Вопросы · · 2 мин

WindowsmacOSLinuxElevenLabsозвучканейросети

Как клонировать голос в ElevenLabs законно и безопасно

Практический разбор запроса «как клонировать голос ElevenLabs»: реальные поля ElevenLabs API, рабочий пример, ограничения, диагностика и проверка аудио.

Клонируйте только собственный голос либо голос человека, давшего явное разрешение на конкретное использование. Согласие, исходные записи и область применения надо документировать; техническая возможность клонирования не является разрешением на публикацию.

Точные факты

  • Качество клона зависит от чистоты и однородности записей.
  • Фоновая музыка, реверберация и несколько говорящих ухудшают результат.
  • Instant и Professional Voice Cloning имеют разные процессы и требования.
  • Проверка голоса может требоваться продуктом.
  • Согласие должно охватывать каналы, срок и допустимый контент.
  • Синтетическое аудио нельзя использовать для обмана, выдачи себя за человека или обхода авторизации.

Порядок работы

  1. Получите письменное согласие и определите разрешённые сценарии.
  2. Запишите чистую речь одного человека без обработки и музыки.
  3. Удалите фрагменты с третьими лицами и чувствительными данными.
  4. Создайте тестовый клон и ограничьте доступ к нему.
  5. Дайте владельцу прослушать нейтральный и рекламный примеры.
  6. Добавьте маркировку синтетического голоса там, где слушатель может быть введён в заблуждение.

Рабочий пример

Реестр согласия:
- владелец голоса и способ подтверждения;
- дата, срок и площадки;
- разрешённые/запрещённые темы;
- кто имеет доступ к voice_id;
- процедура отзыва и удаления.

Как проверить результат

Читать целиком
 

Вопросы · · 2 мин

WindowsmacOSLinuxDeepSeekAPIнейросети

Как работает контекстный кэш DeepSeek API и как проверить cache hit

Практическое руководство: рабочий пример, структура ответа, ограничения, негативные тесты и проверка результата для запроса «как работает кэш DeepSeek API».

Контекстный кэш полезен, когда несколько запросов имеют одинаковый длинный префикс. Стабильные инструкции и документы ставьте в начало, динамический вопрос — в конец. Реальную работу кэша подтверждают поля usage/cache hit, а не субъективно быстрый ответ.

Рабочий пример

const base=[
 {role:"system",content:LONG_STABLE_RULES},
 {role:"user",content:REFERENCE_DOCUMENT}
];
await client.chat.completions.create({model:"deepseek-chat",messages:[...base,{role:"user",content:"Вопрос 1"}]});
await client.chat.completions.create({model:"deepseek-chat",messages:[...base,{role:"user",content:"Вопрос 2"}]});
// Сравните usage и документированные cache-hit поля.

Что важно в реализации

  • Совпадение должно приходиться на начало контекста.
  • Дата, UUID или таймер внутри префикса ломают повторяемость.
  • Кэш не хранит готовый ответ и не является памятью пользователя.
  • Экономию считают по реальному распределению трафика.

Пошаговая проверка

  1. Отправьте два запроса с идентичным префиксом и сравните usage.
  2. Измените один символ в начале и повторите измерение.
  3. Проверьте, что ответы всё равно генерируются заново и могут различаться.

Чего не делать

Читать целиком
 

Вопросы · · 2 мин

WindowsmacOSLinuxYandexGPTтокеныстоимость

Как считать токены и расходы YandexGPT по полю usage

Контроль токенов YandexGPT: inputTextTokens, completionTokens, totalTokens, стоимость успешной задачи и поиск лишнего контекста.

Сохраняйте три счётчика из usage: входные, выходные и общие токены. Затем умножайте их на актуальные ставки конкретной модели и режима из Pricing. Для бизнеса полезнее считать стоимость успешной задачи с учётом повторов, а не цену одного запроса.

Рабочий пример

const usage = {
 inputTextTokens: Number(result.usage.inputTextTokens),
 completionTokens: Number(result.usage.completionTokens),
 totalTokens: Number(result.usage.totalTokens)
};
if (usage.inputTextTokens + usage.completionTokens !== usage.totalTokens) {
 console.warn("Проверьте схему учёта и документацию");
}
// Денежные ставки загружайте из своей версионированной конфигурации.

Проверенные факты

  • inputTextTokens отражает переданный контекст, completionTokens — сгенерированную часть, totalTokens — общий учёт ответа.
  • Строковые числовые поля из JSON безопаснее явно преобразовать перед агрегацией.
  • Тариф зависит от модели и режима; старый скриншот цены нельзя использовать в биллинге.
  • Повтор после ошибки или невалидный ответ тоже может влиять на реальные затраты процесса.

Порядок действий

  1. Записывайте usage, model URI, сценарий и статус без полного текста пользователя.
  2. Сверяйте сумму токенов с правилами актуального Pricing.
  3. Разделите отчёт по продуктовой функции и доле успешных результатов.
  4. Найдите сценарии с повторяющимся большим system prompt или нерелевантными документами.
  5. После оптимизации прогоните eval, чтобы экономия не ухудшила качество.

Как проверить результат

Читать целиком
 

Вопросы · · 2 мин

WindowsmacOSLinuxChatGPTOpenAI APIзадержка

Как уменьшить задержку OpenAI API: что измерять до смены модели

Оптимизация задержки OpenAI API: TTFT, полное время, streaming, длина вывода, параллельные запросы, кэш и корректный нагрузочный тест.

Сначала разделите задержку на сеть, очередь, время до первого токена и генерацию оставшегося текста. Самый универсальный рычаг — уменьшить ненужный вывод; для интерфейса включить streaming; независимые операции запускать параллельно. Смена модели помогает не всегда и должна подтверждаться тестом качества.

Рабочий пример

const started = performance.now();
let firstTokenAt = null;
let chars = 0;

for await (const event of stream) {
  if (event.type === "response.output_text.delta") {
    if (firstTokenAt === null) firstTokenAt = performance.now();
    chars += event.delta.length;
  }
}
console.log({
  ttft_ms: Math.round(firstTokenAt - started),
  total_ms: Math.round(performance.now() - started),
  chars
});

Конкретные факты и поля

  • TTFT показывает отзывчивость интерфейса, total time — время готовности полного результата. Это разные метрики.
  • Длинный ответ естественно генерируется дольше; точный лимит и краткий формат часто полезнее «ускоряющего» промпта.
  • Параллельность помогает только независимым запросам и может упереться в rate limits.
  • Кэширование стабильно повторяемого префикса и результатов вашего приложения сокращает ненужную работу, но требует корректного ключа кэша.

Как внедрить

  1. Соберите p50, p95 и p99 отдельно по модели и типу задачи.
  2. Измерьте TTFT и total, входные/выходные токены, ошибки и повторные попытки.
  3. Уберите лишний контекст и ограничьте формат ответа.
  4. Включите streaming для длинного пользовательского текста.
  5. Сравните альтернативную модель на eval-наборе, сохраняя приемлемое качество.
Читать целиком
 

Вопросы · · 2 мин

WindowsmacOSLinuxOllamaлокальные нейросетиИИ

Как выгрузить модель Ollama из памяти и настроить keep_alive

Практический ответ на запрос «как выгрузить модель Ollama из памяти»: точные команды, реальные параметры Ollama, диагностика, ограничения и проверка результата.

Передайте keep_alive:0 в запросе, чтобы выгрузить модель после ответа, либо задайте время удержания для серии запросов. Проверяйте результат через ollama ps: отсутствие модели подтверждает освобождение, а не только завершение генерации.

Что нужно знать до начала

  • Ollama некоторое время держит модель в памяти для следующих запросов.
  • keep_alive управляет временем удержания модели.
  • Значение 0 выгружает модель после обработки запроса.
  • Отрицательное значение может удерживать модель загруженной постоянно согласно FAQ.
  • Холодный запуск повышает задержку первого ответа.
  • Одновременные модели конкурируют за RAM/VRAM.

Пошаговая настройка

  1. Выполните обычный запрос и посмотрите ollama ps.
  2. Запишите время первого и повторного ответа.
  3. Для редкой задачи передайте keep_alive:0.
  4. Убедитесь через ollama ps, что запись исчезла.
  5. Для частых запросов задайте ограниченное время удержания.
  6. Сравните экономию памяти и cold-start latency.

Рабочий пример

curl http://localhost:11434/api/generate -d '{
 "model":"qwen3",
 "prompt":"Ответь OK",
 "stream":false,
 "keep_alive":0
}'
ollama ps

Как проверить результат

Читать целиком
 
TNWS AI — новости нейросетей и подбор моделей