diff --git a/private_gpt/server/chat/chat_service.py b/private_gpt/server/chat/chat_service.py index 782c17e9..e4e52ead 100644 --- a/private_gpt/server/chat/chat_service.py +++ b/private_gpt/server/chat/chat_service.py @@ -118,7 +118,7 @@ class ChatService: node_postprocessors=[ MetadataReplacementPostProcessor(target_metadata_key="window"), SimilarityPostprocessor( - similarity_cutoff=settings.llm.similarity_value + similarity_cutoff=settings.rag.similarity_value ), ], ) diff --git a/private_gpt/settings/settings.py b/private_gpt/settings/settings.py index 6f8d2809..fd8d8fdf 100644 --- a/private_gpt/settings/settings.py +++ b/private_gpt/settings/settings.py @@ -107,6 +107,12 @@ class LLMSettings(BaseModel): description="If set, any documents retrieved from the RAG must meet a certain score. Acceptable values are between 0 and 1.", ) +class RagSettings(BaseModel): + similarity_value: float = Field( + None, + description="If set, any documents retrieved from the RAG must meet a certain score. Acceptable values are between 0 and 1.", + ) + class VectorstoreSettings(BaseModel): database: Literal["chroma", "qdrant", "pgvector"] @@ -346,6 +352,7 @@ class Settings(BaseModel): data: DataSettings ui: UISettings llm: LLMSettings + rag: RagSettings embedding: EmbeddingSettings llamacpp: LlamaCPPSettings huggingface: HuggingFaceSettings diff --git a/settings.yaml b/settings.yaml index 8eb5c839..aca744d6 100644 --- a/settings.yaml +++ b/settings.yaml @@ -40,7 +40,9 @@ llm: max_new_tokens: 512 context_window: 3900 temperature: 0.1 # The temperature of the model. Increasing the temperature will make the model answer more creatively. A value of 0.1 would be more factual. (Default: 0.1) - #similarity_value: 0.4 #If set, any documents retrieved from the RAG must meet a certain score. Acceptable values are between 0 and 1. + +rag: + #similarity_value: 0.4 #Optional - If set, any documents retrieved from the RAG must meet a certain score. Acceptable values are between 0 and 1. llamacpp: prompt_style: "mistral"