ravendb
Version:
RavenDB client for Node.js
70 lines • 2.7 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.AutoVectorOptions = exports.VectorOptions = void 0;
class VectorOptions {
isExact;
/**
* Minimum similarity threshold for results (higher means more similar)
*/
similarity;
/**
* Source embedding type
*/
sourceEmbeddingType;
/**
* Destination embedding type
*/
destinationEmbeddingType;
/**
* Number of candidates to consider during indexing
*/
numberOfCandidates;
/**
* Number of edges in the graph
*/
numberOfEdges;
constructor(sourceEmbeddingType = "Single", destinationEmbeddingType = "Single", numberOfEdges, numberOfCandidates, similarity, isExact) {
this.sourceEmbeddingType = sourceEmbeddingType;
this.destinationEmbeddingType = destinationEmbeddingType;
this.numberOfCandidates = numberOfCandidates;
this.numberOfEdges = numberOfEdges;
this.similarity = similarity;
this.isExact = isExact;
}
static fromJson(json) {
return new VectorOptions(json.SourceEmbeddingType, json.DestinationEmbeddingType, json.Dimensions, json.NumberOfEdges, json.NumberOfCandidates);
}
toJson() {
return {
SourceEmbeddingType: this.sourceEmbeddingType,
DestinationEmbeddingType: this.destinationEmbeddingType,
NumberOfCandidates: this.numberOfCandidates,
NumberOfEdges: this.numberOfEdges,
Similarity: this.similarity
};
}
}
exports.VectorOptions = VectorOptions;
class AutoVectorOptions extends VectorOptions {
sourceFieldName;
constructor(sourceEmbeddingType = "Single", destinationEmbeddingType = "Single", dimensions, numberOfEdges, numberOfCandidates, sourceFieldName) {
super(sourceEmbeddingType, destinationEmbeddingType, dimensions, numberOfEdges, numberOfCandidates);
this.sourceFieldName = sourceFieldName;
}
static fromVectorOptions(vectorOptions) {
return new AutoVectorOptions(vectorOptions.sourceEmbeddingType, vectorOptions.destinationEmbeddingType, vectorOptions.numberOfEdges, vectorOptions.numberOfCandidates);
}
static fromJson(json) {
const vectorOptions = VectorOptions.fromJson(json);
const autoVectorOptions = AutoVectorOptions.fromVectorOptions(vectorOptions);
autoVectorOptions.sourceFieldName = json.SourceFieldName;
return autoVectorOptions;
}
toJson() {
const json = super.toJson();
json.SourceFieldName = this.sourceFieldName;
return json;
}
}
exports.AutoVectorOptions = AutoVectorOptions;
//# sourceMappingURL=VectorSearchOptions.js.map