summaryrefslogtreecommitdiff
path: root/convertToGenai.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-09-01 00:35:05 -0500
committerJeff Carr <[email protected]>2025-09-01 00:35:05 -0500
commitc110250dc244ce4587974a86fda161a832882fb8 (patch)
tree9449babcfc879910dff5514609dab313d0d78b16 /convertToGenai.go
parent4a800a7cfd6e8d59b021ff1b5a0ea9d42b89b7b3 (diff)
something?
Diffstat (limited to 'convertToGenai.go')
-rw-r--r--convertToGenai.go18
1 files changed, 8 insertions, 10 deletions
diff --git a/convertToGenai.go b/convertToGenai.go
index a9dd1b4..c65d29b 100644
--- a/convertToGenai.go
+++ b/convertToGenai.go
@@ -8,19 +8,17 @@ import (
// convertToGenai transforms the parsed JSON request into the genai.Content format.
func convertToGenai(req *chatpb.GeminiRequest) ([]*genai.Content, error) {
var contents []*genai.Content
- for _, c := range req.Contents {
- genaiParts := []*genai.Part{} // Create a slice of the interface type
- for _, p := range c.Parts {
- if p.Text != "" {
- // genai.Text returns a Part interface, which is what we need
- var tmp *genai.Part
- tmp = new(genai.Part)
- tmp.Text = p.Text
- genaiParts = append(genaiParts, tmp)
+ for _, c := range req.GetContents() {
+ var genaiParts []*genai.Part
+ for _, p := range c.GetParts() {
+ switch v := p.GetPartType().(type) {
+ case *chatpb.Part_Text:
+ part := &genai.Part{Text: v.Text}
+ genaiParts = append(genaiParts, part)
}
}
contents = append(contents, &genai.Content{
- Role: c.Role,
+ Role: c.GetRole(),
Parts: genaiParts,
})
}