魔塔免费部署的模型访问时一直超时是什么问题,如何解决?

部署状态:image.png

测试1

  • 测试代码1:
from openai import OpenAI

client = OpenAI(
    base_url='https://ms-ens-d8814b5f-527a.api-inference.modelscope.cn/v1',
    api_key='xxxx', # ModelScope Token
)

response = client.chat.completions.create(
    model='xiangxinai/OpenGuardrails-Text-2510', # ModelScope Model-Id
    messages=[
        {
            'role': 'system',
            'content': 'You are a helpful assistant.'
        },
        {
            'role': 'user',
            'content': '你好?'
        }
    ],
    stream=True
)

for chunk in response:
    if chunk.choices:
        print(chunk.choices[0].delta.content, end='', flush=True)
  • 测试结果1:
(venv) root@deepseek:~/src/openguardrails/code_analysis_docs# python text_model_test.py 
Traceback (most recent call last):
  File "/root/src/openguardrails/code_analysis_docs/text_model_test.py", line 8, in <module>
    response = client.chat.completions.create(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/src/openguardrails/code_analysis_docs/venv/lib/python3.12/site-packages/openai/_utils/_utils.py", line 286, in wrapper
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/root/src/openguardrails/code_analysis_docs/venv/lib/python3.12/site-packages/openai/resources/chat/completions/completions.py", line 1192, in create
    return self._post(
           ^^^^^^^^^^^
  File "/root/src/openguardrails/code_analysis_docs/venv/lib/python3.12/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 "/root/src/openguardrails/code_analysis_docs/venv/lib/python3.12/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': {'code': 400, 'message': 'Conversation roles must alternate user/assistant/user/assistant/... Conversation roles must alternate user/assistant/user/assistant/...', 'param': None, 'type': 'BadRequestError'}, 'request_id': 'ab3095c0-9a43-4bcd-bd34-f34c8b1c1f5d'}

测试2

  • 测试代码2:
#!/usr/bin/env python3
"""简单测试 ModelScope API 的消息格式要求"""

from openai import OpenAI
import httpx

TIMEOUT=60.0  # HTTP超时
print("=" * 60)
print("ModelScope API 测试")
print("=" * 60)
print()

# 创建带超时设置的客户端
client = OpenAI(
    base_url='https://ms-ens-d8814b5f-527a.api-inference.modelscope.cn/v1',
    api_key='xxxx',
    timeout=TIMEOUT,  
    http_client=httpx.Client(timeout=TIMEOUT)  # 使用 httpx 客户端设置超时
)

print("测试1: 简单 user 消息")
print("-" * 60)
try:
    response = client.chat.completions.create(
        model='xiangxinai/OpenGuardrails-Text-2510',
        messages=[{"role": "user", "content": "你好"}],
        stream=False
    )
    print(f"✓ 成功")
    print(f"  响应: {response.choices[0].message.content[:100]}")
except Exception as e:
    print(f"✗ 失败: {type(e).__name__}")
    if "504" in str(e):
        print("  原因: 网关超时,可能是服务正在启动或负载过高")
    else:
        print(f"  详情: {str(e)[:200]}")

print("\n测试2: user -> assistant -> user 交替")
print("-" * 60)
try:
    response = client.chat.completions.create(
        model='xiangxinai/OpenGuardrails-Text-2510',
        messages=[
            {"role": "user", "content": "你好"},
            {"role": "assistant", "content": "你好!有什么可以帮助你的吗?"},
            {"role": "user", "content": "介绍一下你自己"}
        ],
        stream=False
    )
    print(f"✓ 成功")
    print(f"  响应: {response.choices[0].message.content[:100]}")
except Exception as e:
    print(f"✗ 失败: {type(e).__name__}")
    if "504" in str(e):
        print("  原因: 网关超时,可能是服务正在启动或负载过高")
    else:
        print(f"  详情: {str(e)[:200]}")

print("\n测试3: system -> user (预期失败)")
print("-" * 60)
try:
    response = client.chat.completions.create(
        model='xiangxinai/OpenGuardrails-Text-2510',
        messages=[
            {"role": "system", "content": "You are a helpful assistant."},
            {"role": "user", "content": "你好"}
        ],
        stream=False
    )
    print(f"✓ 意外成功: {response.choices[0].message.content[:100]}")
except Exception as e:
    print(f"✓ 预期失败: {type(e).__name__}")
    if "400" in str(e):
        print("  原因: ModelScope API 不支持 system 角色")
    else:
        print(f"  详情: {str(e)[:200]}")

print("\n" + "=" * 60)
print("测试完成")
print("=" * 60)
  • 测试结果2:

(venv) root@deepseek:~/src/openguardrails/code_analysis_docs# python3 test_simple.py 
============================================================
ModelScope API 测试
============================================================

测试1: 简单 user 消息
------------------------------------------------------------
✗ 失败: APITimeoutError
  详情: Request timed out.

测试2: user -> assistant -> user 交替
------------------------------------------------------------
✗ 失败: APITimeoutError
  详情: Request timed out.

测试3: system -> user (预期失败)
------------------------------------------------------------
✓ 预期失败: BadRequestError
  原因: ModelScope API 不支持 system 角色

============================================================
测试完成
============================================================

展开
收起
游客f6zvqcx4a77is 2026-01-13 11:16:46 27 分享 版权
0 条回答
写回答
取消 提交回答

ModelScope旨在打造下一代开源的模型即服务共享平台,为泛AI开发者提供灵活、易用、低成本的一站式模型服务产品,让模型应用更简单!欢迎加入技术交流群:微信公众号:魔搭ModelScope社区,钉钉群号:44837352

还有其他疑问?
咨询AI助理