With OPENAI_BASE_URL set, models that need the Responses API fail with tools

Aberta
#891 2 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
56/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
typescript
Domínio
ai, backend

Direção de pesquisa

Start by reading requiresResponsesApi(model) in shared/model-providers.ts and trace how the Bots' model and OPENAI_BASE_URL settings reach the CopilotKit runtime. Check how COPILOTKIT_OPENAI_API is currently configured and documented. Done means Bots using models that require the Responses API work with a custom base URL, and operators can find both settings documented.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

enhancement

What happens

With OPENAI_BASE_URL set to any host that is not OpenAI's or Azure's (a proxy, a gateway, a logging relay), the CopilotKit runtime uses Chat Completions for openai/... models:

[CopilotKit] OPENAI_BASE_URL is not an OpenAI or Azure host, so "openai/..." models use the Chat Completions API. To use the Responses API instead, set COPILOTKIT_OPENAI_API=responses.

Models from gpt-5.6 onward reject function tools on Chat Completions, so every Bot run with tools fails:

Function tools with reasoning_effort are not supported for gpt-6.1-terra in /v1/chat/completions. To use function tools, use /v1/responses or set reasoning_effort to 'none'.

OpenBot already knows which models need the Responses API: requiresResponsesApi(model) in shared/model-providers.ts.

Suggested fix

When OPENAI_BASE_URL is set and requiresResponsesApi(model) is true for the Bots' model, set COPILOTKIT_OPENAI_API=responses for the runtime (unless the operator set it), or refuse at startup with a sentence naming the setting. Document both settings next to OPENAI_BASE_URL.

Linguagem predominante
TypeScript
Estrelas
9.2k
Forks
1.2k
Merge médio
1d 13h
PRs com merge (30d)
105

Preparar o ambiente

  • Inclui um Dockerfile ou arquivo Docker Compose
  • Tem um modelo de pull request
  • Sem guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de CopilotKit/OpenBot

Todas as issues de CopilotKit/OpenBot

Issues semelhantes

Mais issues de TypeScript

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.