Skip to content

Commit dc3fb7c

Browse files
fixes
1 parent ec03de9 commit dc3fb7c

File tree

5 files changed

+13
-11
lines changed

5 files changed

+13
-11
lines changed

PolyAIExample/PolyAIExample.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved

Lines changed: 5 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

PolyAIExample/PolyAIExample/MessageDemoView.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ struct MessageDemoView: View {
6767
switch selectedSegment {
6868
case .openAI:
6969
parameters = .openAI(
70-
model: .gpt35Turbo,
70+
model: .o1Preview,
7171
messages: [
7272
.init(role: .user, content: prompt)
7373
])

Sources/PolyAI/Interfaces/Response/Message/LLMMessageResponse+Anthropic.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ extension MessageResponse: LLMMessageResponse {
2828
}
2929

3030
public var usageMetrics: UsageMetrics {
31-
ChatUsageMetrics(inputTokens: usage.inputTokens, outputTokens: usage.outputTokens, totalTokens: nil)
31+
ChatUsageMetrics(inputTokens: usage.inputTokens ?? 0, outputTokens: usage.outputTokens, totalTokens: nil)
3232
}
3333

3434
public var tools: [ToolUsage] {

Sources/PolyAI/Service/DefaultPolyAIService.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@ struct DefaultPolyAIService: PolyAIService {
4747
openAIService = OpenAIServiceFactory.service(aiproxyPartialKey: aiproxyPartialKey, aiproxyClientID: aiproxyClientID)
4848
}
4949

50-
case .anthropic(let apiKey, let configuration):
51-
anthropicService = AnthropicServiceFactory.service(apiKey: apiKey, configuration: configuration)
50+
case .anthropic(let apiKey, let configuration, let betaHeaders):
51+
anthropicService = AnthropicServiceFactory.service(apiKey: apiKey, betaHeaders: betaHeaders, configuration: configuration)
5252

5353
case .gemini(let apiKey):
5454
gemini = .init(apiKey: apiKey)
@@ -89,7 +89,7 @@ struct DefaultPolyAIService: PolyAIService {
8989
)
9090
}
9191
let systemMessage = messages.first { $0.role == "system" }
92-
let messageParameter = MessageParameter(model: model, messages: messageParams, maxTokens: maxTokens, system: systemMessage?.content, stream: false)
92+
let messageParameter = MessageParameter(model: model, messages: messageParams, maxTokens: maxTokens, system: .text(systemMessage?.content ?? ""), stream: false)
9393
return try await anthropicService.createMessage(messageParameter)
9494

9595
case .gemini(let model, let messages, let maxTokens):
@@ -150,7 +150,7 @@ struct DefaultPolyAIService: PolyAIService {
150150
)
151151
}
152152
let systemMessage = messages.first { $0.role == "system" }
153-
let messageParameter = MessageParameter(model: model, messages: messageParams, maxTokens: maxTokens, system: systemMessage?.content)
153+
let messageParameter = MessageParameter(model: model, messages: messageParams, maxTokens: maxTokens, system: .text(systemMessage?.content ?? ""))
154154
let stream = try await anthropicService.streamMessage(messageParameter)
155155
return try mapToLLMMessageStreamResponse(stream: stream)
156156

Sources/PolyAI/Service/PolyAIService.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@ public enum LLMConfiguration {
4141
/// - Parameters:
4242
/// - apiKey: The API key for authenticating requests to Anthropic.
4343
/// - configuration: The URLSession configuration to use for network requests. Defaults to `.default`.
44-
case anthropic(apiKey: String, configuration: URLSessionConfiguration = .default)
44+
/// - betaHeaders: An array of headers for Anthropic's beta features.
45+
case anthropic(apiKey: String, configuration: URLSessionConfiguration = .default, betaHeaders: [String]? = nil)
4546

4647
/// Configuration for accessing Gemini's API.
4748
/// - Parameters:

0 commit comments

Comments
 (0)