diff options
| author | Jeff Carr <[email protected]> | 2025-09-01 00:35:05 -0500 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-09-01 00:35:05 -0500 |
| commit | c110250dc244ce4587974a86fda161a832882fb8 (patch) | |
| tree | 9449babcfc879910dff5514609dab313d0d78b16 | |
| parent | 4a800a7cfd6e8d59b021ff1b5a0ea9d42b89b7b3 (diff) | |
something?
| -rw-r--r-- | convertToGenai.go | 18 |
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, }) } |
