Skip to content

Commit 78c255f

Browse files
committed
.
1 parent deb6315 commit 78c255f

File tree

13 files changed

+146
-113
lines changed

13 files changed

+146
-113
lines changed

backend/onyx/agents/agent_search/orchestration/states.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from pydantic import BaseModel
22

3-
from onyx.chat.prompt_builder.answer_prompt_builder import PromptSnapshot
3+
from onyx.chat.prompt_builder.schemas import PromptSnapshot
44
from onyx.tools.message import ToolCallSummary
55
from onyx.tools.models import SearchToolOverrideKwargs
66
from onyx.tools.models import ToolCallFinalResult

backend/onyx/background/celery/apps/app_base.py

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,15 @@
2424
from onyx.background.celery.apps.task_formatters import CeleryTaskPlainFormatter
2525
from onyx.background.celery.celery_utils import celery_is_worker_primary
2626
from onyx.background.celery.celery_utils import make_probe_path
27-
# from onyx.background.celery.tasks.vespa.document_sync import DOCUMENT_SYNC_PREFIX
28-
# from onyx.background.celery.tasks.vespa.document_sync import DOCUMENT_SYNC_TASKSET_KEY
27+
from onyx.background.celery.tasks.vespa.document_sync import DOCUMENT_SYNC_PREFIX
28+
from onyx.background.celery.tasks.vespa.document_sync import DOCUMENT_SYNC_TASKSET_KEY
2929
from onyx.configs.constants import ONYX_CLOUD_CELERY_TASK_PREFIX
3030
from onyx.configs.constants import OnyxRedisLocks
3131
from onyx.db.engine.sql_engine import get_sqlalchemy_engine
3232
from onyx.document_index.vespa.shared_utils.utils import wait_for_vespa_with_timeout
3333
from onyx.httpx.httpx_pool import HttpxPool
34-
# from onyx.redis.redis_connector import RedisConnector
35-
# from onyx.redis.redis_connector_delete import RedisConnectorDelete
34+
from onyx.redis.redis_connector import RedisConnector
35+
from onyx.redis.redis_connector_delete import RedisConnectorDelete
3636
from onyx.redis.redis_connector_doc_perm_sync import RedisConnectorPermissionSync
3737
from onyx.redis.redis_connector_ext_group_sync import RedisConnectorExternalGroupSync
3838
from onyx.redis.redis_connector_prune import RedisConnectorPrune
@@ -157,9 +157,9 @@ def on_task_postrun(
157157
# NOTE: we want to remove the `Redis*` classes, prefer to just have functions to
158158
# do these things going forward. In short, things should generally be like the doc
159159
# sync task rather than the others below
160-
# if task_id.startswith(DOCUMENT_SYNC_PREFIX):
161-
# r.srem(DOCUMENT_SYNC_TASKSET_KEY, task_id)
162-
# return
160+
if task_id.startswith(DOCUMENT_SYNC_PREFIX):
161+
r.srem(DOCUMENT_SYNC_TASKSET_KEY, task_id)
162+
return
163163

164164
if task_id.startswith(RedisDocumentSet.PREFIX):
165165
document_set_id = RedisDocumentSet.get_id_from_task_id(task_id)
@@ -175,33 +175,33 @@ def on_task_postrun(
175175
r.srem(rug.taskset_key, task_id)
176176
return
177177

178-
# if task_id.startswith(RedisConnectorDelete.PREFIX):
179-
# cc_pair_id = RedisConnector.get_id_from_task_id(task_id)
180-
# if cc_pair_id is not None:
181-
# RedisConnectorDelete.remove_from_taskset(int(cc_pair_id), task_id, r)
182-
# return
183-
184-
# if task_id.startswith(RedisConnectorPrune.SUBTASK_PREFIX):
185-
# cc_pair_id = RedisConnector.get_id_from_task_id(task_id)
186-
# if cc_pair_id is not None:
187-
# RedisConnectorPrune.remove_from_taskset(int(cc_pair_id), task_id, r)
188-
# return
189-
190-
# if task_id.startswith(RedisConnectorPermissionSync.SUBTASK_PREFIX):
191-
# cc_pair_id = RedisConnector.get_id_from_task_id(task_id)
192-
# if cc_pair_id is not None:
193-
# RedisConnectorPermissionSync.remove_from_taskset(
194-
# int(cc_pair_id), task_id, r
195-
# )
196-
# return
197-
198-
# if task_id.startswith(RedisConnectorExternalGroupSync.SUBTASK_PREFIX):
199-
# cc_pair_id = RedisConnector.get_id_from_task_id(task_id)
200-
# if cc_pair_id is not None:
201-
# RedisConnectorExternalGroupSync.remove_from_taskset(
202-
# int(cc_pair_id), task_id, r
203-
# )
204-
# return
178+
if task_id.startswith(RedisConnectorDelete.PREFIX):
179+
cc_pair_id = RedisConnector.get_id_from_task_id(task_id)
180+
if cc_pair_id is not None:
181+
RedisConnectorDelete.remove_from_taskset(int(cc_pair_id), task_id, r)
182+
return
183+
184+
if task_id.startswith(RedisConnectorPrune.SUBTASK_PREFIX):
185+
cc_pair_id = RedisConnector.get_id_from_task_id(task_id)
186+
if cc_pair_id is not None:
187+
RedisConnectorPrune.remove_from_taskset(int(cc_pair_id), task_id, r)
188+
return
189+
190+
if task_id.startswith(RedisConnectorPermissionSync.SUBTASK_PREFIX):
191+
cc_pair_id = RedisConnector.get_id_from_task_id(task_id)
192+
if cc_pair_id is not None:
193+
RedisConnectorPermissionSync.remove_from_taskset(
194+
int(cc_pair_id), task_id, r
195+
)
196+
return
197+
198+
if task_id.startswith(RedisConnectorExternalGroupSync.SUBTASK_PREFIX):
199+
cc_pair_id = RedisConnector.get_id_from_task_id(task_id)
200+
if cc_pair_id is not None:
201+
RedisConnectorExternalGroupSync.remove_from_taskset(
202+
int(cc_pair_id), task_id, r
203+
)
204+
return
205205

206206

207207
def on_celeryd_init(sender: str, conf: Any = None, **kwargs: Any) -> None:

backend/onyx/background/celery/tasks/docfetching/tasks.py

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import time
44
import traceback
55
from time import sleep
6+
from typing import Any
67

78
import sentry_sdk
89
from celery import Celery
@@ -21,7 +22,7 @@
2122
from onyx.background.indexing.job_client import SimpleJob
2223
from onyx.background.indexing.job_client import SimpleJobClient
2324
from onyx.background.indexing.job_client import SimpleJobException
24-
# from onyx.background.indexing.run_docfetching import run_docfetching_entrypoint
25+
from onyx.background.indexing.run_docfetching import run_docfetching_entrypoint
2526
from onyx.configs.constants import CELERY_INDEXING_WATCHDOG_CONNECTOR_TIMEOUT
2627
from onyx.configs.constants import OnyxCeleryTask
2728
from onyx.connectors.exceptions import ConnectorValidationError
@@ -32,7 +33,7 @@
3233
from onyx.db.index_attempt import mark_attempt_canceled
3334
from onyx.db.index_attempt import mark_attempt_failed
3435
from onyx.db.indexing_coordination import IndexingCoordination
35-
# from onyx.redis.redis_connector import RedisConnector
36+
from onyx.redis.redis_connector import RedisConnector
3637
from onyx.utils.logger import setup_logger
3738
from onyx.utils.variable_functionality import global_version
3839
from shared_configs.configs import SENTRY_DSN
@@ -211,14 +212,14 @@ def _docfetching_task(
211212
)
212213

213214
# This is where the heavy/real work happens
214-
# run_docfetching_entrypoint(
215-
# app,
216-
# index_attempt_id,
217-
# tenant_id,
218-
# cc_pair_id,
219-
# is_ee,
220-
# callback=callback,
221-
# )
215+
run_docfetching_entrypoint(
216+
app,
217+
index_attempt_id,
218+
tenant_id,
219+
cc_pair_id,
220+
is_ee,
221+
callback=callback,
222+
)
222223

223224
except ConnectorValidationError:
224225
raise SimpleJobException(
@@ -259,7 +260,7 @@ def process_job_result(
259260
job: SimpleJob,
260261
connector_source: str | None,
261262
index_attempt_id: int,
262-
log_builder: ConnectorIndexingLogBuilder,
263+
log_builder: Any,
263264
) -> SimpleJobResult:
264265
result = SimpleJobResult()
265266
result.connector_source = connector_source

backend/onyx/background/celery/tasks/docprocessing/tasks.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,6 @@
8686
from onyx.file_store.document_batch_storage import get_document_batch_storage
8787
from onyx.httpx.httpx_pool import HttpxPool
8888
from onyx.indexing.embedder import DefaultIndexingEmbedder
89-
from onyx.indexing.indexing_pipeline import run_indexing_pipeline
9089
from onyx.natural_language_processing.search_nlp_models import EmbeddingModel
9190
from onyx.natural_language_processing.search_nlp_models import (
9291
InformationContentClassificationModel,
@@ -1268,6 +1267,8 @@ def _docprocessing_task(
12681267
tenant_id: str,
12691268
batch_num: int,
12701269
) -> None:
1270+
from onyx.indexing.indexing_pipeline import run_indexing_pipeline
1271+
12711272
start_time = time.monotonic()
12721273

12731274
if tenant_id:

backend/onyx/background/indexing/run_docfetching.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
from onyx.connectors.connector_runner import ConnectorRunner
2929
from onyx.connectors.exceptions import ConnectorValidationError
3030
from onyx.connectors.exceptions import UnexpectedValidationError
31-
from onyx.connectors.factory import instantiate_connector
3231
from onyx.connectors.interfaces import CheckpointedConnector
3332
from onyx.connectors.models import ConnectorFailure
3433
from onyx.connectors.models import ConnectorStopSignal
@@ -66,7 +65,6 @@
6665
from onyx.httpx.httpx_pool import HttpxPool
6766
from onyx.indexing.embedder import DefaultIndexingEmbedder
6867
from onyx.indexing.indexing_heartbeat import IndexingHeartbeatInterface
69-
from onyx.indexing.indexing_pipeline import run_indexing_pipeline
7068
from onyx.natural_language_processing.search_nlp_models import (
7169
InformationContentClassificationModel,
7270
)
@@ -100,6 +98,8 @@ def _get_connector_runner(
10098
are the complete list of existing documents of the connector. If the task
10199
of type LOAD_STATE, the list will be considered complete and otherwise incomplete.
102100
"""
101+
from onyx.connectors.factory import instantiate_connector
102+
103103
task = attempt.connector_credential_pair.connector.input_type
104104

105105
try:
@@ -283,6 +283,8 @@ def _run_indexing(
283283
2. Embed and index these documents into the chosen datastore (vespa)
284284
3. Updates Postgres to record the indexed documents + the outcome of this run
285285
"""
286+
from onyx.indexing.indexing_pipeline import run_indexing_pipeline
287+
286288
start_time = time.monotonic() # jsut used for logging
287289

288290
with get_session_with_current_tenant() as db_session_temp:

backend/onyx/chat/prompt_builder/answer_prompt_builder.py

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
from langchain_core.messages import BaseMessage
55
from langchain_core.messages import HumanMessage
66
from langchain_core.messages import SystemMessage
7-
from pydantic import BaseModel
87
from pydantic.v1 import BaseModel as BaseModel__v1
98

109
from onyx.chat.models import PromptConfig
@@ -196,10 +195,6 @@ def build(self) -> list[BaseMessage]:
196195

197196

198197
# Stores some parts of a prompt builder as needed for tool calls
199-
class PromptSnapshot(BaseModel):
200-
raw_message_history: list[PreviousMessage]
201-
raw_user_query: str
202-
built_prompt: list[BaseMessage]
203198

204199

205200
# TODO: rename this? AnswerConfig maybe?
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
from langchain_core.messages import BaseMessage
2+
from pydantic import BaseModel
3+
4+
from onyx.llm.models import PreviousMessage
5+
6+
7+
class PromptSnapshot(BaseModel):
8+
raw_message_history: list[PreviousMessage]
9+
raw_user_query: str
10+
built_prompt: list[BaseMessage]

backend/onyx/chat/tool_handling/tool_response_handler.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from onyx.chat.models import ResponsePart
88
from onyx.chat.prompt_builder.answer_prompt_builder import AnswerPromptBuilder
99
from onyx.chat.prompt_builder.answer_prompt_builder import LLMCall
10-
from onyx.chat.prompt_builder.answer_prompt_builder import PromptSnapshot
10+
from onyx.chat.prompt_builder.schemas import PromptSnapshot
1111
from onyx.llm.interfaces import LLM
1212
from onyx.tools.force import ForceUseTool
1313
from onyx.tools.message import build_tool_message

backend/onyx/db/chat.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656
from onyx.server.query_and_chat.models import ChatMessageDetail
5757
from onyx.server.query_and_chat.models import SubQueryDetail
5858
from onyx.server.query_and_chat.models import SubQuestionDetail
59-
from onyx.tools.tool_runner import ToolCallFinalResult
59+
from onyx.tools.models import ToolCallFinalResult
6060
from onyx.utils.logger import setup_logger
6161
from onyx.utils.special_types import JSON_ro
6262

backend/onyx/db/document.py

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
from sqlalchemy.orm import Session
2323
from sqlalchemy.sql.expression import null
2424

25-
# from onyx.agents.agent_search.kb_search.models import KGEntityDocInfo
25+
from onyx.agents.agent_search.kb_search.models import KGEntityDocInfo
2626
from onyx.configs.constants import DEFAULT_BOOST
2727
from onyx.configs.constants import DocumentSource
2828
from onyx.configs.kg_configs import KG_SIMPLE_ANSWER_MAX_DISPLAYED_SOURCES
@@ -33,7 +33,7 @@
3333
from onyx.db.entities import delete_from_kg_entities_extraction_staging__no_commit
3434
from onyx.db.enums import AccessType
3535
from onyx.db.enums import ConnectorCredentialPairStatus
36-
# from onyx.db.feedback import delete_document_feedback_for_documents__no_commit
36+
from onyx.db.feedback import delete_document_feedback_for_documents__no_commit
3737
from onyx.db.models import Connector
3838
from onyx.db.models import ConnectorCredentialPair
3939
from onyx.db.models import Credential
@@ -747,9 +747,9 @@ def delete_documents_complete__no_commit(
747747
)
748748

749749
delete_documents_by_connector_credential_pair__no_commit(db_session, document_ids)
750-
# delete_document_feedback_for_documents__no_commit(
751-
# document_ids=document_ids, db_session=db_session
752-
# )
750+
delete_document_feedback_for_documents__no_commit(
751+
document_ids=document_ids, db_session=db_session
752+
)
753753
delete_document_tags_for_documents__no_commit(
754754
document_ids=document_ids, db_session=db_session
755755
)
@@ -1199,35 +1199,35 @@ def get_skipped_kg_documents(db_session: Session) -> list[str]:
11991199
return list(db_session.scalars(stmt).all())
12001200

12011201

1202-
# def get_kg_doc_info_for_entity_name(
1203-
# db_session: Session, document_id: str, entity_type: str
1204-
# ) -> KGEntityDocInfo:
1205-
# """
1206-
# Get the semantic ID and the link for an entity name.
1207-
# """
1208-
1209-
# result = (
1210-
# db_session.query(Document.semantic_id, Document.link)
1211-
# .filter(Document.id == document_id)
1212-
# .first()
1213-
# )
1214-
1215-
# if result is None:
1216-
# return KGEntityDocInfo(
1217-
# doc_id=None,
1218-
# doc_semantic_id=None,
1219-
# doc_link=None,
1220-
# semantic_entity_name=f"{entity_type}:{document_id}",
1221-
# semantic_linked_entity_name=f"{entity_type}:{document_id}",
1222-
# )
1223-
1224-
# return KGEntityDocInfo(
1225-
# doc_id=document_id,
1226-
# doc_semantic_id=result[0],
1227-
# doc_link=result[1],
1228-
# semantic_entity_name=f"{entity_type.upper()}:{result[0]}",
1229-
# semantic_linked_entity_name=f"[{entity_type.upper()}:{result[0]}]({result[1]})",
1230-
# )
1202+
def get_kg_doc_info_for_entity_name(
1203+
db_session: Session, document_id: str, entity_type: str
1204+
) -> KGEntityDocInfo:
1205+
"""
1206+
Get the semantic ID and the link for an entity name.
1207+
"""
1208+
1209+
result = (
1210+
db_session.query(Document.semantic_id, Document.link)
1211+
.filter(Document.id == document_id)
1212+
.first()
1213+
)
1214+
1215+
if result is None:
1216+
return KGEntityDocInfo(
1217+
doc_id=None,
1218+
doc_semantic_id=None,
1219+
doc_link=None,
1220+
semantic_entity_name=f"{entity_type}:{document_id}",
1221+
semantic_linked_entity_name=f"{entity_type}:{document_id}",
1222+
)
1223+
1224+
return KGEntityDocInfo(
1225+
doc_id=document_id,
1226+
doc_semantic_id=result[0],
1227+
doc_link=result[1],
1228+
semantic_entity_name=f"{entity_type.upper()}:{result[0]}",
1229+
semantic_linked_entity_name=f"[{entity_type.upper()}:{result[0]}]({result[1]})",
1230+
)
12311231

12321232

12331233
def check_for_documents_needing_kg_processing(

0 commit comments

Comments
 (0)