from zai import ZhipuAiClient
client = ZhipuAiClient(api_key="YOUR API KEY") # 请填写您自己的 API Key
def test_alltools(prompt, fileids):
response = client.chat.completions.create(
model="glm-4-alltools", # 填写需要调用的模型名称
messages=[
{
"role": "user",
"content": [
{
"type": "text",
"text": prompt
}
]
}
],
max_tokens=40000,
stream=True,
tools=[
{
"type": "code_interpreter",
"code_interpreter": {
"file_ids": fileids
}
}
]
)
model_output = ""
for chunk in response:
print(chunk)
if chunk.choices[0].delta.content is not None:
if chunk.choices[0].delta.role == "assistant":
mtmp = str(chunk.choices[0].delta.content)
if mtmp is not None:
model_output = model_output + mtmp
return model_output
introduce = """
# 明细数据说明
账单费用明细中尽可能提供了客户对账所需的数据字段。
## 账期和入账时间
- **账期**:账期是自然日,指的是这一条明细属于哪一天的账单。
- **入账时间**:入账时间是指这一条明细具体计费发生的时间,精确到时分秒。
## 产品类型
平台目前有几种产品类型:模型推理、模型训练、私有实例,以及资源包。
模型推理、模型训练、私有实例的产品名是按照模型区分的。
## 模型编码和模型产品名
- **模型编码**:模型编码是对应模型推理 API 时调用的 model code。
- **模型产品名**:模型产品名是计费产品名,账单以模型产品名为准,包括了模型推理、训练、私有实例和资源包等各种类型。
## 付费类型
- **预付费**:预付费是指用户需要先购买才能使用,比如资源包是预付费类型。
- **后付费**:后付费是指用户先使用后再计费,比如模型推理、模型训练、私有实例是后付费类型。
## 单价和用量
- **单价**:账单明细中的单价,是实际计费的价格,即折后价。
- **用量**:用量为实际使用量,比如 Tokens、次数或者个数。
## 消费金额和应付金额
- **消费金额**:消费金额是指需要结算的总金额。
- **应付金额**:实际结算时可能由赠金抵扣部分后,实际的应付金额 = 消费金额 - 赠金抵扣金额。
## 已付款和待付款金额
应付金额分为 已付款金额 和 待付款金额。
- 如果账单已全部付款,则结算成功。
- 如果没有足够的余额支付,则状态为 未结算,即出现欠费。
## 抵扣资源包
如果实际使用量是通过资源包抵扣,则账单会展示抵扣包的信息和抵扣用量。
"""
userprompt = """
上传的两个文件分别是智谱开放平台 7 月账单和 8 月账单明细数据
数据字段的说明可以参考:
{0}
根据 7 月账单明细数据,统计 7 月中每个产品的总消费金额和总用量。
""".format(introduce)
bill7 = "1726211483_83b320c819a84ed2aea0fb6b745ddbaa" # 7 月账单
bill8 = "1726211565_f53fbad8e3154e8cb14cd55fcf143f2f" # 8 月账单
print(test_alltools(userprompt, [bill7, bill8]))