Lucidworks AI
PUT,POST,GET:/LWAI-ACCOUNT-NAME/**
permission in Fusion, which is the Lucidworks AI API Account Name defined in Lucidworks AI Gateway when this stage is configured.
Configure Neural Hybrid Search
PUT,POST,GET:/LWAI-ACCOUNT-NAME/**
Your Fusion account name must match the name of the account that you selected in the Account Name dropdown.
For more information about models, see:
{Destination Field}
is the vector field.{Destination Field}_b
is the boolean value if the vector has been indexed.useCaseConfig
parameter that is common to embedding use cases is dataType
, but each use case may have other parameters. The value for the query stage is query
.
modelConfig
parameters are common to generative AI use cases.
For more information, see Prediction API.
signals
or access_control
.
PUT,POST,GET:/LWAI-ACCOUNT-NAME/**
Your Fusion account name must match the name of the account that you selected in the Account Name dropdown.
For more information about models, see:
useCaseConfig
parameter that is common to embedding use cases is dataType
, but each use case may have other parameters. The value for the query stage is query
.
modelConfig
parameters are common to generative AI use cases.
For more information, see Prediction API.
<copyField dest="\_text_" source="*"/>
and add <copyField dest="text" source="*_t"/>
below it. This will concatenate and index all *_t fields
.
_1024v
. There is no limitation on supported vector dimensions.<ctx.vector>
evaluates the context variable resulting from a previous stage, such as the LWAI Vectorize Query stage.
ctx
), the preFilterKey
object becomes available.
preFilter
object adds both the top-level fq
and preFilter
to the parameters for the vector query.
You do not need to manually add the top level fq
in the javascript stage.
See the example below:
solrconfig.xml
within the <config>
tag:<ctx.vector>
evaluates the context variable resulting from a previous stage, such as the LWAI Vectorize Query stage.
knn
query parser as you would with Solr.
Specify the search vector and include it in the query.
For example, change the q
parameter to a knn
query parser string.You can also preview the results in the Query Workbench.
Try a few different queries, and adjust the weights and parameters in the Hybrid Query stage to find the best balance between lexical and semantic vector search for your use case.
You can also disable and re-enable the Neural Hybrid Query stage to compare results with and without it.XDenseVectorField
is not supported in Fusion 5.9.5 and above. Instead, use DenseVectorField
.topK
parameter. Variation will still occur, but it should be lower in the documents. Another way to mitigate shifts is to use Neural Hybrid Search with a vector similarity cutoff.For more information, refer to Solr Types of Replicas.In the case of Neural Hybrid Search, lexical BM25 & TF-IDF score differences that can occur with NRT replicas because of index differences for deleted documents, can also affect combined Hybrid score.
If you choose to use NRT replicas then it is possible that any lexical and/or semantic vectors variations can and will be exacerbated.--form-string 'fq=VECTOR_FIELD_b:true' \
ids
you see are the orphans.
Proceed to Resolving orphans.
If no documents are returned, there are likely no orphans.
You can try a few varying vectors to be certain.hnswBeamWidth
and hnswMaxConnections
per the Suggested values below.Orphaning rate | hnswBeamWidth | hnswMaxConnections |
---|---|---|
5% or less | 300 | 64 |
5% - 25% | 500 | 100 |
25% or more | 3200 | 512 |
vectorQuantizationMethod
parameter with the value for the desired method:
min-max
creates tensors of embeddings and converts them to uint8 by normalizing them to the range [0, 255].max-scale
finds the maximum absolute value along each embedding, normalizes the embeddings by scaling them to a range of -127 to 127, and returns the quantized embeddings as an 8-bit integer tensor.\t
for the tab character. When entering configuration values in the API, use escaped characters, such as \\t
for the tab character.