mirror of
				https://github.com/meilisearch/meilisearch.git
				synced 2025-10-31 07:56:28 +00:00 
			
		
		
		
	try my best to make the sub-settings routes works, it doesn't
This commit is contained in:
		| @@ -10,7 +10,6 @@ use itertools::{EitherOrBoth, Itertools}; | ||||
| use roaring::RoaringBitmap; | ||||
| use serde::{Deserialize, Deserializer, Serialize, Serializer}; | ||||
| use time::OffsetDateTime; | ||||
| use utoipa::{PartialSchema, ToSchema}; | ||||
|  | ||||
| use super::del_add::DelAddOperation; | ||||
| use super::index_documents::{IndexDocumentsConfig, Transform}; | ||||
| @@ -41,18 +40,6 @@ pub enum Setting<T> { | ||||
|     NotSet, | ||||
| } | ||||
|  | ||||
| impl<T: ToSchema> ToSchema for Setting<T> { | ||||
|     fn name() -> std::borrow::Cow<'static, str> { | ||||
|         T::name() | ||||
|     } | ||||
| } | ||||
|  | ||||
| impl<T: PartialSchema> PartialSchema for Setting<T> { | ||||
|     fn schema() -> utoipa::openapi::RefOr<utoipa::openapi::schema::Schema> { | ||||
|         T::schema() | ||||
|     } | ||||
| } | ||||
|  | ||||
| impl<T, E> Deserr<E> for Setting<T> | ||||
| where | ||||
|     T: Deserr<E>, | ||||
|   | ||||
| @@ -9,6 +9,7 @@ use heed::{RoTxn, RwTxn, Unspecified}; | ||||
| use ordered_float::OrderedFloat; | ||||
| use roaring::RoaringBitmap; | ||||
| use serde::{Deserialize, Serialize}; | ||||
| use utoipa::ToSchema; | ||||
|  | ||||
| use self::error::{EmbedError, NewEmbedderError}; | ||||
| use crate::prompt::{Prompt, PromptData}; | ||||
| @@ -710,18 +711,20 @@ impl Embedder { | ||||
| /// | ||||
| /// The intended use is to make the similarity score more comparable to the regular ranking score. | ||||
| /// This allows to correct effects where results are too "packed" around a certain value. | ||||
| #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Deserialize, Serialize)] | ||||
| #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Deserialize, Serialize, ToSchema)] | ||||
| #[serde(from = "DistributionShiftSerializable")] | ||||
| #[serde(into = "DistributionShiftSerializable")] | ||||
| pub struct DistributionShift { | ||||
|     /// Value where the results are "packed". | ||||
|     /// | ||||
|     /// Similarity scores are translated so that they are packed around 0.5 instead | ||||
|     #[schema(value_type = f32)] | ||||
|     pub current_mean: OrderedFloat<f32>, | ||||
|  | ||||
|     /// standard deviation of a similarity score. | ||||
|     /// | ||||
|     /// Set below 0.4 to make the results less packed around the mean, and above 0.4 to make them more packed. | ||||
|     #[schema(value_type = f32)] | ||||
|     pub current_sigma: OrderedFloat<f32>, | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -4,6 +4,7 @@ use std::num::NonZeroUsize; | ||||
| use deserr::Deserr; | ||||
| use roaring::RoaringBitmap; | ||||
| use serde::{Deserialize, Serialize}; | ||||
| use utoipa::ToSchema; | ||||
|  | ||||
| use super::{ollama, openai, DistributionShift}; | ||||
| use crate::prompt::{default_max_bytes, PromptData}; | ||||
| @@ -11,48 +12,61 @@ use crate::update::Setting; | ||||
| use crate::vector::EmbeddingConfig; | ||||
| use crate::UserError; | ||||
|  | ||||
| #[derive(Debug, Clone, Default, Serialize, Deserialize, PartialEq, Eq, Deserr)] | ||||
| #[derive(Debug, Clone, Default, Serialize, Deserialize, PartialEq, Eq, Deserr, ToSchema)] | ||||
| #[serde(deny_unknown_fields, rename_all = "camelCase")] | ||||
| #[deserr(rename_all = camelCase, deny_unknown_fields)] | ||||
| pub struct EmbeddingSettings { | ||||
|     #[serde(default, skip_serializing_if = "Setting::is_not_set")] | ||||
|     #[deserr(default)] | ||||
|     #[schema(value_type = Option<EmbedderSource>)] | ||||
|     pub source: Setting<EmbedderSource>, | ||||
|     #[serde(default, skip_serializing_if = "Setting::is_not_set")] | ||||
|     #[deserr(default)] | ||||
|     #[schema(value_type = Option<String>)] | ||||
|     pub model: Setting<String>, | ||||
|     #[serde(default, skip_serializing_if = "Setting::is_not_set")] | ||||
|     #[deserr(default)] | ||||
|     #[schema(value_type = Option<String>)] | ||||
|     pub revision: Setting<String>, | ||||
|     #[serde(default, skip_serializing_if = "Setting::is_not_set")] | ||||
|     #[deserr(default)] | ||||
|     #[schema(value_type = Option<String>)] | ||||
|     pub api_key: Setting<String>, | ||||
|     #[serde(default, skip_serializing_if = "Setting::is_not_set")] | ||||
|     #[deserr(default)] | ||||
|     #[schema(value_type = Option<String>)] | ||||
|     pub dimensions: Setting<usize>, | ||||
|     #[serde(default, skip_serializing_if = "Setting::is_not_set")] | ||||
|     #[deserr(default)] | ||||
|     #[schema(value_type = Option<bool>)] | ||||
|     pub binary_quantized: Setting<bool>, | ||||
|     #[serde(default, skip_serializing_if = "Setting::is_not_set")] | ||||
|     #[deserr(default)] | ||||
|     #[schema(value_type = Option<bool>)] | ||||
|     pub document_template: Setting<String>, | ||||
|     #[serde(default, skip_serializing_if = "Setting::is_not_set")] | ||||
|     #[deserr(default)] | ||||
|     #[schema(value_type = Option<usize>)] | ||||
|     pub document_template_max_bytes: Setting<usize>, | ||||
|     #[serde(default, skip_serializing_if = "Setting::is_not_set")] | ||||
|     #[deserr(default)] | ||||
|     #[schema(value_type = Option<String>)] | ||||
|     pub url: Setting<String>, | ||||
|     #[serde(default, skip_serializing_if = "Setting::is_not_set")] | ||||
|     #[deserr(default)] | ||||
|     #[schema(value_type = Option<serde_json::Value>)] | ||||
|     pub request: Setting<serde_json::Value>, | ||||
|     #[serde(default, skip_serializing_if = "Setting::is_not_set")] | ||||
|     #[deserr(default)] | ||||
|     #[schema(value_type = Option<serde_json::Value>)] | ||||
|     pub response: Setting<serde_json::Value>, | ||||
|     #[serde(default, skip_serializing_if = "Setting::is_not_set")] | ||||
|     #[deserr(default)] | ||||
|     #[schema(value_type = Option<BTreeMap<String, String>>)] | ||||
|     pub headers: Setting<BTreeMap<String, String>>, | ||||
|     #[serde(default, skip_serializing_if = "Setting::is_not_set")] | ||||
|     #[deserr(default)] | ||||
|     #[schema(value_type = Option<DistributionShift>)] | ||||
|     pub distribution: Setting<DistributionShift>, | ||||
| } | ||||
|  | ||||
| @@ -539,7 +553,7 @@ impl EmbeddingSettings { | ||||
|     } | ||||
| } | ||||
|  | ||||
| #[derive(Debug, Clone, Copy, Default, Serialize, Deserialize, PartialEq, Eq, Deserr)] | ||||
| #[derive(Debug, Clone, Copy, Default, Serialize, Deserialize, PartialEq, Eq, Deserr, ToSchema)] | ||||
| #[serde(deny_unknown_fields, rename_all = "camelCase")] | ||||
| #[deserr(rename_all = camelCase, deny_unknown_fields)] | ||||
| pub enum EmbedderSource { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user