用anthropic的SDK查model字段能验Claude真假吗?

RT。
直接拿anthropic的官方SDK发请求,看返回的model字段,这样是不是也能分辨出是不是真的Claude?

我试了试站里某个公益站,返回的model居然是ZhipuAI/GLM-5.1。绷不住了。

代码在这:

from anthropic import Anthropic

client = Anthropic(
    api_key=os.getenv("ANTHROPIC_API_KEY"),
    base_url=os.getenv("ANTHROPIC_BASE_URL"),
)
model = "claude-opus-4-7"

def run_prompt():
    response = client.messages.create(
        model=model,
        max_tokens=1000,
        messages=messages,
        tools=[get_current_datetime_schema],
    )

    return response

返回结果是这样的,注意看model那里:

Message(id='chatcmpl-86f33302-17dd-9ac5-8013-c627a62a25cb', container=None, content=[ToolUseBlock(id='tool-63cdfc8f45dc40728018b425d189a6c3', caller=None, input={'date_format': '%Y-%m-%d %H:%M:%S'}, name='get_current_datetime', type='tool_use')], model='ZhipuAI/GLM-5.1', role='assistant', stop_details=None, stop_reason='tool_use', stop_sequence=None, type='message', usage=Usage(cache_creation=None, cache_creation_input_tokens=0, cache_read_input_tokens=0, inference_geo=None, input_tokens=208, output_tokens=74, server_tool_use=None, service_tier=None, claude_cache_creation_5_m_tokens=0, claude_cache_creation_1_h_tokens=0))

我有个疑问哈,你这个返回结果里的container字段为啥是None啊?这个是SDK默认就这样还是说公益站的API返回有问题?想确认下是不是所有响应都这样。

这方法确实能验,但验出来又怎样呢?公益站本来就用其他模型套皮,你还能去跟人家理论不成?

是不是所有SDK版本都能这么查啊?我不太确定,我用的还是旧版anthropic==0.5.0,返回格式好像不太一样。

mark一下,正好最近在研究怎么鉴别这些套壳API。

去年我也遇到过类似的事儿,当时用某个中转服务调Claude-3,结果返回的model字段是"gpt-4o-mini",直接给我整笑了。后来发现很多公益站都是拿免费额度模型来冒充,成本低嘛。所以现在只用官方API了,虽然贵点但省心。其实还有个办法是测逻辑题,Claude和GLM的思考路径差异挺明显的,不过普通用户谁费那劲啊。

container那个字段普通对话就是None,开了interpreter才有值

container是新加字段,旧版没有就是None

container字段默认就空,跟真假模型没啥关系

看返回tokens的计费方式更准一点

验出来确实没啥用,公益站本来就明牌套皮

旧版返回字段确实少,建议升到最新版再验

旧版SDK字段确实少,建议升级再测

之前测过几家中转,model对得上但回复质量差远了

SDK返回的model字段确实能筛一波,但伪造也不难