Bug: Incorrect completion_tokens calculation when using Gemini 2.5 Pro model provider causing billing anomaly #489

Closed
opened 2026-02-16 10:19:33 -05:00 by yindo · 1 comment
Owner

Originally created by @li377650260 on GitHub (Jul 27, 2025).

Self Checks

  • I have read the Contributing Guide and Language Policy.
  • This is only for bug report, if you would like to ask a question, please head to Discussions.
  • I have searched for existing issues search for existing issues, including closed ones.
  • I confirm that I am using English to submit this report, otherwise it will be closed.
  • 【中文用户 & Non English User】请使用英语提交,否则会被关闭 :)
  • Please do not modify this template :) and fill in all the required fields.

Dify version

1.5.0

Cloud or Self Hosted

Self Hosted (Docker)

Steps to reproduce

Self Checks

  • I have searched for existing issues, including closed ones
  • I confirm that I am using English to submit this report

Dify version

[1.5.0]

Self Hosted

[Self Hosted(Docker)]

Steps to reproduce

  1. Configure Gemini 2.5 Pro as model provider in Dify
  2. Create a workflow/chat application
  3. Send a request that generates ~3000 Chinese characters
  4. Check the usage statistics in the response

Additional Context

{
"text": "好的,作为一名在中国法下拥有20年证券法执业经验的资深公司法律师,我将根据您的查询提供一份结构化的法律研究摘要。\n\n***\n\n法律研究摘要\n\n致: 客户\n发件人: [资深公司法律师]\n日期: 2023年10月27日\n事由: 关于持有《市场准入负面清单》禁止类牌照的A股上市公司申请H股上市的可行性及论证路径分析\n\n免责声明: 本摘要仅基于您提供的信息和截至本摘要出具之日可公开获取的法律法规进行分析,旨在提供一般性的法律信息和研究参考,不构成正式的法律意见。具体操作前,您应聘请专业律师团队,并就您的具体情况进行详尽的尽职调查和法律论证。\n\n---\n\n### 1. 核心问题分析 (Core Issue Analysis)\n\n本案的核心法律问题是:一家已在A股上市的公司,其部分业务或持有的牌照(许可证)落入中国《市场准入负面清单(2022年版)》的“禁止准入类”范畴,该公司是否仍具备在中国证券监督管理委员会(CSRC)完成境外发行上市备案并成功在香港联合交易所(HKEX)上市的资格。\n\n问题的关键在于如何协调以下两个层面的监管要求:\n1. 中国内地监管要求: 根据2023年3月31日生效的境外上市备案新规,企业境外上市不得违反《市场准入负面清单》的规定。\n2. 香港上市地监管要求: HKEX要求上市公司必须在其主要业务所在司法管辖区(即中国内地)合法合规运营。\n\n因此,论证的核心在于证明该公司的H股上市计划在“实质上”并未违反中国关于市场准入的核心监管精神,并且其业务模式对香港的公众投资者而言是可持续且风险可控的。\n\n### 2. 适用法律法规汇编 (Compilation of Applicable Laws and Regulations)\n\n以下是中国法下与此问题最相关的法律法规及其关键条款:\n\n| 法律法规名称及条款 | 条款内容摘要及解释 |\n| :--- | :--- |\n| 《境内企业境外发行证券和上市管理试行办法》(证监会令第209号)第八条
[生效日期: 2023年3月31日] | 核心条款: “境内企业境外发行上市,应当遵守法律、行政法规和国家有关规定,不得危害国家安全,损害社会公共利益……存在下列情形之一的,不得境外发行上市:……(四)境内企业、控股股东、实际控制人最近3年内是否存在贪污、贿赂、侵占财产、挪用财产或者破坏社会主义市场经济秩序的刑事犯罪,或者因涉嫌犯罪、重大违法违规正在被立案调查……;(五)董事、监事、高级管理人员最近3年内是否受到行政处罚且情节严重,或者因涉嫌犯罪、重大违法违规正在被立案调查……;(六)根据法律、行政法规和国家有关规定,本次发行上市的行业、领域等涉及《市场准入负面清单》禁止投资准入的;(七)其他对国家安全、社会公共利益造成重大不利影响的情形。”
解释: 此条是CSRC进行备案审查的直接法律依据。第六款明确禁止涉及《负面清单》禁止类的企业进行境外发行上市。这是本次查询面临的最主要法律障碍。 |\n| 《市场准入负面清单(2022年版)》
[生效日期: 2022年3月26日] | 核心条款: 该清单分为“禁止准入类”和“许可准入类”。“禁止准入类”事项,市场主体不得进入,行政机关不予审批、核准,不得办理有关手续。
解释: 需要精确识别公司所持牌照对应的业务是否严格落入“禁止准入类”的具体条目。清单的措辞通常非常具体,例如“禁止新建……”或“禁止从事……”。论证的关键在于分析公司现有业务是否属于清单发布前已合法存续的“存量业务”,以及H股上市本身是否构成清单所禁止的“新建”或“新增投资”行为。 |\n| 《中华人民共和国公司法》(2023年修订)第一百五十四条
[生效日期: 2024年7月1日] | 核心条款: “股份有限公司经国务院证券监督管理机构注册,可以公开发行股份……公司在境内发行新股,经国务院证券监督管理机构注册后,还可以在境外公开发行股份。”
解释: 此条款为股份有限公司在境内外发行股份提供了基础法律依据。虽然新法即将生效,但其原则与现行法一致,确认了A股公司再赴境外上市的法律路径。这表明公司法本身不构成障碍,障碍在于证券监管层面的具体规定。 |\n| 《中华人民共和国证券法》(2019年修订)第二条第四款
[生效日期: 2020年3月1日] | 核心条款: “在中华人民共和国境外的证券发行和交易活动,扰乱中华人民共和国境内市场秩序,损害境内投资者合法权益的,依照本法有关规定处理并追究法律责任。”
解释: 此条款确立了中国证券监管的“长臂管辖权”原则,是CSRC出台境外上市备案管理办法的上位法依据之一。它要求所有境外上市活动必须符合境内法律和市场秩序。 |\n\n法律适用过渡说明:\n自2023年3月31日起,中国企业境外上市已从过去的CSRC“核准制”全面转为“备案制”。《境内企业境外发行证券和上市管理试行办法》是当前所有境外上市(包括H股)必须遵循的核心法规,取代了过去的《国务院关于股份有限公司境外募集股份及上市的特别规定》等旧规。因此,任何分析都必须基于备案制的新框架。\n\n### 3. 相关司法解释、案例与实践指引 (Related Judicial Interpretations, Case Law, and Practical Guidelines)\n\n由于备案制实施时间尚短,目前尚无正式的司法解释或指导性案例。但我们可以从监管机构的指引和近期市场实践中获得重要参考。\n\n1. CSRC官方问答与指引:\n * 来源: 中国证监会官网发布的《监管规则适用指引——境外发行上市类》及相关新闻发布会问答。\n * 核心精神: CSRC强调“实质重于形式”的穿透式监管原则。对于负面清单问题,监管机构关注的是境外上市行为本身是否会导致对禁止类领域的“新增投资”或“变相规避”。如果H股发行所募集的资金明确承诺不会投向负面清单禁止的业务领域,并且该业务板块在上市主体中的重要性有限,可能会存在一定的解释空间。\n * 链接: 中国证券监督管理委员会\n\n2. 市场先例分析(假设性):\n * 案例: 备案制以来,尚无公开信息显示有明确持有“禁止类”牌照的公司成功完成备案。但可以看到,一些业务涉及《负面清单》“许可准入类”或处于灰色地带的公司,在备案文件中进行了大量解释和承诺。\n * 论证趋势: 这类公司通常会采取以下策略:\n * 业务剥离/重组: 在申报前,将明确属于禁止类的业务或资产从上市主体中剥离出去。这是最彻底、最稳妥的解决方案。\n * 承诺函: 在法律意见书和备案报告中,由公司、控股股东和实际控制人出具书面承诺,保证H股募集资金不会用于负- 面清单禁止的业务,且未来不会扩大该业务的规模。\n * 重要性水平论证: 论证该禁止类业务占公司总资产、收入、利润的比例极低,不构成公司的核心业务,其存续与否不影响上市主体的持续经营能力。\n\n3. 香港联交所的立场 (HKEX Position):\n * 指引: HKEX《上市规则》要求申请人必须遵守其注册地及主要业务所在地的法律法规。对于中国内地企业,一份无保留意见的“中国法律意见书”是上市申请的必备文件。\n * 实践: 如果中国律师在法律意见书中对负面清单问题出具了保留意见,或明确指出存在重大法律障碍,HKEX将极难批准其上市申请。港交所的核心关注点是“上市适格性(Suitability for Listing)”,一个在中国内地存在根本性法律合规瑕疵的公司,通常被认为不具备上市适格性。\n\n### 4. 法律风险分析评估 (Legal Risk Analysis Assessment)\n\n基于上述分析,直接以现有架构申请H股上市面临以下重大法律风险:\n\n* CSRC备案失败风险 (高): 这是最主要的风险。《管理试行办法》第八条第六款的规定是明确的。除非能提出极具说服力的论证,否则CSRC很可能以不符合备案要求为由,不予备案或要求公司先行整改。\n* HKEX上市申请被拒风险 (高): 即使侥幸通过CSRC备案(可能性极低),在HKEX审核阶段,该合规问题也将成为焦点。保荐人和香港律师必须在招股书中作出重大风险提示,HKEX上市委员会可能基于合规风险和投资者保护的考虑,拒绝其上市申请。\n* 存续经营的合规风险 (中-高): 即使成功上市,该“禁止类”业务的合法存续性依然存疑。未来可能面临国内监管部门的清理整顿,要求公司关停或剥离该业务,从而对上市公司造成重大不利影响。\n* 信息披露及投资者诉讼风险 (中): 如果在招股书中对该风险披露不充分,一旦风险爆发,公司及董事可能面临来自投资者的虚假陈述诉讼。\n\n### 5. 实践建议 (Practical Suggestions)\n\n面对当前困境,建议贵公司采取以下分步走的审慎策略:\n\n1. 进行一次彻底的内部法律诊断:\n * 聘请经验丰富的中国律师团队,精确界定公司所持牌照/业务与《负面清单(2022年版)》禁止类条目的对应关系。分析该条目的立法原意,判断公司的存量业务是否绝对属于被禁止的范畴。\n * 核心论证方向:“存量”与“增量”之辩。论证H股上市是对公司现有股东结构的调整和融资,而非在禁止领域进行“新增投资”或“扩大经营”。\n\n2. 制定业务重组方案 (核心方案):\n * 方案A (首选方案 - 剥离): 将持有禁止类牌照的子公司或相关业务/资产,通过股权转让或资产出售等方式,完全剥离出拟上市体系。确保H股上市主体的主营业务完全符合中国法律法规,这是最稳妥、成功率最高的路径。\n * 方案B (次选方案 - 隔离与承诺): 如果剥离在商业上不可行,可探讨将该业务“有效隔离”。例如,将其置于一个非并表的关联实体中,并由上市公司、控股股东出具强有力的、不可撤销的承诺,保证:\n * H股募集资金100%不用于该业务。\n * 上市公司与该业务之间建立防火墙,避免资金、人员、技术混同。\n * 未来不再扩大该业务规模,并会在适当时机予以处置。\n * 注意: 此方案成功率远低于方案A,需要与监管机构进行大量沟通。\n\n3. 与监管机构进行预沟通:\n * 在提交正式备案申请前,通过保荐机构和律师团队,与CSRC国际合作部进行非正式的预沟通(Pre-communication)。坦诚地说明情况,展示解决方案(如业务剥离计划),试探监管机构的态度。这是管理不确定性的关键一步。\n\n4. 同步咨询香港法律顾问:\n * 尽早让香港的保荐人和律师参与进来,评估不同方案在HKEX审核中的可接受程度,确保中国法律意见书的结论能够满足港交所对上市适格性的要求。\n\n总结:\n总而言之,A股上市公司持有《市场准入负面清单》禁止类牌照,直接申请H股上市的法律障碍是明确且重大的。理论上的论证空间非常狭窄,实践中几乎不可行。最现实、最可行的路径是通过业务重组,将该禁止类业务彻底从上市体系中剥离出去,从而消除H股上市的根本性法律障碍。\n\n---\n参考资料来源:\n1. 中国证券监督管理委员会官网: http://www.csrc.gov.cn\n2. 中国政府网(用于查阅法规): http://www.gov.cn\n3. 香港交易及结算所有限公司官网: https://www.hkex.com.hk",
"usage": {
"prompt_tokens": 1201,
"prompt_unit_price": "1.25",
"prompt_price_unit": "0.000001",
"prompt_price": "0.0015013",
"completion_tokens": 188223,
"completion_unit_price": "10",
"completion_price_unit": "0.000001",
"completion_price": "1.88223",
"total_tokens": 189424,
"total_price": "1.8837313",
"currency": "USD",
"latency": 67.41268330113962
},
"finish_reason": "STOP",
"files": []
}
Image

Image

✔️ Expected Behavior

Expected Behavior

completion_tokens should be approximately 3000-4000 for ~3000 Chinese characters output

Actual Behavior

Actual Behavior

completion_tokens shows 188,223 (60x higher than expected), causing severe billing overcharge

Originally created by @li377650260 on GitHub (Jul 27, 2025). ### Self Checks - [x] I have read the [Contributing Guide](https://github.com/langgenius/dify/blob/main/CONTRIBUTING.md) and [Language Policy](https://github.com/langgenius/dify/issues/1542). - [x] This is only for bug report, if you would like to ask a question, please head to [Discussions](https://github.com/langgenius/dify/discussions/categories/general). - [x] I have searched for existing issues [search for existing issues](https://github.com/langgenius/dify/issues), including closed ones. - [x] I confirm that I am using English to submit this report, otherwise it will be closed. - [x] 【中文用户 & Non English User】请使用英语提交,否则会被关闭 :) - [x] Please do not modify this template :) and fill in all the required fields. ### Dify version 1.5.0 ### Cloud or Self Hosted Self Hosted (Docker) ### Steps to reproduce ### Self Checks - [x] I have searched for existing issues, including closed ones - [x] I confirm that I am using English to submit this report ### Dify version [1.5.0] ### Self Hosted [Self Hosted(Docker)] ### Steps to reproduce 1. Configure Gemini 2.5 Pro as model provider in Dify 2. Create a workflow/chat application 3. Send a request that generates ~3000 Chinese characters 4. Check the usage statistics in the response ### Additional Context { "text": "好的,作为一名在中国法下拥有20年证券法执业经验的资深公司法律师,我将根据您的查询提供一份结构化的法律研究摘要。\n\n***\n\n**法律研究摘要**\n\n**致:** 客户\n**发件人:** [资深公司法律师]\n**日期:** 2023年10月27日\n**事由:** 关于持有《市场准入负面清单》禁止类牌照的A股上市公司申请H股上市的可行性及论证路径分析\n\n**免责声明:** 本摘要仅基于您提供的信息和截至本摘要出具之日可公开获取的法律法规进行分析,旨在提供一般性的法律信息和研究参考,不构成正式的法律意见。具体操作前,您应聘请专业律师团队,并就您的具体情况进行详尽的尽职调查和法律论证。\n\n---\n\n### 1. 核心问题分析 (Core Issue Analysis)\n\n本案的核心法律问题是:一家已在A股上市的公司,其部分业务或持有的牌照(许可证)落入中国《市场准入负面清单(2022年版)》的“禁止准入类”范畴,该公司是否仍具备在中国证券监督管理委员会(CSRC)完成境外发行上市备案并成功在香港联合交易所(HKEX)上市的资格。\n\n问题的关键在于如何协调以下两个层面的监管要求:\n1. **中国内地监管要求**: 根据2023年3月31日生效的境外上市备案新规,企业境外上市不得违反《市场准入负面清单》的规定。\n2. **香港上市地监管要求**: HKEX要求上市公司必须在其主要业务所在司法管辖区(即中国内地)合法合规运营。\n\n因此,论证的核心在于证明该公司的H股上市计划在“实质上”并未违反中国关于市场准入的核心监管精神,并且其业务模式对香港的公众投资者而言是可持续且风险可控的。\n\n### 2. 适用法律法规汇编 (Compilation of Applicable Laws and Regulations)\n\n以下是中国法下与此问题最相关的法律法规及其关键条款:\n\n| **法律法规名称及条款** | **条款内容摘要及解释** |\n| :--- | :--- |\n| **《境内企业境外发行证券和上市管理试行办法》(证监会令第209号)第八条** <br> **[生效日期: 2023年3月31日]** | **核心条款**: “境内企业境外发行上市,应当遵守法律、行政法规和国家有关规定,不得危害国家安全,损害社会公共利益……存在下列情形之一的,不得境外发行上市:……(四)境内企业、控股股东、实际控制人最近3年内是否存在贪污、贿赂、侵占财产、挪用财产或者破坏社会主义市场经济秩序的刑事犯罪,或者因涉嫌犯罪、重大违法违规正在被立案调查……;(五)董事、监事、高级管理人员最近3年内是否受到行政处罚且情节严重,或者因涉嫌犯罪、重大违法违规正在被立案调查……;(六)**根据法律、行政法规和国家有关规定,本次发行上市的行业、领域等涉及《市场准入负面清单》禁止投资准入的**;(七)其他对国家安全、社会公共利益造成重大不利影响的情形。” <br> **解释**: 此条是CSRC进行备案审查的直接法律依据。第六款明确禁止涉及《负面清单》禁止类的企业进行境外发行上市。这是本次查询面临的最主要法律障碍。 |\n| **《市场准入负面清单(2022年版)》** <br> **[生效日期: 2022年3月26日]** | **核心条款**: 该清单分为“禁止准入类”和“许可准入类”。“禁止准入类”事项,市场主体不得进入,行政机关不予审批、核准,不得办理有关手续。 <br> **解释**: 需要精确识别公司所持牌照对应的业务是否严格落入“禁止准入类”的具体条目。清单的措辞通常非常具体,例如“禁止新建……”或“禁止从事……”。论证的关键在于分析公司现有业务是否属于清单发布前已合法存续的“存量业务”,以及H股上市本身是否构成清单所禁止的“新建”或“新增投资”行为。 |\n| **《中华人民共和国公司法》(2023年修订)第一百五十四条** <br> **[生效日期: 2024年7月1日]** | **核心条款**: “股份有限公司经国务院证券监督管理机构注册,可以公开发行股份……公司在境内发行新股,经国务院证券监督管理机构注册后,还可以在境外公开发行股份。” <br> **解释**: 此条款为股份有限公司在境内外发行股份提供了基础法律依据。虽然新法即将生效,但其原则与现行法一致,确认了A股公司再赴境外上市的法律路径。这表明公司法本身不构成障碍,障碍在于证券监管层面的具体规定。 |\n| **《中华人民共和国证券法》(2019年修订)第二条第四款** <br> **[生效日期: 2020年3月1日]** | **核心条款**: “在中华人民共和国境外的证券发行和交易活动,扰乱中华人民共和国境内市场秩序,损害境内投资者合法权益的,依照本法有关规定处理并追究法律责任。” <br> **解释**: 此条款确立了中国证券监管的“长臂管辖权”原则,是CSRC出台境外上市备案管理办法的上位法依据之一。它要求所有境外上市活动必须符合境内法律和市场秩序。 |\n\n**法律适用过渡说明**:\n自2023年3月31日起,中国企业境外上市已从过去的CSRC“核准制”全面转为“备案制”。《境内企业境外发行证券和上市管理试行办法》是当前所有境外上市(包括H股)必须遵循的核心法规,取代了过去的《国务院关于股份有限公司境外募集股份及上市的特别规定》等旧规。因此,任何分析都必须基于备案制的新框架。\n\n### 3. 相关司法解释、案例与实践指引 (Related Judicial Interpretations, Case Law, and Practical Guidelines)\n\n由于备案制实施时间尚短,目前尚无正式的司法解释或指导性案例。但我们可以从监管机构的指引和近期市场实践中获得重要参考。\n\n1. **CSRC官方问答与指引**:\n * **来源**: 中国证监会官网发布的《监管规则适用指引——境外发行上市类》及相关新闻发布会问答。\n * **核心精神**: CSRC强调“实质重于形式”的穿透式监管原则。对于负面清单问题,监管机构关注的是境外上市行为本身是否会导致对禁止类领域的“新增投资”或“变相规避”。如果H股发行所募集的资金明确承诺不会投向负面清单禁止的业务领域,并且该业务板块在上市主体中的重要性有限,可能会存在一定的解释空间。\n * **链接**: [中国证券监督管理委员会](http://www.csrc.gov.cn/csrc/c100028/common_list.shtml)\n\n2. **市场先例分析(假设性)**:\n * **案例**: 备案制以来,尚无公开信息显示有明确持有“禁止类”牌照的公司成功完成备案。但可以看到,一些业务涉及《负面清单》“许可准入类”或处于灰色地带的公司,在备案文件中进行了大量解释和承诺。\n * **论证趋势**: 这类公司通常会采取以下策略:\n * **业务剥离/重组**: 在申报前,将明确属于禁止类的业务或资产从上市主体中剥离出去。这是最彻底、最稳妥的解决方案。\n * **承诺函**: 在法律意见书和备案报告中,由公司、控股股东和实际控制人出具书面承诺,保证H股募集资金不会用于负- 面清单禁止的业务,且未来不会扩大该业务的规模。\n * **重要性水平论证**: 论证该禁止类业务占公司总资产、收入、利润的比例极低,不构成公司的核心业务,其存续与否不影响上市主体的持续经营能力。\n\n3. **香港联交所的立场 (HKEX Position)**:\n * **指引**: HKEX《上市规则》要求申请人必须遵守其注册地及主要业务所在地的法律法规。对于中国内地企业,一份无保留意见的“中国法律意见书”是上市申请的必备文件。\n * **实践**: 如果中国律师在法律意见书中对负面清单问题出具了保留意见,或明确指出存在重大法律障碍,HKEX将极难批准其上市申请。港交所的核心关注点是“上市适格性(Suitability for Listing)”,一个在中国内地存在根本性法律合规瑕疵的公司,通常被认为不具备上市适格性。\n\n### 4. 法律风险分析评估 (Legal Risk Analysis Assessment)\n\n基于上述分析,直接以现有架构申请H股上市面临以下重大法律风险:\n\n* **CSRC备案失败风险 (高)**: 这是最主要的风险。《管理试行办法》第八条第六款的规定是明确的。除非能提出极具说服力的论证,否则CSRC很可能以不符合备案要求为由,不予备案或要求公司先行整改。\n* **HKEX上市申请被拒风险 (高)**: 即使侥幸通过CSRC备案(可能性极低),在HKEX审核阶段,该合规问题也将成为焦点。保荐人和香港律师必须在招股书中作出重大风险提示,HKEX上市委员会可能基于合规风险和投资者保护的考虑,拒绝其上市申请。\n* **存续经营的合规风险 (中-高)**: 即使成功上市,该“禁止类”业务的合法存续性依然存疑。未来可能面临国内监管部门的清理整顿,要求公司关停或剥离该业务,从而对上市公司造成重大不利影响。\n* **信息披露及投资者诉讼风险 (中)**: 如果在招股书中对该风险披露不充分,一旦风险爆发,公司及董事可能面临来自投资者的虚假陈述诉讼。\n\n### 5. 实践建议 (Practical Suggestions)\n\n面对当前困境,建议贵公司采取以下分步走的审慎策略:\n\n1. **进行一次彻底的内部法律诊断**:\n * 聘请经验丰富的中国律师团队,精确界定公司所持牌照/业务与《负面清单(2022年版)》禁止类条目的对应关系。分析该条目的立法原意,判断公司的存量业务是否绝对属于被禁止的范畴。\n * 核心论证方向:**“存量”与“增量”之辩**。论证H股上市是对公司现有股东结构的调整和融资,而非在禁止领域进行“新增投资”或“扩大经营”。\n\n2. **制定业务重组方案 (核心方案)**:\n * **方案A (首选方案 - 剥离)**: 将持有禁止类牌照的子公司或相关业务/资产,通过股权转让或资产出售等方式,完全剥离出拟上市体系。确保H股上市主体的主营业务完全符合中国法律法规,这是最稳妥、成功率最高的路径。\n * **方案B (次选方案 - 隔离与承诺)**: 如果剥离在商业上不可行,可探讨将该业务“有效隔离”。例如,将其置于一个非并表的关联实体中,并由上市公司、控股股东出具强有力的、不可撤销的承诺,保证:\n * H股募集资金100%不用于该业务。\n * 上市公司与该业务之间建立防火墙,避免资金、人员、技术混同。\n * 未来不再扩大该业务规模,并会在适当时机予以处置。\n * **注意**: 此方案成功率远低于方案A,需要与监管机构进行大量沟通。\n\n3. **与监管机构进行预沟通**:\n * 在提交正式备案申请前,通过保荐机构和律师团队,与CSRC国际合作部进行非正式的预沟通(Pre-communication)。坦诚地说明情况,展示解决方案(如业务剥离计划),试探监管机构的态度。这是管理不确定性的关键一步。\n\n4. **同步咨询香港法律顾问**:\n * 尽早让香港的保荐人和律师参与进来,评估不同方案在HKEX审核中的可接受程度,确保中国法律意见书的结论能够满足港交所对上市适格性的要求。\n\n**总结**:\n总而言之,A股上市公司持有《市场准入负面清单》禁止类牌照,直接申请H股上市的法律障碍是明确且重大的。理论上的论证空间非常狭窄,实践中几乎不可行。**最现实、最可行的路径是通过业务重组,将该禁止类业务彻底从上市体系中剥离出去**,从而消除H股上市的根本性法律障碍。\n\n---\n**参考资料来源**:\n1. 中国证券监督管理委员会官网: [http://www.csrc.gov.cn](http://www.csrc.gov.cn)\n2. 中国政府网(用于查阅法规): [http://www.gov.cn](http://www.gov.cn)\n3. 香港交易及结算所有限公司官网: [https://www.hkex.com.hk](https://www.hkex.com.hk)", "usage": { "prompt_tokens": 1201, "prompt_unit_price": "1.25", "prompt_price_unit": "0.000001", "prompt_price": "0.0015013", "completion_tokens": 188223, "completion_unit_price": "10", "completion_price_unit": "0.000001", "completion_price": "1.88223", "total_tokens": 189424, "total_price": "1.8837313", "currency": "USD", "latency": 67.41268330113962 }, "finish_reason": "STOP", "files": [] } <img width="1867" height="1968" alt="Image" src="https://github.com/user-attachments/assets/88dffed0-f199-4116-936a-0db806547e3f" /> <img width="1908" height="1939" alt="Image" src="https://github.com/user-attachments/assets/c4f0af98-da7b-4e2d-ac92-2e42e5c9a5e3" /> ### ✔️ Expected Behavior ### Expected Behavior completion_tokens should be approximately 3000-4000 for ~3000 Chinese characters output ### ❌ Actual Behavior ### Actual Behavior completion_tokens shows 188,223 (60x higher than expected), causing severe billing overcharge
yindo added the stale label 2026-02-16 10:19:33 -05:00
yindo closed this issue 2026-02-16 10:19:33 -05:00
Author
Owner

@dosubot[bot] commented on GitHub (Jul 27, 2025):

Hi @li377650260! I'm Dosu and I’m helping the dify team.

This bug is caused by how Dify handles token counting for Gemini 2.5 Pro when the Google Vertex AI client is unavailable or misconfigured. In these cases, Dify falls back to a generic method (like tiktoken or character count), which is not compatible with Gemini models and can massively overcount tokens—especially for Chinese or non-English output. This explains the inflated completion_tokens and billing anomaly you observed.

The relevant logic is in api/core/model_runtime/model_providers/gemini/tokenizer.py. The fallback should ideally use a conservative, length-based estimate (for example, 1 token per 4 characters/bytes) and log a warning if it can't use the official Google method. Right now, the fallback can overcount by an order of magnitude or more, as you've seen.

There are no official fixes or workarounds in the documentation or recent pull requests. As a temporary mitigation, you can patch the fallback logic in the Gemini tokenizer to use a much lower estimate (e.g., len(text) // 4) and ensure a warning is logged when this happens. This will prevent severe overbilling if the Google API is unavailable. For long-term reliability, monitor for upstream fixes and ensure your deployment always has access to the official Google token counting endpoint.

Related issue reports and technical details:

To reply, just mention @dosu.


How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other  Chat with Dosu Join Discord Share on X

@dosubot[bot] commented on GitHub (Jul 27, 2025): <!-- Greeting --> Hi @li377650260! I'm [Dosu](https://go.dosu.dev/dosubot) and I’m helping the dify team. <!-- Answer --> This bug is caused by how Dify handles token counting for Gemini 2.5 Pro when the Google Vertex AI client is unavailable or misconfigured. In these cases, Dify falls back to a generic method (like tiktoken or character count), which is not compatible with Gemini models and can massively overcount tokens—especially for Chinese or non-English output. This explains the inflated `completion_tokens` and billing anomaly you observed. The relevant logic is in `api/core/model_runtime/model_providers/gemini/tokenizer.py`. The fallback should ideally use a conservative, length-based estimate (for example, 1 token per 4 characters/bytes) and log a warning if it can't use the official Google method. Right now, the fallback can overcount by an order of magnitude or more, as you've seen. There are no official fixes or workarounds in the documentation or recent pull requests. As a temporary mitigation, you can patch the fallback logic in the Gemini tokenizer to use a much lower estimate (e.g., `len(text) // 4`) and ensure a warning is logged when this happens. This will prevent severe overbilling if the Google API is unavailable. For long-term reliability, monitor for upstream fixes and ensure your deployment always has access to the official Google token counting endpoint. Related issue reports and technical details: - [Previous Gemini token counting bug](https://github.com/langgenius/dify/issues/18334) - [Gemini plugin and fallback logic discussion](https://github.com/langgenius/dify/issues/18834) <!-- Dosu Comment Footer --> *To reply, just mention [@dosu](https://go.dosu.dev/dosubot).* --- <sup>How did I do? [Good](https://app.dosu.dev/response-feedback/932514af-3b0b-4f89-914c-5fe142683405?feedback_type=great_response) | [Irrelevant](https://app.dosu.dev/response-feedback/932514af-3b0b-4f89-914c-5fe142683405?feedback_type=irrelevant_answer) | [Incorrect](https://app.dosu.dev/response-feedback/932514af-3b0b-4f89-914c-5fe142683405?feedback_type=incorrect_sources) | [Verbose](https://app.dosu.dev/response-feedback/932514af-3b0b-4f89-914c-5fe142683405?feedback_type=too_verbose) | [Hallucination](https://app.dosu.dev/response-feedback/932514af-3b0b-4f89-914c-5fe142683405?feedback_type=hallucination) | [Report 🐛](https://app.dosu.dev/response-feedback/932514af-3b0b-4f89-914c-5fe142683405?feedback_type=bug_report) | [Other](https://app.dosu.dev/response-feedback/932514af-3b0b-4f89-914c-5fe142683405?feedback_type=other)</sup>&nbsp;&nbsp;[![Chat with Dosu](https://dosu.dev/dosu-chat-badge.svg)](https://app.dosu.dev/6088a4f4-073a-43f3-b3d4-4f06fb0c05a0/ask?utm_source=github)&nbsp;[![Join Discord](https://img.shields.io/badge/join-5865F2?logo=discord&logoColor=white&label=)](https://go.dosu.dev/discord-bot)&nbsp;[![Share on X](https://img.shields.io/badge/X-share-black)](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/langgenius/dify/issues/23014)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify-official-plugins#489