mirror of
https://github.com/danswer-ai/danswer.git
synced 2025-06-25 07:21:00 +02:00
improve model seeding (#2155)
This commit is contained in:
parent
f8e0e6f015
commit
efae24acd0
@ -4,10 +4,8 @@ from pydantic import BaseModel
|
|||||||
from sqlalchemy.orm import Session
|
from sqlalchemy.orm import Session
|
||||||
|
|
||||||
from danswer.db.engine import get_session_context_manager
|
from danswer.db.engine import get_session_context_manager
|
||||||
from danswer.db.llm import fetch_existing_llm_providers
|
|
||||||
from danswer.db.llm import update_default_provider
|
from danswer.db.llm import update_default_provider
|
||||||
from danswer.db.llm import upsert_llm_provider
|
from danswer.db.llm import upsert_llm_provider
|
||||||
from danswer.db.persona import get_personas
|
|
||||||
from danswer.db.persona import upsert_persona
|
from danswer.db.persona import upsert_persona
|
||||||
from danswer.search.enums import RecencyBiasSetting
|
from danswer.search.enums import RecencyBiasSetting
|
||||||
from danswer.server.features.persona.models import CreatePersonaRequest
|
from danswer.server.features.persona.models import CreatePersonaRequest
|
||||||
@ -50,11 +48,7 @@ def _parse_env() -> SeedConfiguration | None:
|
|||||||
def _seed_llms(
|
def _seed_llms(
|
||||||
db_session: Session, llm_upsert_requests: list[LLMProviderUpsertRequest]
|
db_session: Session, llm_upsert_requests: list[LLMProviderUpsertRequest]
|
||||||
) -> None:
|
) -> None:
|
||||||
# don't seed LLMs if we've already done this
|
if llm_upsert_requests:
|
||||||
existing_llms = fetch_existing_llm_providers(db_session)
|
|
||||||
if existing_llms:
|
|
||||||
return
|
|
||||||
|
|
||||||
logger.info("Seeding LLMs")
|
logger.info("Seeding LLMs")
|
||||||
seeded_providers = [
|
seeded_providers = [
|
||||||
upsert_llm_provider(db_session, llm_upsert_request)
|
upsert_llm_provider(db_session, llm_upsert_request)
|
||||||
@ -64,24 +58,16 @@ def _seed_llms(
|
|||||||
|
|
||||||
|
|
||||||
def _seed_personas(db_session: Session, personas: list[CreatePersonaRequest]) -> None:
|
def _seed_personas(db_session: Session, personas: list[CreatePersonaRequest]) -> None:
|
||||||
# don't seed personas if we've already done this
|
if personas:
|
||||||
existing_personas = get_personas(
|
|
||||||
user_id=None, # Admin view
|
|
||||||
db_session=db_session,
|
|
||||||
include_default=True,
|
|
||||||
include_slack_bot_personas=True,
|
|
||||||
include_deleted=False,
|
|
||||||
)
|
|
||||||
if existing_personas:
|
|
||||||
return
|
|
||||||
|
|
||||||
logger.info("Seeding Personas")
|
logger.info("Seeding Personas")
|
||||||
for persona in personas:
|
for persona in personas:
|
||||||
upsert_persona(
|
upsert_persona(
|
||||||
user=None, # Seeding is done as admin
|
user=None, # Seeding is done as admin
|
||||||
name=persona.name,
|
name=persona.name,
|
||||||
description=persona.description,
|
description=persona.description,
|
||||||
num_chunks=persona.num_chunks if persona.num_chunks is not None else 0.0,
|
num_chunks=persona.num_chunks
|
||||||
|
if persona.num_chunks is not None
|
||||||
|
else 0.0,
|
||||||
llm_relevance_filter=persona.llm_relevance_filter,
|
llm_relevance_filter=persona.llm_relevance_filter,
|
||||||
llm_filter_extraction=persona.llm_filter_extraction,
|
llm_filter_extraction=persona.llm_filter_extraction,
|
||||||
recency_bias=RecencyBiasSetting.AUTO,
|
recency_bias=RecencyBiasSetting.AUTO,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user