it builds
This commit is contained in:
parent
c65619154e
commit
c84460eb65
|
@ -1,12 +1,39 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"go.wit.com/lib/protobuf/chatpb"
|
||||
"google.golang.org/genai"
|
||||
)
|
||||
|
||||
func convertToPB(resp *genai.GenerateContentResponse) *chatpb.ChatEntry {
|
||||
pb := new(chatpb.ChatEntry)
|
||||
// TODO: add the code to convert the response to the protobuf
|
||||
return pb
|
||||
entry := &chatpb.ChatEntry{}
|
||||
|
||||
if resp == nil || len(resp.Candidates) == 0 || resp.Candidates[0].Content == nil {
|
||||
return entry
|
||||
}
|
||||
|
||||
content := resp.Candidates[0].Content
|
||||
for _, part := range content.Parts {
|
||||
if part.Text != "" {
|
||||
entry.Parts = append(entry.Parts, &chatpb.Part{
|
||||
PartType: &chatpb.Part_Text{Text: part.Text},
|
||||
})
|
||||
}
|
||||
if part.FunctionCall != nil {
|
||||
fmt.Printf("Gemini API requested to execute command: %s\n", part.FunctionCall.Name)
|
||||
// This is a simplified conversion of args.
|
||||
// A more robust implementation would handle different value types.
|
||||
entry.Parts = append(entry.Parts, &chatpb.Part{
|
||||
PartType: &chatpb.Part_FunctionCall{
|
||||
FunctionCall: &chatpb.FunctionCall{
|
||||
Name: part.FunctionCall.Name,
|
||||
Args: &chatpb.ArgsInfo{}, // TODO: Properly map args if needed
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
}
|
||||
return entry
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue