Updated documentation of iOS text embedder tests
This commit is contained in:
parent
e290f9cf30
commit
eeaa011998
|
@ -42,20 +42,18 @@ static const float kSimilarityDiffTolerance = 1e-4;
|
|||
if (quantized) { \
|
||||
XCTAssertNil(embedding.floatEmbedding); \
|
||||
XCTAssertNotNil(embedding.quantizedEmbedding); \
|
||||
} \
|
||||
else { \
|
||||
} else { \
|
||||
XCTAssertNotNil(embedding.floatEmbedding); \
|
||||
XCTAssertNil(embedding.quantizedEmbedding);\
|
||||
XCTAssertNil(embedding.quantizedEmbedding); \
|
||||
}
|
||||
|
||||
#define AssertEmbeddingHasExpectedValues(embedding, expectedLength, expectedFirstValue, quantize) \
|
||||
XCTAssertEqual(embedding.count, expectedLength); \
|
||||
if (quantize) { \
|
||||
XCTAssertEqual(embedding[0].charValue, expectedFirstValue); \
|
||||
} \
|
||||
else { \
|
||||
} else { \
|
||||
XCTAssertEqualWithAccuracy(embedding[0].floatValue, expectedFirstValue, kFloatDiffTolerance); \
|
||||
} \
|
||||
}
|
||||
|
||||
@interface MPPTextEmbedderTests : XCTestCase
|
||||
@end
|
||||
|
@ -95,8 +93,7 @@ static const float kSimilarityDiffTolerance = 1e-4;
|
|||
MPPTextEmbedderResult *embedderResult = [textEmbedder embedText:text error:nil];
|
||||
AssertTextEmbedderResultHasOneEmbedding(embedderResult);
|
||||
|
||||
AssertEmbeddingType(
|
||||
embedderResult.embeddingResult.embeddings[0], // embedding
|
||||
AssertEmbeddingType(embedderResult.embeddingResult.embeddings[0], // embedding
|
||||
NO // quantized
|
||||
);
|
||||
|
||||
|
@ -110,15 +107,14 @@ static const float kSimilarityDiffTolerance = 1e-4;
|
|||
return embedderResult.embeddingResult.embeddings[0];
|
||||
}
|
||||
|
||||
- (NSArray<NSNumber *>*)assertQuantizedEmbeddingResultsOfEmbedText:(NSString *)text
|
||||
- (NSArray<NSNumber *> *)assertQuantizedEmbeddingResultsOfEmbedText:(NSString *)text
|
||||
usingTextEmbedder:(MPPTextEmbedder *)textEmbedder
|
||||
hasCount:(NSUInteger)embeddingCount
|
||||
firstValue:(char)firstValue {
|
||||
MPPTextEmbedderResult *embedderResult = [textEmbedder embedText:text error:nil];
|
||||
AssertTextEmbedderResultHasOneEmbedding(embedderResult);
|
||||
|
||||
AssertEmbeddingType(
|
||||
embedderResult.embeddingResult.embeddings[0], // embedding
|
||||
AssertEmbeddingType(embedderResult.embeddingResult.embeddings[0], // embedding
|
||||
YES // quantized
|
||||
);
|
||||
|
||||
|
@ -148,8 +144,7 @@ static const float kSimilarityDiffTolerance = 1e-4;
|
|||
@"INVALID_ARGUMENT: ExternalFile must specify at least one of 'file_content', "
|
||||
@"'file_name', 'file_pointer_meta' or 'file_descriptor_meta'."
|
||||
}];
|
||||
AssertEqualErrors(
|
||||
error, // error
|
||||
AssertEqualErrors(error, // error
|
||||
expectedError // expectedError
|
||||
);
|
||||
}
|
||||
|
@ -228,16 +223,20 @@ static const float kSimilarityDiffTolerance = 1e-4;
|
|||
MPPTextEmbedder *textEmbedder = [[MPPTextEmbedder alloc] initWithOptions:options error:nil];
|
||||
XCTAssertNotNil(textEmbedder);
|
||||
|
||||
MPPEmbedding *embedding1 = [self assertQuantizedEmbeddingResultsOfEmbedText:@"it's a charming and often affecting journey"
|
||||
MPPEmbedding *embedding1 = [self
|
||||
assertQuantizedEmbeddingResultsOfEmbedText:@"it's a charming and often affecting journey"
|
||||
usingTextEmbedder:textEmbedder
|
||||
hasCount:512
|
||||
firstValue:127];
|
||||
|
||||
MPPEmbedding *embedding2 = [self assertQuantizedEmbeddingResultsOfEmbedText:@"what a great and fantastic trip"
|
||||
MPPEmbedding *embedding2 =
|
||||
[self assertQuantizedEmbeddingResultsOfEmbedText:@"what a great and fantastic trip"
|
||||
usingTextEmbedder:textEmbedder
|
||||
hasCount:512
|
||||
firstValue:127];
|
||||
NSNumber *cosineSimilarity = [MPPTextEmbedder cosineSimilarityBetweenEmbedding1:embedding1 andEmbedding2:embedding2 error:nil];
|
||||
NSNumber *cosineSimilarity = [MPPTextEmbedder cosineSimilarityBetweenEmbedding1:embedding1
|
||||
andEmbedding2:embedding2
|
||||
error:nil];
|
||||
XCTAssertEqualWithAccuracy(cosineSimilarity.doubleValue, 0.864113, kSimilarityDiffTolerance);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user