Skip to content

Commit 16e68be

Browse files
authored
Make system instruction accept variadic String... (#155)
1 parent dc00663 commit 16e68be

File tree

2 files changed

+12
-3
lines changed

2 files changed

+12
-3
lines changed

Sources/GoogleAI/GenerativeModel.swift

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ public final class GenerativeModel {
6464
safetySettings: [SafetySetting]? = nil,
6565
tools: [Tool]? = nil,
6666
toolConfig: ToolConfig? = nil,
67-
systemInstruction: String,
67+
systemInstruction: String...,
6868
requestOptions: RequestOptions = RequestOptions()) {
6969
self.init(
7070
name: name,
@@ -73,7 +73,10 @@ public final class GenerativeModel {
7373
safetySettings: safetySettings,
7474
tools: tools,
7575
toolConfig: toolConfig,
76-
systemInstruction: ModelContent(role: "system", parts: systemInstruction),
76+
systemInstruction: ModelContent(
77+
role: "system",
78+
parts: systemInstruction.map { ModelContent.Part.text($0) }
79+
),
7780
requestOptions: requestOptions,
7881
urlSession: .shared
7982
)

Tests/GoogleAITests/GoogleAITests.swift

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,13 @@ final class GoogleGenerativeAITests: XCTestCase {
5353
let _ = GenerativeModel(
5454
name: "gemini-1.5-pro-latest",
5555
apiKey: "API_KEY",
56-
systemInstruction: "Talk like a pirate"
56+
systemInstruction: "Talk like a pirate."
57+
)
58+
59+
let _ = GenerativeModel(
60+
name: "gemini-1.5-pro-latest",
61+
apiKey: "API_KEY",
62+
systemInstruction: "Talk like a pirate.", "Your name is Francis Drake."
5763
)
5864

5965
// All arguments passed.

0 commit comments

Comments
 (0)