pydantic_ai.usage
Usage dataclass
与请求或运行相关的 LLM 使用情况。
计算使用情况的责任在于模型;PydanticAI 仅对跨请求的使用情况信息求和。
您需要查阅您正在使用的模型的文档,以将使用情况转换为货币成本。
源代码位于 pydantic_ai_slim/pydantic_ai/usage.py
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
|
request_tokens class-attribute
instance-attribute
request_tokens: int | None = None
请求处理中使用的 tokens。
response_tokens class-attribute
instance-attribute
response_tokens: int | None = None
生成响应中使用的 tokens。
total_tokens class-attribute
instance-attribute
total_tokens: int | None = None
整个运行中使用的 tokens 总数,通常应等于 request_tokens + response_tokens
。
incr
就地增加使用量。
参数
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
incr_usage
|
使用方法
|
要增加的使用量。 |
必需 |
requests
|
int
|
除了 |
0
|
源代码位于 pydantic_ai_slim/pydantic_ai/usage.py
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
|
__add__
将两个 Usage 相加。
提供此功能是为了可以轻松地汇总来自多个请求和运行的使用情况信息。
源代码位于 pydantic_ai_slim/pydantic_ai/usage.py
50 51 52 53 54 55 56 57 |
|
opentelemetry_attributes
将 token 限制作为 OpenTelemetry 属性获取。
源代码位于 pydantic_ai_slim/pydantic_ai/usage.py
59 60 61 62 63 64 65 66 67 |
|
UsageLimits dataclass
模型使用量的限制。
请求计数由 pydantic_ai 跟踪,请求限制在每次向模型发出请求之前检查。Token 计数在模型的响应中提供,token 限制在每次响应后检查。
每个限制都可以设置为 None
以禁用该限制。
源代码位于 pydantic_ai_slim/pydantic_ai/usage.py
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 |
|
request_tokens_limit class-attribute
instance-attribute
request_tokens_limit: int | None = None
允许在向模型的请求中使用的最大 tokens 数。
response_tokens_limit class-attribute
instance-attribute
response_tokens_limit: int | None = None
允许在来自模型的响应中使用的最大 tokens 数。
total_tokens_limit class-attribute
instance-attribute
total_tokens_limit: int | None = None
允许在请求和响应中使用的 tokens 总数。
has_token_limits
has_token_limits() -> bool
如果此实例对 token 计数施加任何限制,则返回 True
。
如果此项返回 False
,则 check_tokens
方法永远不会引发错误。
这很有用,因为如果我们有 token 限制,我们需要在接收到每个流式消息后检查它们。如果没有限制,我们可以跳过流式响应迭代器中的该处理。
源代码位于 pydantic_ai_slim/pydantic_ai/usage.py
89 90 91 92 93 94 95 96 97 98 99 100 |
|
check_before_request
check_before_request(usage: Usage) -> None
如果下一个请求将超过 request_limit,则引发 UsageLimitExceeded
异常。
源代码位于 pydantic_ai_slim/pydantic_ai/usage.py
102 103 104 105 106 |
|
check_tokens
check_tokens(usage: Usage) -> None
如果使用量超过任何 token 限制,则引发 UsageLimitExceeded
异常。
源代码位于 pydantic_ai_slim/pydantic_ai/usage.py
108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 |
|