Skip to content

Commit 14c8d07

Browse files
committed
Add dimensions to embedding model
1 parent bf94948 commit 14c8d07

2 files changed

Lines changed: 9 additions & 2 deletions

File tree

Tool/Sources/AIModel/EmbeddingModel.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ public struct EmbeddingModel: Codable, Equatable, Identifiable {
2929
public var baseURL: String
3030
@FallbackDecoding<EmptyInt>
3131
public var maxTokens: Int
32+
@FallbackDecoding<EmptyInt>
33+
public var dimensions: Int
3234
@FallbackDecoding<EmptyString>
3335
public var modelName: String
3436
public var azureOpenAIDeploymentName: String {
@@ -40,11 +42,13 @@ public struct EmbeddingModel: Codable, Equatable, Identifiable {
4042
apiKeyName: String = "",
4143
baseURL: String = "",
4244
maxTokens: Int = 8192,
45+
dimensions: Int = 1536,
4346
modelName: String = ""
4447
) {
4548
self.apiKeyName = apiKeyName
4649
self.baseURL = baseURL
4750
self.maxTokens = maxTokens
51+
self.dimensions = dimensions
4852
self.modelName = modelName
4953
}
5054
}

Tool/Sources/OpenAIService/Configuration/UserPreferenceEmbeddingConfiguration.swift

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,12 @@ public struct UserPreferenceEmbeddingConfiguration: EmbeddingConfiguration {
1414
model.info.maxTokens
1515
}
1616

17-
#warning("TODO: Support different dimensions.")
1817
public var dimensions: Int {
19-
1536 // text-embedding-ada-002
18+
let dimensions = model.info.dimensions
19+
if dimensions <= 0 {
20+
return 1536
21+
}
22+
return dimensions
2023
}
2124

2225
public init() {}

0 commit comments

Comments
 (0)