Skip to content

Commit 7f9464b

Browse files
author
mrh
committed
feat(acl_openai): support promptTokenDetails
1 parent 8845979 commit 7f9464b

File tree

3 files changed

+20
-7
lines changed

3 files changed

+20
-7
lines changed

libs/acl/openai/chat_model.go

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,12 @@ import (
2525
"runtime/debug"
2626
"sort"
2727

28+
"github.com/getkin/kin-openapi/openapi3"
29+
"github.com/meguminnnnnnnnn/go-openai"
30+
2831
"github.com/cloudwego/eino/callbacks"
2932
"github.com/cloudwego/eino/components/model"
3033
"github.com/cloudwego/eino/schema"
31-
"github.com/getkin/kin-openapi/openapi3"
32-
"github.com/meguminnnnnnnnn/go-openai"
3334
)
3435

3536
type ChatCompletionResponseFormatType string
@@ -855,10 +856,17 @@ func toEinoTokenUsage(usage *openai.Usage) *schema.TokenUsage {
855856
if usage == nil {
856857
return nil
857858
}
859+
860+
promptTokenDetails := schema.PromptTokenDetails{}
861+
if usage.PromptTokensDetails != nil {
862+
promptTokenDetails.CachedTokens = usage.PromptTokensDetails.CachedTokens
863+
}
864+
858865
return &schema.TokenUsage{
859-
PromptTokens: usage.PromptTokens,
860-
CompletionTokens: usage.CompletionTokens,
861-
TotalTokens: usage.TotalTokens,
866+
PromptTokens: usage.PromptTokens,
867+
PromptTokenDetails: promptTokenDetails,
868+
CompletionTokens: usage.CompletionTokens,
869+
TotalTokens: usage.TotalTokens,
862870
}
863871
}
864872

@@ -871,7 +879,10 @@ func toModelCallbackUsage(respMeta *schema.ResponseMeta) *model.TokenUsage {
871879
return nil
872880
}
873881
return &model.TokenUsage{
874-
PromptTokens: usage.PromptTokens,
882+
PromptTokens: usage.PromptTokens,
883+
PromptTokenDetails: model.PromptTokenDetails{
884+
CachedTokens: usage.PromptTokenDetails.CachedTokens,
885+
},
875886
CompletionTokens: usage.CompletionTokens,
876887
TotalTokens: usage.TotalTokens,
877888
}

libs/acl/openai/go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ go 1.18
44

55
require (
66
github.com/bytedance/mockey v1.2.13
7-
github.com/cloudwego/eino v0.4.0
7+
github.com/cloudwego/eino v0.4.3
88
github.com/getkin/kin-openapi v0.118.0
99
github.com/meguminnnnnnnnn/go-openai v0.0.0-20250723112853-3bce976e5ccc // fork from github.com/sashabaranov/go-openai, temporary solution, switch to github.com/openai/openai-go in the future.
1010
github.com/stretchr/testify v1.9.0

libs/acl/openai/go.sum

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ github.com/cloudwego/base64x v0.1.5 h1:XPciSp1xaq2VCSt6lF0phncD4koWyULpl5bUxbfCy
1515
github.com/cloudwego/base64x v0.1.5/go.mod h1:0zlkT4Wn5C6NdauXdJRhSKRlJvmclQ1hhJgA0rcu/8w=
1616
github.com/cloudwego/eino v0.4.0 h1:5gMwO6HGtn/bn1M3l5cY8y9k+TO+fCcJZ14z+S3pTaQ=
1717
github.com/cloudwego/eino v0.4.0/go.mod h1:wUjz990apdsaOraOXdh6CdhVXq8DJsOvLsVlxNTcNfY=
18+
github.com/cloudwego/eino v0.4.3 h1:ihHVHPMA8G2DPWeN+NTuIKr1QBAet9g84buH+LUl1bU=
19+
github.com/cloudwego/eino v0.4.3/go.mod h1:wUjz990apdsaOraOXdh6CdhVXq8DJsOvLsVlxNTcNfY=
1820
github.com/cloudwego/iasm v0.2.0/go.mod h1:8rXZaNYT2n95jn+zTI1sDr+IgcD2GVs0nlbbQPiEFhY=
1921
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
2022
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=

0 commit comments

Comments
 (0)