INNER CODE UNIT · Swift
getEmbedding
ZachNagengast/similarity-search-kit · Sources/SimilaritySearchKit/Core/Index/SimilarityIndex.swift:135
public func getEmbedding(for text: String, embedding: [Float]? = nil) async -> [Float] {
if let embedding = embedding, embedding.count == dimension {
// Valid embedding, no encoding needed
return embedding
} else {
// Encoding needed before adding to index
guard let encoded = await indexModel.encode(sentence: text) else {
print("Failed to encode text. \(text)")
return Array(repeating: Float(0), count: dimension)
}
return encoded
}
}
// MARK: - Search
public func search(_ query: String, top resultCount: Int? = nil, metric: DistanceMetricProtocol? = nil) async -> [SearchResult] {
let resultCount = resultCount ?? 5