it builds
This commit is contained in:
parent
c65619154e
commit
c84460eb65
|
@ -1,12 +1,39 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
"go.wit.com/lib/protobuf/chatpb"
|
"go.wit.com/lib/protobuf/chatpb"
|
||||||
"google.golang.org/genai"
|
"google.golang.org/genai"
|
||||||
)
|
)
|
||||||
|
|
||||||
func convertToPB(resp *genai.GenerateContentResponse) *chatpb.ChatEntry {
|
func convertToPB(resp *genai.GenerateContentResponse) *chatpb.ChatEntry {
|
||||||
pb := new(chatpb.ChatEntry)
|
entry := &chatpb.ChatEntry{}
|
||||||
// TODO: add the code to convert the response to the protobuf
|
|
||||||
return pb
|
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