@@ -18,9 +18,9 @@ import (
1818 "errors"
1919 "reflect"
2020
21- "google.golang.org/protobuf/types/known/structpb"
22-
2321 "google.golang.org/protobuf/types/known/anypb"
22+ "google.golang.org/protobuf/types/known/durationpb"
23+ "google.golang.org/protobuf/types/known/structpb"
2424
2525 runtimev1pb "github.com/dapr/dapr/pkg/proto/runtime/v1"
2626)
@@ -437,15 +437,17 @@ type ConversationMessageOfToolAlpha2 struct {
437437}
438438
439439type ConversationRequestAlpha2 struct {
440- Name string // LLM component name
441- ContextID * string
442- Inputs []* ConversationInputAlpha2
443- Parameters map [string ]* anypb.Any
444- Metadata map [string ]string
445- ScrubPII * bool // Scrub PII from the output
446- Temperature * float64
447- Tools []* ConversationToolsAlpha2
448- ToolChoice * ToolChoiceAlpha2
440+ Name string // LLM component name
441+ ContextID * string
442+ Inputs []* ConversationInputAlpha2
443+ Parameters map [string ]* anypb.Any
444+ Metadata map [string ]string
445+ ScrubPII * bool
446+ Temperature * float64
447+ Tools []* ConversationToolsAlpha2
448+ ToolChoice * ToolChoiceAlpha2
449+ ResponseFormat * structpb.Struct
450+ PromptCacheRetention * durationpb.Duration
449451}
450452
451453type ConversationResponseAlpha2 struct {
@@ -455,6 +457,14 @@ type ConversationResponseAlpha2 struct {
455457
456458type ConversationResultAlpha2 struct {
457459 Choices []* ConversationResultChoicesAlpha2
460+ Model * string
461+ Usage * ConversationResultAlpha2CompletionUsage
462+ }
463+
464+ type ConversationResultAlpha2CompletionUsage struct {
465+ CompletionTokens uint64
466+ PromptTokens uint64
467+ TotalTokens uint64
458468}
459469
460470type ConversationResultChoicesAlpha2 struct {
@@ -532,15 +542,17 @@ func (c *GRPCClient) ConverseAlpha2(ctx context.Context, request ConversationReq
532542 }
533543
534544 req := runtimev1pb.ConversationRequestAlpha2 {
535- Name : request .Name ,
536- ContextId : request .ContextID ,
537- Inputs : inputs ,
538- Parameters : request .Parameters ,
539- Metadata : request .Metadata ,
540- ScrubPii : request .ScrubPII ,
541- Temperature : request .Temperature ,
542- Tools : tools ,
543- ToolChoice : request .ToolChoice .toPtr (),
545+ Name : request .Name ,
546+ ContextId : request .ContextID ,
547+ Inputs : inputs ,
548+ Parameters : request .Parameters ,
549+ Metadata : request .Metadata ,
550+ ScrubPii : request .ScrubPII ,
551+ Temperature : request .Temperature ,
552+ Tools : tools ,
553+ ToolChoice : request .ToolChoice .toPtr (),
554+ ResponseFormat : request .ResponseFormat ,
555+ PromptCacheRetention : request .PromptCacheRetention ,
544556 }
545557
546558 resp , err := c .protoClient .ConverseAlpha2 (ctx , & req )
@@ -572,8 +584,23 @@ func (c *GRPCClient) ConverseAlpha2(ctx context.Context, request ConversationReq
572584 },
573585 }
574586 }
587+ var usage * ConversationResultAlpha2CompletionUsage
588+ if u := o .GetUsage (); u != nil {
589+ usage = & ConversationResultAlpha2CompletionUsage {
590+ CompletionTokens : u .GetCompletionTokens (),
591+ PromptTokens : u .GetPromptTokens (),
592+ TotalTokens : u .GetTotalTokens (),
593+ }
594+ }
595+ var model * string
596+ if o .GetModel () != "" {
597+ m := o .GetModel ()
598+ model = & m
599+ }
575600 outputs [i ] = & ConversationResultAlpha2 {
576601 Choices : choices ,
602+ Model : model ,
603+ Usage : usage ,
577604 }
578605 }
579606
0 commit comments