#context

1 messages · Page 1 of 1 (latest)

quartz sigilBOT
#

Ошибка request (...) exceeds the available context size (16384 tokens) приходит от llama.cpp, то есть сейчас твой сервер реально работает с n_ctx=16384, несмотря на -c 65536. А OpenClaw просто отображает то, что у него выходит по “контексту модели” (и ещё может чуть промахиваться в подсчёте токенов из‑за другого токенизатора, поэтому вылезло 16616 vs 16384).

1) Сначала проверь, какой ctx реально поднялся в контейнере

Посмотри стартовые логи — там llama.cpp печатает n_ctx:

docker logs omnicoder-9b | rg -i "n_ctx|ctx"

Если там n_ctx = 16384, значит -c 65536 не применился или был урезан (часто из-за памяти, особенно с --parallel 4 и q8 KV cache).

Что попробовать для теста:

  • временно поставить --parallel 1
  • и/или снизить -c (например, 32768), чтобы убедиться что вообще меняется
  • и только потом разгонять до 65536

2) В OpenClaw нужно явно прописать contextWindow для локальной модели

#

Если OpenClaw “сам обнаружил” модель, он часто ставит дефолт (16k). Для локальных OpenAI‑совместимых эндпоинтов это нормально — лучше задать вручную.

Пример конфига (JSON5), чтобы local/omnicoder-9b был 64k:

{
  agents: {
    defaults: {
      model: { primary: "local/omnicoder-9b" },
    },
  },
  models: {
    mode: "merge",
    providers: {
      local: {
        baseUrl: "http://127.0.0.1:8082/v1",
#
        apiKey: "sk-local",
        api: "openai-completions",
        models: [
          {
            id: "omnicoder-9b",
            name: "OmniCoder 9B",
            contextWindow: 65536,
            maxTokens: 4096,
            cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
            input: ["text"],
            reasoning: false,
          },
        ],
      },
    },