[GH-ISSUE #708] 使用openai接口访问后,服务端报错 #518

Closed
opened 2026-10-29 14:40:45 +00:00 by bsakaguchi · 3 comments
Owner

Originally created by @4thGardenOfQMH on GitHub (Feb 27, 2025).
Original GitHub issue: https://github.com/kvcache-ai/ktransformers/issues/708

服务启动命令为
python3 ktransformers/server/main.py --gguf_path /mnt/data/DeepSeek-R1-GGUF --model_path /mnt/data/DeepSeek-R1 --model_name unsloth/DeepSeek-R1-Q4-km --cpu_infer 65 --max_new_tokens 8192 --cache_lens 32768 --total_context 32768 --cache_q4 true --temperature 0.6 --top_p 0.95 --optimize_config_path ktransformers/optimize/optimize_rules/DeepSeek-V3-Chat.yaml --host 127.0.0.1 --port 8080

客户端访问脚本为
`from openai import OpenAI

ds_api_key = "none"

client = OpenAI(
api_key = ds_api_key,
base_url = "http://localhost:8000/v1"

)

response = client.chat.completions.create(
model="DeepseekV3ForCausalLM",
messages=[
{"role":"user", "content":"你好,好久不见!"}
],
max_tokens=4096,
stream=True
)

print(response)`

客户端打印
<openai.Stream object at 0x7f1ca98ae020>

服务端报错信息
`2025-02-27 00:54:11,162 DEBUG /mnt/data/ktransformers-0.2.1/ktransformers/server/backend/context_manager.py[21]: Creating Context Manager
INFO: Started server process [12326]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO: 127.0.0.1:50436 - "POST /v1/chat/completions HTTP/1.1" 200 OK
2025-02-27 00:55:05,605 DEBUG /mnt/data/ktransformers-0.2.1/ktransformers/server/backend/interfaces/transformers.py[193]: get input ids of shape torch.Size([1, 8])
2025-02-27 00:55:05,606 DEBUG /mnt/data/ktransformers-0.2.1/ktransformers/server/backend/interfaces/ktransformers.py[125]: input_ids: torch.Size([1, 8])
ERROR: Exception in ASGI application
Traceback (most recent call last):
File "/usr/python310/lib/python3.10/site-packages/starlette/responses.py", line 268, in call
await wrap(partial(self.listen_for_disconnect, receive))
File "/usr/python310/lib/python3.10/site-packages/starlette/responses.py", line 264, in wrap
await func()
File "/usr/python310/lib/python3.10/site-packages/starlette/responses.py", line 233, in listen_for_disconnect
message = await receive()
File "/usr/python310/lib/python3.10/site-packages/uvicorn/protocols/http/httptools_impl.py", line 563, in receive
await self.message_event.wait()
File "/usr/python310/lib/python3.10/asyncio/locks.py", line 214, in wait
await fut
asyncio.exceptions.CancelledError: Cancelled by cancel scope 7efcb455ffd0

During handling of the above exception, another exception occurred:

  • Exception Group Traceback (most recent call last):
    | File "/usr/python310/lib/python3.10/site-packages/uvicorn/protocols/http/httptools_impl.py", line 409, in run_asgi
    | result = await app( # type: ignore[func-returns-value]
    | File "/usr/python310/lib/python3.10/site-packages/uvicorn/middleware/proxy_headers.py", line 60, in call
    | return await self.app(scope, receive, send)
    | File "/usr/python310/lib/python3.10/site-packages/fastapi/applications.py", line 1054, in call
    | await super().call(scope, receive, send)
    | File "/usr/python310/lib/python3.10/site-packages/starlette/applications.py", line 112, in call
    | await self.middleware_stack(scope, receive, send)
    | File "/usr/python310/lib/python3.10/site-packages/starlette/middleware/errors.py", line 187, in call
    | raise exc
    | File "/usr/python310/lib/python3.10/site-packages/starlette/middleware/errors.py", line 165, in call
    | await self.app(scope, receive, _send)
    | File "/usr/python310/lib/python3.10/site-packages/starlette/middleware/cors.py", line 85, in call
    | await self.app(scope, receive, send)
    | File "/usr/python310/lib/python3.10/site-packages/starlette/middleware/exceptions.py", line 62, in call
    | await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
    | File "/usr/python310/lib/python3.10/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    | raise exc
    | File "/usr/python310/lib/python3.10/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
    | await app(scope, receive, sender)
    | File "/usr/python310/lib/python3.10/site-packages/starlette/routing.py", line 715, in call
    | await self.middleware_stack(scope, receive, send)
    | File "/usr/python310/lib/python3.10/site-packages/starlette/routing.py", line 735, in app
    | await route.handle(scope, receive, send)
    | File "/usr/python310/lib/python3.10/site-packages/starlette/routing.py", line 288, in handle
    | await self.app(scope, receive, send)
    | File "/usr/python310/lib/python3.10/site-packages/starlette/routing.py", line 76, in app
    | await wrap_app_handling_exceptions(app, request)(scope, receive, send)
    | File "/usr/python310/lib/python3.10/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    | raise exc
    | File "/usr/python310/lib/python3.10/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
    | await app(scope, receive, sender)
    | File "/usr/python310/lib/python3.10/site-packages/starlette/routing.py", line 74, in app
    | await response(scope, receive, send)
    | File "/usr/python310/lib/python3.10/site-packages/starlette/responses.py", line 261, in call
    | async with anyio.create_task_group() as task_group:
    | File "/usr/python310/lib/python3.10/site-packages/anyio/_backends/asyncio.py", line 767, in aexit
    | raise BaseExceptionGroup(
    | exceptiongroup.ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception)
    +-+---------------- 1 ----------------
    | Traceback (most recent call last):
    | File "/usr/python310/lib/python3.10/site-packages/starlette/responses.py", line 264, in wrap
    | await func()
    | File "/usr/python310/lib/python3.10/site-packages/starlette/responses.py", line 245, in stream_response
    | async for chunk in self.body_iterator:
    | File "/mnt/data/ktransformers-0.2.1/ktransformers/server/schemas/assistants/streaming.py", line 80, in check_client_link
    | async for event in async_events:
    | File "/mnt/data/ktransformers-0.2.1/ktransformers/server/schemas/assistants/streaming.py", line 93, in to_stream_reply
    | async for event in async_events:
    | File "/mnt/data/ktransformers-0.2.1/ktransformers/server/schemas/assistants/streaming.py", line 87, in add_done
    | async for event in async_events:
    | File "/mnt/data/ktransformers-0.2.1/ktransformers/server/schemas/assistants/streaming.py", line 107, in filter_chat_chunk
    | async for event in async_events:
    | File "/mnt/data/ktransformers-0.2.1/ktransformers/server/api/openai/endpoints/chat.py", line 34, in inner
    | async for token in interface.inference(input_message,id):
    | File "/mnt/data/ktransformers-0.2.1/ktransformers/server/backend/interfaces/ktransformers.py", line 181, in inference
    | async for v in super().inference(local_messages, thread_id):
    | File "/mnt/data/ktransformers-0.2.1/ktransformers/server/backend/interfaces/transformers.py", line 340, in inference
    | for t in self.prefill(input_ids, self.check_is_new(thread_id)):
    | File "/usr/python310/lib/python3.10/site-packages/torch/utils/contextlib.py", line 36, in generator_context
    | response = gen.send(None)
    | File "/mnt/data/ktransformers-0.2.1/ktransformers/server/backend/interfaces/ktransformers.py", line 130, in prefill
    | self.cache.reset()
    | File "/mnt/data/ktransformers-0.2.1/ktransformers/models/custom_cache.py", line 175, in reset
    | self.value_cache[layer_idx].zero
    ()
    | AttributeError: 'NoneType' object has no attribute 'zero
    '
    +------------------------------------

`

麻烦问下是我的消息体构造的有问题吗?

Originally created by @4thGardenOfQMH on GitHub (Feb 27, 2025). Original GitHub issue: https://github.com/kvcache-ai/ktransformers/issues/708 服务启动命令为 `python3 ktransformers/server/main.py --gguf_path /mnt/data/DeepSeek-R1-GGUF --model_path /mnt/data/DeepSeek-R1 --model_name unsloth/DeepSeek-R1-Q4-km --cpu_infer 65 --max_new_tokens 8192 --cache_lens 32768 --total_context 32768 --cache_q4 true --temperature 0.6 --top_p 0.95 --optimize_config_path ktransformers/optimize/optimize_rules/DeepSeek-V3-Chat.yaml --host 127.0.0.1 --port 8080` 客户端访问脚本为 `from openai import OpenAI ds_api_key = "none" client = OpenAI( api_key = ds_api_key, base_url = "http://localhost:8000/v1" ) response = client.chat.completions.create( model="DeepseekV3ForCausalLM", messages=[ {"role":"user", "content":"你好,好久不见!"} ], max_tokens=4096, stream=True ) print(response)` 客户端打印 `<openai.Stream object at 0x7f1ca98ae020>` 服务端报错信息 `2025-02-27 00:54:11,162 DEBUG /mnt/data/ktransformers-0.2.1/ktransformers/server/backend/context_manager.py[21]: Creating Context Manager INFO: Started server process [12326] INFO: Waiting for application startup. INFO: Application startup complete. INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit) INFO: 127.0.0.1:50436 - "POST /v1/chat/completions HTTP/1.1" 200 OK 2025-02-27 00:55:05,605 DEBUG /mnt/data/ktransformers-0.2.1/ktransformers/server/backend/interfaces/transformers.py[193]: get input ids of shape torch.Size([1, 8]) 2025-02-27 00:55:05,606 DEBUG /mnt/data/ktransformers-0.2.1/ktransformers/server/backend/interfaces/ktransformers.py[125]: input_ids: torch.Size([1, 8]) ERROR: Exception in ASGI application Traceback (most recent call last): File "/usr/python310/lib/python3.10/site-packages/starlette/responses.py", line 268, in __call__ await wrap(partial(self.listen_for_disconnect, receive)) File "/usr/python310/lib/python3.10/site-packages/starlette/responses.py", line 264, in wrap await func() File "/usr/python310/lib/python3.10/site-packages/starlette/responses.py", line 233, in listen_for_disconnect message = await receive() File "/usr/python310/lib/python3.10/site-packages/uvicorn/protocols/http/httptools_impl.py", line 563, in receive await self.message_event.wait() File "/usr/python310/lib/python3.10/asyncio/locks.py", line 214, in wait await fut asyncio.exceptions.CancelledError: Cancelled by cancel scope 7efcb455ffd0 During handling of the above exception, another exception occurred: + Exception Group Traceback (most recent call last): | File "/usr/python310/lib/python3.10/site-packages/uvicorn/protocols/http/httptools_impl.py", line 409, in run_asgi | result = await app( # type: ignore[func-returns-value] | File "/usr/python310/lib/python3.10/site-packages/uvicorn/middleware/proxy_headers.py", line 60, in __call__ | return await self.app(scope, receive, send) | File "/usr/python310/lib/python3.10/site-packages/fastapi/applications.py", line 1054, in __call__ | await super().__call__(scope, receive, send) | File "/usr/python310/lib/python3.10/site-packages/starlette/applications.py", line 112, in __call__ | await self.middleware_stack(scope, receive, send) | File "/usr/python310/lib/python3.10/site-packages/starlette/middleware/errors.py", line 187, in __call__ | raise exc | File "/usr/python310/lib/python3.10/site-packages/starlette/middleware/errors.py", line 165, in __call__ | await self.app(scope, receive, _send) | File "/usr/python310/lib/python3.10/site-packages/starlette/middleware/cors.py", line 85, in __call__ | await self.app(scope, receive, send) | File "/usr/python310/lib/python3.10/site-packages/starlette/middleware/exceptions.py", line 62, in __call__ | await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send) | File "/usr/python310/lib/python3.10/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app | raise exc | File "/usr/python310/lib/python3.10/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app | await app(scope, receive, sender) | File "/usr/python310/lib/python3.10/site-packages/starlette/routing.py", line 715, in __call__ | await self.middleware_stack(scope, receive, send) | File "/usr/python310/lib/python3.10/site-packages/starlette/routing.py", line 735, in app | await route.handle(scope, receive, send) | File "/usr/python310/lib/python3.10/site-packages/starlette/routing.py", line 288, in handle | await self.app(scope, receive, send) | File "/usr/python310/lib/python3.10/site-packages/starlette/routing.py", line 76, in app | await wrap_app_handling_exceptions(app, request)(scope, receive, send) | File "/usr/python310/lib/python3.10/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app | raise exc | File "/usr/python310/lib/python3.10/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app | await app(scope, receive, sender) | File "/usr/python310/lib/python3.10/site-packages/starlette/routing.py", line 74, in app | await response(scope, receive, send) | File "/usr/python310/lib/python3.10/site-packages/starlette/responses.py", line 261, in __call__ | async with anyio.create_task_group() as task_group: | File "/usr/python310/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 767, in __aexit__ | raise BaseExceptionGroup( | exceptiongroup.ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/usr/python310/lib/python3.10/site-packages/starlette/responses.py", line 264, in wrap | await func() | File "/usr/python310/lib/python3.10/site-packages/starlette/responses.py", line 245, in stream_response | async for chunk in self.body_iterator: | File "/mnt/data/ktransformers-0.2.1/ktransformers/server/schemas/assistants/streaming.py", line 80, in check_client_link | async for event in async_events: | File "/mnt/data/ktransformers-0.2.1/ktransformers/server/schemas/assistants/streaming.py", line 93, in to_stream_reply | async for event in async_events: | File "/mnt/data/ktransformers-0.2.1/ktransformers/server/schemas/assistants/streaming.py", line 87, in add_done | async for event in async_events: | File "/mnt/data/ktransformers-0.2.1/ktransformers/server/schemas/assistants/streaming.py", line 107, in filter_chat_chunk | async for event in async_events: | File "/mnt/data/ktransformers-0.2.1/ktransformers/server/api/openai/endpoints/chat.py", line 34, in inner | async for token in interface.inference(input_message,id): | File "/mnt/data/ktransformers-0.2.1/ktransformers/server/backend/interfaces/ktransformers.py", line 181, in inference | async for v in super().inference(local_messages, thread_id): | File "/mnt/data/ktransformers-0.2.1/ktransformers/server/backend/interfaces/transformers.py", line 340, in inference | for t in self.prefill(input_ids, self.check_is_new(thread_id)): | File "/usr/python310/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 36, in generator_context | response = gen.send(None) | File "/mnt/data/ktransformers-0.2.1/ktransformers/server/backend/interfaces/ktransformers.py", line 130, in prefill | self.cache.reset() | File "/mnt/data/ktransformers-0.2.1/ktransformers/models/custom_cache.py", line 175, in reset | self.value_cache[layer_idx].zero_() | AttributeError: 'NoneType' object has no attribute 'zero_' +------------------------------------ ` 麻烦问下是我的消息体构造的有问题吗?
bsakaguchi 2026-10-29 14:40:45 +00:00
  • closed this issue
  • added the
    stale
    label
Author
Owner

@therestlife commented on GitHub (Feb 27, 2025):

到底是8080还是8000 ...

<!-- gh-comment-id:2687054720 --> @therestlife commented on GitHub (Feb 27, 2025): 到底是8080还是8000 ...
Author
Owner

@Binyun-Z commented on GitHub (Feb 28, 2025):

issues 417

<!-- gh-comment-id:2689490893 --> @Binyun-Z commented on GitHub (Feb 28, 2025): issues 417
Author
Owner

@ErvinXie commented on GitHub (Dec 11, 2025):

This issue has been automatically closed due to inactivity for 60 days.

If you believe this issue is still relevant, please feel free to reopen it with additional information or context.

Thank you for your contribution to KTransformers!


此 issue 因超过 60 天无活动而被自动关闭。

如果您认为此问题仍然存在,请随时重新打开并提供更多信息或上下文。

感谢您对 KTransformers 的贡献!

<!-- gh-comment-id:3639964547 --> @ErvinXie commented on GitHub (Dec 11, 2025): This issue has been automatically closed due to inactivity for 60 days. If you believe this issue is still relevant, please feel free to reopen it with additional information or context. Thank you for your contribution to KTransformers! --- 此 issue 因超过 60 天无活动而被自动关闭。 如果您认为此问题仍然存在,请随时重新打开并提供更多信息或上下文。 感谢您对 KTransformers 的贡献!
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
kvcache-ai/ktransformers#518
No description provided.