Skip to content

[BUG] Doesn't seem to work with local vllm running gpt-oss-20b #1030

@bjenkinsgit

Description

@bjenkinsgit

What version of eigent are you using?

0.0.80

System information

Server: ubuntu 24.04 running latest vllm with gpt-oss-20b model
Client: Mac os 26 running local eigent talking to that ubuntu server.

Problem description

Got eigent running locally, tried to configure it to talk to a local vllm model and:

  1. If I start vllm like so: "vllm serve openai/gpt-oss-20b" and try to configure a local model in eigent, it connects to it and complains that my gpt-oss-20b model is not a tool calling model.
  2. If I start it like so: "vllm serve openai/gpt-oss-20b --enable-auto-tool-choice --tool-call-parser=granite"
    I get a server 500 error.

Has anyone gotten eigent to work with vllm locally running with the gpt-oss-20b model?

log

openai.InternalServerError: Error code: 500 - {'error': {'message': "GraniteToolParser.extract_tool_calls() got an unexpected keyword argument 'token_ids'", 'type': 'Internal Server Error', 'param': None, 'code': 500}}
[error] BACKEND: 2026-01-22 14:29:17,887 - model_controller - ERROR - Model validation failed
Traceback (most recent call last):
File "/Users/bwj/src/eigent/backend/app/controller/model_controller.py", line 78, in validate_model
response = agent.step(
File "/Users/bwj/.eigent/venvs/backend-0.0.80/lib/python3.10/site-packages/camel/agents/chat_agent.py", line 2783, in step
return future.result(timeout=self.step_timeout)
File "/Users/bwj/.eigent/cache/uv_python/cpython-3.10.15-macos-aarch64-none/lib/python3.10/concurrent/futures/_base.py", line 458, in result
return self.__get_result()
File "/Users/bwj/.eigent/cache/uv_python/cpython-3.10.15-macos-aarch64-none/lib/python3.10/concurrent/futures/_base.py", line 403, in __get_result
raise self._exception
File "/Users/bwj/.eigent/cache/uv_python/cpython-3.10.15-macos-aarch64-none/lib/python3.10/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
File "/Users/bwj/.eigent/venvs/backend-0.0.80/lib/python3.10/site-packages/camel/agents/chat_agent.py", line 2864, in _step_impl
response = self._get_model_response(
File "/Users/bwj/.eigent/venvs/backend-0.0.80/lib/python3.10/site-packages/camel/agents/chat_agent.py", line 3358, in _get_model_response
response = self.model_backend.run(
File "/Users/bwj/.eigent/venvs/backend-0.0.80/lib/python3.10/site-packages/camel/models/model_manager.py", line 239, in run
raise exc
File "/Users/bwj/.eigent/venvs/backend-0.0.80/lib/python3.10/site-packages/camel/models/model_manager.py", line 229, in run
response = self.current_model.run(messages, response_format, tools)
File "/Users/bwj/.eigent/venvs/backend-0.0.80/lib/python3.10/site-packages/camel/models/base_model.py", line 212, in wrapped_run
return original_run(self, messages, *args, **kwargs)
File "/Users/bwj/.eigent/venvs/backend-0.0.80/lib/python3.10/site-packages/camel/models/base_model.py", line 633, in run
result = self._run(messages, response_format, tools)
File "/Users/bwj/.eigent/venvs/backend-0.0.80/lib/python3.10/site-packages/camel/models/openai_compatible_model.py", line 219, in _run
result = self._request_chat_completion(messages, tools)
File "/Users/bwj/.eigent/venvs/backend-0.0.80/lib/python3.10/site-packages/camel/models/openai_compatible_model.py", line 284, in _request_chat_completion
return self._client.chat.completions.create(
File "/Users/bwj/.eigent/venvs/backend-0.0.80/lib/python3.10/site-packages/openai/_utils/_utils.py", line 286, in wrapper
return func(*args, **kwargs)
File "/Users/bwj/.eigent/venvs/backend-0.0.80/lib/python3.10/site-packages/openai/resources/chat/completions/completions.py", line 1147, in create
return self._post(
File "/Users/bwj/.eigent/venvs/backend-0.0.80/lib/python3.10/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 "/Users/bwj/.eigent/venvs/backend-0.0.80/lib/python3.10/site-packages/openai/_base_client.py", line 1047, in request
raise self._make_status_error_from_response(err.response) from None
openai.InternalServerError: Error code: 500 - {'error': {'message': "GraniteToolParser.extract_tool_calls() got an unexpected keyword argument 'token_ids'", 'type': 'Internal Server Error', 'param': None, 'code': 500}}
INFO: 127.0.0.1:50244 - "POST /model/validate HTTP/1.1" 400 Bad Request

Additional context

No response

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions