V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lyxxxh2
V2EX  ›  OpenAI

官方 deepspeek v3 api 开始阉割了

  •  1
     
  •   lyxxxh2 · 5 天前 · 1831 次点击

    前几天我用 deepspeek 给商品分类。 效果挺不错的。

    接口速度平均 10s,但是不需要速度,分类了一万个商品。

    https://i.imgur.com/Jqbblhl.png

    昨天

    程序运行几分钟就停止了,看打印速度也不对劲。

    https://i.imgur.com/jteKECt.png

    1. 5 秒? 太快了

    2. 分类分数居然有 0.8? 之前我见过最低都是 0.9 。

    我就猜测是阉割了。

    他有时候返回: "content":"```json\n{\"id\":821,\"name\":\"奶茶\",\"score\":0.9}\n```"}

    导致我 json 解析失败。

    于是我给他加上一条:- 禁止返回带```的

    今天

    还是没效果,照样返回 ```json```

    之前一万个商品都返回正常,现在每隔几十个商品就带```json```

    估计分类也没之前准确。

    17 条回复    2025-03-27 09:09:39 +08:00
    shintendo
        1
    shintendo  
       5 天前
    v3 昨天更新了新版本 v3-0324 ,可能有关系
    SantinoSong
        2
    SantinoSong  
       5 天前
    不是阉割了, 是 v3 换版本了
    NoManPlay
        3
    NoManPlay  
       5 天前
    应该是 v3 更新导致的,可以试试深度思考,还是基于之前的 v3 版本
    lyxxxh2
        4
    lyxxxh2  
    OP
       5 天前
    估计就是 v3 更新导致的。
    虽然速度快了,但是我又没要求。
    更新了,对我来说: 变智障了
    iamsad3508
        5
    iamsad3508  
       5 天前 via Android
    Livid
        6
    Livid  
    MOD
       5 天前
    用 vLLM 跑的 qwen 可以指定 JSON 输出格式:

    https://www.v2ex.com/t/1101310
    bjzhou1990
        7
    bjzhou1990  
       5 天前
    API 不是可以指定输出 json 吗,还会出现这种情况吗
    zfjdif
        8
    zfjdif  
       5 天前
    AI 解析日常操作 replace("```json", "").replace("```","")

    顺便推荐一个 python 库: https://github.com/mangiucugna/json_repair 。能够实现 JSON 补全,stream 返回有用。
    zfjdif
        9
    zfjdif  
       5 天前
    @bjzhou1990 还是会遇到,可能官方也是使用 prompt 实现的,保证不了稳定性。。。
    zqqian
        10
    zqqian  
       5 天前
    可以试试这个逻辑:
    ···
    # 尝试解析 JSON 结果
    try:
    # 如果结果包含在 ```json ``` 中,提取内部内容
    if "```json" in translated_text:
    translated_text = translated_text.split("```json")[1].split("```")[0].strip()
    elif "```" in translated_text:
    translated_text = translated_text.split("```")[1].split("```")[0].strip()
    import re

    json_match = re.search(r'```json\s*([\s\S]*?)\s*```|({[\s\S]*})', translated_text)
    if json_match:
    json_str = json_match.group(1) or json_match.group(2)
    result = json.loads(json_str)
    else:
    # 如果没有找到 JSON 格式,尝试直接解析
    result = json.loads(translated_text)
    ···
    akiyamamio
        11
    akiyamamio  
       5 天前
    我还以为依赖 AI 输出 JSON 就我一个呢,原来都在这么干。
    我就是感觉不管是 DeepSeek 还是通义或者别的什么 AI ,就很不稳定,有时候会输出些别的乱七八糟的东西,还以为是我提示词问题或者根本就不应该这么用……
    9hills
        12
    9hills  
       5 天前
    直接用上面提到的 json_repair ,不用搞奇技淫巧
    lyxxxh2
        13
    lyxxxh2  
    OP
       5 天前


    文档有说的,我压根没看。
    lyxxxh2
        14
    lyxxxh2  
    OP
       5 天前
    ```
    5. 返回格式必须严格按照以下 JSON 格式,不要添加任何其他内容:
    {"id": number, "name": "string", "score": number}
    注意:
    - id 必须是数字类型,不能带引号
    - name 必须是字符串类型,必须带引号
    - score 必须是 0-1 之间的小数,表示分类的可能性
    - 不要返回 markdown 格式或其他任何格式
    EOT],
    ['role' => 'user', 'content' => "请为商品\"{$product_name}\"选择最合适的分类"]
    ],
    'temperature' => 0.1
    ]);
    ```


    我这样给的,之前稳定。
    现在不行,估计加`{type:'json_object'}`就行了。
    (temperature => 0.1 curosr 帮我改的... 压根没这个)
    LeeReamond
        15
    LeeReamond  
       5 天前
    插个题外话问个,现在其他家谁家有新版 v3api 可用了嘛?官网的充不了钱呀
    smartruid
        16
    smartruid  
       5 天前
    @LeeReamond 官网 api 慢得很,欧派和火山的 api 比较快。欧派有新版 v3 了, 不过限流比较严格。
    lyxxxh2
        17
    lyxxxh2  
    OP
       4 天前
    @LeeReamond 官网已经可以充钱了啊
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   943 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 21:17 · PVG 05:17 · LAX 14:17 · JFK 17:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.