Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

BadRequestError: max_tokens is too large (14817 > 4096)

Aperta
#492 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
45/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
python
Ambito
api, backend

Direzione di ricerca

Inizia da camel/model_backend.py, dove il traceback mostra che viene effettuata la richiesta di chat completion di OpenAI, e segui come max_tokens diventa 14817. Riproduci il comando run.py documentato, quindi verifica che la richiesta rimanga entro il limite del modello selezionato e che l'attività Snake Game non fallisca più con BadRequestError.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

When I tried to run ChatDev with the following command:
python3 run.py --task "[make a simple Snake Game game]" --name "[Snake_Game]"

I get this error:


Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/tenacity/__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)
  File "/Users/yixuan/Documents/GitHub/ChatDev/camel/utils.py", line 160, in wrapper
    return func(self, *args, **kwargs)
  File "/Users/yixuan/Documents/GitHub/ChatDev/camel/agents/chat_agent.py", line 239, in step
    response = self.model_backend.run(messages=openai_messages)
  File "/Users/yixuan/Documents/GitHub/ChatDev/camel/model_backend.py", line 101, in run
    response = client.chat.completions.create(*args, **kwargs, model=self.model_type.value,
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/openai/_utils/_utils.py", line 286, in wrapper
    return func(*args, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/openai/resources/chat/completions/completions.py", line 1147, in create
    return self._post(
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/openai/_base_client.py", line 1259, in post
    return cast(ResponseT, self.request(cast_to, opts, stream=stream, stream_cls=stream_cls))
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/openai/_base_client.py", line 1047, in request
    raise self._make_status_error_from_response(err.response) from None
openai.BadRequestError: Error code: 400 - {'error': {'message': 'max_tokens is too large: 14817. This model supports at most 4096 completion tokens, whereas you provided 14817.', 'type': 'invalid_request_error', 'param': 'max_tokens', 'code': 'invalid_value'}}

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/yixuan/Documents/GitHub/ChatDev/run.py", line 136, in <module>
    chat_chain.execute_chain()
  File "/Users/yixuan/Documents/GitHub/ChatDev/chatdev/chat_chain.py", line 168, in execute_chain
    self.execute_step(phase_item)
  File "/Users/yixuan/Documents/GitHub/ChatDev/chatdev/chat_chain.py", line 138, in execute_step
    self.chat_env = self.phases[phase].execute(self.chat_env,
  File "/Users/yixuan/Documents/GitHub/ChatDev/chatdev/phase.py", line 295, in execute
    self.chatting(chat_env=chat_env,
  File "/Users/yixuan/Documents/GitHub/ChatDev/chatdev/utils.py", line 79, in wrapper
    return func(*args, **kwargs)
  File "/Users/yixuan/Documents/GitHub/ChatDev/chatdev/phase.py", line 133, in chatting
    assistant_response, user_response = role_play_session.step(input_user_msg, chat_turn_limit == 1)
  File "/Users/yixuan/Documents/GitHub/ChatDev/camel/agents/role_playing.py", line 247, in step
    assistant_response = self.assistant_agent.step(user_msg_rst)
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/tenacity/__init__.py", line 289, in wrapped_f
    return self(f, *args, **kw)
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/tenacity/__init__.py", line 379, in __call__
    do = self.iter(retry_state=retry_state)
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/tenacity/__init__.py", line 326, in iter
    raise retry_exc from fut.exception()
tenacity.RetryError: RetryError[<Future at 0x7f9582503820 state=finished raised BadRequestError>]

Expected Behavior

The program should correctly calculate max_tokens based on the model limits (e.g., gpt-4o supports 4096 tokens).

Actual Behavior

It sets max_tokens=14817, which exceeds the model’s maximum (4096), causing the OpenAI API to return BadRequestError.

Lingua principale
Python
Stelle
34.5k
Fork
4.3k
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

  • Include un Dockerfile o un file Docker Compose
  • Nessun modello di pull request
  • Nessuna guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di OpenBMB/ChatDev

Tutte le issue di OpenBMB/ChatDev

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.