mirror of
https://github.com/danswer-ai/danswer.git
synced 2025-03-17 21:32:36 +01:00
merging two columns into one nullable column, num_days
This commit is contained in:
parent
17807d5a56
commit
b61bd3da2f
1
.gitignore
vendored
1
.gitignore
vendored
@ -4,7 +4,6 @@
|
||||
.mypy_cache
|
||||
.idea
|
||||
/backend/apicache/
|
||||
/backend/package-lock.json
|
||||
/deployment/data/nginx/app.conf
|
||||
.vscode/launch.json
|
||||
*.sw?
|
||||
|
@ -17,14 +17,8 @@ depends_on: None = None
|
||||
|
||||
|
||||
def upgrade() -> None:
|
||||
op.add_column(
|
||||
"persona", sa.Column("use_recent_documents", sa.Boolean(), nullable=True)
|
||||
)
|
||||
op.execute("UPDATE persona SET use_recent_documents = false")
|
||||
op.alter_column("persona", "use_recent_documents", nullable=False)
|
||||
op.add_column("persona", sa.Column("num_days", sa.Float(), nullable=True))
|
||||
|
||||
|
||||
def downgrade() -> None:
|
||||
op.drop_column("persona", "use_recent_documents")
|
||||
op.drop_column("persona", "num_days")
|
||||
|
@ -85,7 +85,6 @@ def load_personas_from_yaml(
|
||||
num_chunks=persona.get("num_chunks")
|
||||
if persona.get("num_chunks") is not None
|
||||
else default_chunks,
|
||||
use_recent_documents=persona.get("use_recent_documents", False),
|
||||
num_days=persona.get("num_days"),
|
||||
llm_relevance_filter=persona.get("llm_relevance_filter"),
|
||||
starter_messages=persona.get("starter_messages"),
|
||||
|
@ -15,8 +15,6 @@ personas:
|
||||
# Remove the field to set to the system default number of chunks/tokens to pass to Gen AI
|
||||
# Each chunk is 512 tokens long
|
||||
num_chunks: 10
|
||||
# Flag to limit all searches to most recent documents by last_updated_time
|
||||
use_recent_documents: false
|
||||
# Specifies how young a document should be to be included in search context
|
||||
# If a documents last_updated_time is over the current time + num_days it is excluded
|
||||
# Field unused if use_recent_documents is set to false
|
||||
@ -52,7 +50,6 @@ personas:
|
||||
prompts:
|
||||
- "OnlyLLM"
|
||||
num_chunks: 0
|
||||
use_recent_documents: false
|
||||
llm_relevance_filter: true
|
||||
llm_filter_extraction: true
|
||||
recency_bias: "auto"
|
||||
@ -66,7 +63,6 @@ personas:
|
||||
prompts:
|
||||
- "Paraphrase"
|
||||
num_chunks: 10
|
||||
use_recent_documents: false
|
||||
llm_relevance_filter: true
|
||||
llm_filter_extraction: true
|
||||
recency_bias: "auto"
|
||||
|
@ -971,8 +971,6 @@ class Persona(Base):
|
||||
)
|
||||
# Number of chunks to pass to the LLM for generation.
|
||||
num_chunks: Mapped[float | None] = mapped_column(Float, nullable=True)
|
||||
# True if persona should only use context from recent documents, false by default
|
||||
use_recent_documents: Mapped[bool] = mapped_column(Boolean)
|
||||
# Number of days old for last_updated documents, only used if use_recent_documents is true
|
||||
num_days: Mapped[float | None] = mapped_column(Float, nullable=True)
|
||||
# Pass every chunk through LLM for evaluation, fairly expensive
|
||||
|
@ -82,7 +82,6 @@ def create_update_persona(
|
||||
name=create_persona_request.name,
|
||||
description=create_persona_request.description,
|
||||
num_chunks=create_persona_request.num_chunks,
|
||||
use_recent_documents=create_persona_request.use_recent_documents,
|
||||
num_days=create_persona_request.num_days,
|
||||
llm_relevance_filter=create_persona_request.llm_relevance_filter,
|
||||
llm_filter_extraction=create_persona_request.llm_filter_extraction,
|
||||
@ -329,7 +328,6 @@ def upsert_persona(
|
||||
name: str,
|
||||
description: str,
|
||||
num_chunks: float,
|
||||
use_recent_documents: bool,
|
||||
num_days: float | None,
|
||||
llm_relevance_filter: bool,
|
||||
llm_filter_extraction: bool,
|
||||
@ -369,7 +367,6 @@ def upsert_persona(
|
||||
persona.name = name
|
||||
persona.description = description
|
||||
persona.num_chunks = num_chunks
|
||||
persona.use_recent_documents = use_recent_documents
|
||||
persona.num_days = num_days
|
||||
persona.llm_relevance_filter = llm_relevance_filter
|
||||
persona.llm_filter_extraction = llm_filter_extraction
|
||||
@ -402,7 +399,6 @@ def upsert_persona(
|
||||
name=name,
|
||||
description=description,
|
||||
num_chunks=num_chunks,
|
||||
use_recent_documents=use_recent_documents,
|
||||
num_days=num_days,
|
||||
llm_relevance_filter=llm_relevance_filter,
|
||||
llm_filter_extraction=llm_filter_extraction,
|
||||
|
@ -58,7 +58,6 @@ def create_slack_bot_persona(
|
||||
name=persona_name,
|
||||
description="",
|
||||
num_chunks=num_chunks,
|
||||
use_recent_documents=False,
|
||||
num_days=None,
|
||||
llm_relevance_filter=True,
|
||||
llm_filter_extraction=True,
|
||||
|
@ -48,7 +48,7 @@ class BaseFilters(BaseModel):
|
||||
|
||||
@classmethod
|
||||
def from_persona(cls, persona: Persona) -> "BaseFilters | None":
|
||||
if persona.use_recent_documents and persona.num_days is not None:
|
||||
if persona.num_days is not None:
|
||||
from_date = datetime.now(timezone.utc) - timedelta(days=persona.num_days)
|
||||
return cls(time_cutoff=from_date)
|
||||
else:
|
||||
|
@ -19,7 +19,6 @@ class CreatePersonaRequest(BaseModel):
|
||||
name: str
|
||||
description: str
|
||||
num_chunks: float
|
||||
use_recent_documents: bool
|
||||
num_days: float
|
||||
llm_relevance_filter: bool
|
||||
is_public: bool
|
||||
@ -46,7 +45,6 @@ class PersonaSnapshot(BaseModel):
|
||||
display_priority: int | None
|
||||
description: str
|
||||
num_chunks: float | None
|
||||
use_recent_documents: bool
|
||||
num_days: float | None
|
||||
llm_relevance_filter: bool
|
||||
llm_filter_extraction: bool
|
||||
@ -84,7 +82,6 @@ class PersonaSnapshot(BaseModel):
|
||||
display_priority=persona.display_priority,
|
||||
description=persona.description,
|
||||
num_chunks=persona.num_chunks,
|
||||
use_recent_documents=persona.use_recent_documents,
|
||||
num_days=persona.num_days,
|
||||
llm_relevance_filter=persona.llm_relevance_filter,
|
||||
llm_filter_extraction=persona.llm_filter_extraction,
|
||||
|
6
backend/package-lock.json
generated
6
backend/package-lock.json
generated
@ -1,6 +0,0 @@
|
||||
{
|
||||
"name": "backend",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {}
|
||||
}
|
14
web/package-lock.json
generated
14
web/package-lock.json
generated
@ -2424,11 +2424,11 @@
|
||||
}
|
||||
},
|
||||
"node_modules/braces": {
|
||||
"version": "3.0.3",
|
||||
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
|
||||
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
|
||||
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
|
||||
"dependencies": {
|
||||
"fill-range": "^7.1.1"
|
||||
"fill-range": "^7.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
@ -3896,9 +3896,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/fill-range": {
|
||||
"version": "7.1.1",
|
||||
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
|
||||
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
|
||||
"version": "7.0.1",
|
||||
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
|
||||
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
|
||||
"dependencies": {
|
||||
"to-regex-range": "^5.0.1"
|
||||
},
|
||||
|
@ -176,7 +176,7 @@ export function AssistantEditor({
|
||||
existingPersona?.document_sets?.map((documentSet) => documentSet.id) ??
|
||||
([] as number[]),
|
||||
num_chunks: existingPersona?.num_chunks ?? null,
|
||||
recent_documents_enabled: existingPersona?.use_recent_documents ?? false,
|
||||
recent_documents_enabled: existingPersona?.num_days != null,
|
||||
num_days: existingPersona?.num_days ?? null,
|
||||
include_citations: existingPersona?.prompts[0]?.include_citations ?? true,
|
||||
llm_relevance_filter: existingPersona?.llm_relevance_filter ?? false,
|
||||
@ -318,7 +318,6 @@ export function AssistantEditor({
|
||||
existingPromptId: existingPrompt?.id,
|
||||
...values,
|
||||
num_chunks: numChunks,
|
||||
use_recent_documents: useRecentDocuments,
|
||||
num_days: numDays,
|
||||
users:
|
||||
user && !checkUserIsNoAuthUser(user.id) ? [user.id] : undefined,
|
||||
@ -329,7 +328,6 @@ export function AssistantEditor({
|
||||
[promptResponse, personaResponse] = await createPersona({
|
||||
...values,
|
||||
num_chunks: numChunks,
|
||||
use_recent_documents: useRecentDocuments,
|
||||
num_days: numDays,
|
||||
users:
|
||||
user && !checkUserIsNoAuthUser(user.id) ? [user.id] : undefined,
|
||||
|
@ -36,7 +36,7 @@ export interface Persona {
|
||||
llm_model_version_override?: string;
|
||||
starter_messages: StarterMessage[] | null;
|
||||
use_recent_documents: boolean;
|
||||
num_days?: number;
|
||||
num_days: number | null;
|
||||
default_persona: boolean;
|
||||
users: MinimalUserSnapshot[];
|
||||
groups: number[];
|
||||
|
@ -7,7 +7,6 @@ interface PersonaCreationRequest {
|
||||
task_prompt: string;
|
||||
document_set_ids: number[];
|
||||
num_chunks: number | null;
|
||||
use_recent_documents: boolean;
|
||||
num_days: number | null;
|
||||
include_citations: boolean;
|
||||
is_public: boolean;
|
||||
@ -29,7 +28,6 @@ interface PersonaUpdateRequest {
|
||||
task_prompt: string;
|
||||
document_set_ids: number[];
|
||||
num_chunks: number | null;
|
||||
use_recent_documents: boolean;
|
||||
num_days: number | null;
|
||||
include_citations: boolean;
|
||||
is_public: boolean;
|
||||
@ -109,7 +107,6 @@ function buildPersonaAPIBody(
|
||||
description,
|
||||
document_set_ids,
|
||||
num_chunks,
|
||||
use_recent_documents,
|
||||
num_days,
|
||||
llm_relevance_filter,
|
||||
is_public,
|
||||
@ -122,7 +119,6 @@ function buildPersonaAPIBody(
|
||||
name,
|
||||
description,
|
||||
num_chunks,
|
||||
use_recent_documents,
|
||||
num_days,
|
||||
llm_relevance_filter,
|
||||
llm_filter_extraction: false,
|
||||
|
Loading…
x
Reference in New Issue
Block a user