ravendb
Version:
RavenDB client for Node.js
65 lines • 2.5 kB
JavaScript
export 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
};
}
}
export 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;
}
}
//# sourceMappingURL=VectorSearchOptions.js.map