Add option to not re-index (#4157)

* Add option to not re-index

* Add quantizaton / dimensionality override support

* Fix build / ut
This commit is contained in:
Chris Weaver
2025-03-03 10:54:11 -08:00
committed by GitHub
parent 39fd6919ad
commit f25e1e80f6
40 changed files with 1020 additions and 358 deletions

View File

@ -17,7 +17,7 @@ from onyx.db.engine import get_session_context_manager
from onyx.db.engine import get_session_with_tenant
from onyx.db.engine import SYNC_DB_API
from onyx.db.search_settings import get_current_search_settings
from onyx.db.swap_index import check_index_swap
from onyx.db.swap_index import check_and_perform_index_swap
from onyx.document_index.document_index_utils import get_multipass_config
from onyx.document_index.vespa.index import DOCUMENT_ID_ENDPOINT
from onyx.document_index.vespa.index import VespaIndex
@ -194,7 +194,7 @@ def reset_vespa() -> None:
with get_session_context_manager() as db_session:
# swap to the correct default model
check_index_swap(db_session)
check_and_perform_index_swap(db_session)
search_settings = get_current_search_settings(db_session)
multipass_config = get_multipass_config(search_settings)
@ -289,7 +289,7 @@ def reset_vespa_multitenant() -> None:
for tenant_id in get_all_tenant_ids():
with get_session_with_tenant(tenant_id=tenant_id) as db_session:
# swap to the correct default model for each tenant
check_index_swap(db_session)
check_and_perform_index_swap(db_session)
search_settings = get_current_search_settings(db_session)
multipass_config = get_multipass_config(search_settings)

View File

@ -64,7 +64,7 @@ async def test_openai_embedding(
embedding = CloudEmbedding("fake-key", EmbeddingProvider.OPENAI)
result = await embedding._embed_openai(
["test1", "test2"], "text-embedding-ada-002"
["test1", "test2"], "text-embedding-ada-002", None
)
assert result == sample_embeddings
@ -89,6 +89,7 @@ async def test_embed_text_cloud_provider() -> None:
prefix=None,
api_url=None,
api_version=None,
reduced_dimension=None,
)
assert result == [[0.1, 0.2], [0.3, 0.4]]
@ -114,6 +115,7 @@ async def test_embed_text_local_model() -> None:
prefix=None,
api_url=None,
api_version=None,
reduced_dimension=None,
)
assert result == [[0.1, 0.2], [0.3, 0.4]]
@ -157,6 +159,7 @@ async def test_rate_limit_handling() -> None:
prefix=None,
api_url=None,
api_version=None,
reduced_dimension=None,
)
@ -179,6 +182,7 @@ async def test_concurrent_embeddings() -> None:
manual_passage_prefix=None,
api_url=None,
api_version=None,
reduced_dimension=None,
)
with patch("model_server.encoders.get_embedding_model") as mock_get_model: