mirror of
https://github.com/khoaliber/khoj.git
synced 2026-03-07 13:23:15 +00:00
Update regeneration logic to run for all entries now that we have a single search model ID
This commit is contained in:
@@ -44,6 +44,7 @@ class Command(BaseCommand):
|
|||||||
entries = Entry.objects.filter(entry_filter)[start:end]
|
entries = Entry.objects.filter(entry_filter)[start:end]
|
||||||
compiled_entries = [entry.compiled for entry in entries]
|
compiled_entries = [entry.compiled for entry in entries]
|
||||||
updated_entries: List[Entry] = []
|
updated_entries: List[Entry] = []
|
||||||
|
|
||||||
try:
|
try:
|
||||||
embeddings = embeddings_model.embed_documents(compiled_entries)
|
embeddings = embeddings_model.embed_documents(compiled_entries)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
@@ -87,27 +88,21 @@ class Command(BaseCommand):
|
|||||||
|
|
||||||
current_default = get_default_search_model()
|
current_default = get_default_search_model()
|
||||||
|
|
||||||
# TODO: Migrate all Entry objects to use the new default Search model
|
# Create an entry filter with no conditions
|
||||||
|
entry_filter = Q()
|
||||||
|
relevant_entries = Entry.objects.filter(entry_filter).all()
|
||||||
|
logger.info(f"Number of Entry objects to update: {relevant_entries.count()}")
|
||||||
|
|
||||||
all_agents = Agent.objects.all()
|
if apply:
|
||||||
logger.info(f"Number of Agent objects to update: {all_agents.count()}")
|
try:
|
||||||
for agent in all_agents:
|
regenerate_entries(
|
||||||
entry_filter = Q(agent=agent)
|
entry_filter=entry_filter,
|
||||||
relevant_entries = Entry.objects.filter(entry_filter).all()
|
embeddings_model=embeddings_model[new_default_search_model_config.name],
|
||||||
logger.info(f"Number of Entry objects to update for agent {agent}: {relevant_entries.count()}")
|
search_model=new_default_search_model_config,
|
||||||
|
)
|
||||||
if apply:
|
except Exception as e:
|
||||||
try:
|
logger.error(f"Error updating Entry objects: {e}")
|
||||||
regenerate_entries(
|
return
|
||||||
entry_filter,
|
|
||||||
embeddings_model[new_default_search_model_config.name],
|
|
||||||
new_default_search_model_config,
|
|
||||||
)
|
|
||||||
logger.info(
|
|
||||||
f"Updated {relevant_entries.count()} Entry objects for agent {agent} to use the new default Search model."
|
|
||||||
)
|
|
||||||
except Exception as e:
|
|
||||||
logger.error(f"Error embedding documents: {e}")
|
|
||||||
|
|
||||||
if apply and current_default.id != new_default_search_model_config.id:
|
if apply and current_default.id != new_default_search_model_config.id:
|
||||||
# Get the existing default SearchModelConfig object and update its name
|
# Get the existing default SearchModelConfig object and update its name
|
||||||
|
|||||||
Reference in New Issue
Block a user