ExTypesense.NaturalLanguage
(ExTypesense v2.3.0)
View Source
Natural Language Search in Typesense allows you to transform any free-form sentences a user might type into your search bar, into a structured set of search parameters.
This feature leverages the magic of Large Language Models (LLMs) to interpret user intent and generate appropriate search parameters like filter conditions, sort orders, and query terms that work with Typesense's search syntax.
More here: https://typesense.org/docs/latest/api/natural-language-search.html
Summary
Functions
Create a NL search model
Delete a NL search model
List all NL search models
Retrieve a NL search model
Update a NL search model
Functions
@spec create_nl_search_model(body :: OpenApiTypesense.NLSearchModelCreateSchema.t()) :: {:ok, OpenApiTypesense.NLSearchModelSchema.t()} | {:error, OpenApiTypesense.ApiResponse.t()}
Create a NL search model
Create a new NL search model.
Request Body
Content Types: application/json
The NL search model to be created
@spec create_nl_search_model( body :: OpenApiTypesense.NLSearchModelCreateSchema.t(), opts :: keyword() ) :: {:ok, OpenApiTypesense.NLSearchModelSchema.t()} | {:error, OpenApiTypesense.ApiResponse.t()}
Same as create_nl_search_model/1
Options
conn: The custom connection map or struct you passed
@spec delete_nl_search_model(model_id :: String.t()) :: {:ok, OpenApiTypesense.NLSearchModelDeleteSchema.t()} | {:error, OpenApiTypesense.ApiResponse.t()}
Delete a NL search model
Delete a specific NL search model by its ID.
@spec delete_nl_search_model(model_id :: String.t(), opts :: keyword()) :: {:ok, OpenApiTypesense.NLSearchModelDeleteSchema.t()} | {:error, OpenApiTypesense.ApiResponse.t()}
Same as delete_nl_search_model/1
Options
conn: The custom connection map or struct you passed
@spec retrieve_all_nl_search_models() :: {:ok, [OpenApiTypesense.NLSearchModelSchema.t()]} | {:error, OpenApiTypesense.ApiResponse.t()}
List all NL search models
Retrieve all NL search models.
@spec retrieve_all_nl_search_models(opts :: keyword()) :: {:ok, [OpenApiTypesense.NLSearchModelSchema.t()]} | {:error, OpenApiTypesense.ApiResponse.t()}
Same as retrieve_all_nl_search_models/0
Options
conn: The custom connection map or struct you passed
@spec retrieve_nl_search_model(model_id :: String.t()) :: {:ok, OpenApiTypesense.NLSearchModelSchema.t()} | {:error, OpenApiTypesense.ApiResponse.t()}
Retrieve a NL search model
Retrieve a specific NL search model by its ID.
@spec retrieve_nl_search_model(model_id :: String.t(), opts :: keyword()) :: {:ok, OpenApiTypesense.NLSearchModelSchema.t()} | {:error, OpenApiTypesense.ApiResponse.t()}
Same as retrieve_nl_search_model/1
Options
conn: The custom connection map or struct you passed
@spec update_nl_search_model( model_id :: String.t(), body :: OpenApiTypesense.NLSearchModelCreateSchema.t() ) :: {:ok, OpenApiTypesense.NLSearchModelSchema.t()} | {:error, OpenApiTypesense.ApiResponse.t()}
Update a NL search model
Update an existing NL search model.
Request Body
Content Types: application/json
The NL search model fields to update
@spec update_nl_search_model( model_id :: String.t(), body :: OpenApiTypesense.NLSearchModelCreateSchema.t(), opts :: keyword() ) :: {:ok, OpenApiTypesense.NLSearchModelSchema.t()} | {:error, OpenApiTypesense.ApiResponse.t()}
Same as update_nl_search_model/2
Options
conn: The custom connection map or struct you passed