fix (embedding): fixed query endpoint
This commit is contained in:
parent
3a2d3ddb9f
commit
49ce064a11
1 changed files with 29 additions and 8 deletions
|
|
@ -2831,13 +2831,22 @@ async def _perform_kg_search(
|
||||||
query_embedding = None
|
query_embedding = None
|
||||||
if query and (kg_chunk_pick_method == "VECTOR" or chunks_vdb):
|
if query and (kg_chunk_pick_method == "VECTOR" or chunks_vdb):
|
||||||
embedding_func_config = text_chunks_db.embedding_func
|
embedding_func_config = text_chunks_db.embedding_func
|
||||||
if embedding_func_config and embedding_func_config.func:
|
if embedding_func_config:
|
||||||
try:
|
try:
|
||||||
query_embedding = await embedding_func_config.func([query])
|
# Handle both EmbeddingFunc objects and plain callable functions
|
||||||
query_embedding = query_embedding[
|
from .utils import EmbeddingFunc
|
||||||
0
|
if isinstance(embedding_func_config, EmbeddingFunc):
|
||||||
] # Extract first embedding from batch result
|
embedding_func = embedding_func_config.func
|
||||||
logger.debug("Pre-computed query embedding for all vector operations")
|
else:
|
||||||
|
# It's a plain callable function
|
||||||
|
embedding_func = embedding_func_config
|
||||||
|
|
||||||
|
if embedding_func:
|
||||||
|
query_embedding = await embedding_func([query])
|
||||||
|
query_embedding = query_embedding[
|
||||||
|
0
|
||||||
|
] # Extract first embedding from batch result
|
||||||
|
logger.debug("Pre-computed query embedding for all vector operations")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.warning(f"Failed to pre-compute query embedding: {e}")
|
logger.warning(f"Failed to pre-compute query embedding: {e}")
|
||||||
query_embedding = None
|
query_embedding = None
|
||||||
|
|
@ -3748,7 +3757,13 @@ async def _find_related_text_unit_from_entities(
|
||||||
kg_chunk_pick_method = "WEIGHT"
|
kg_chunk_pick_method = "WEIGHT"
|
||||||
else:
|
else:
|
||||||
try:
|
try:
|
||||||
actual_embedding_func = embedding_func_config.func
|
# Handle both EmbeddingFunc objects and plain callable functions
|
||||||
|
from .utils import EmbeddingFunc
|
||||||
|
if isinstance(embedding_func_config, EmbeddingFunc):
|
||||||
|
actual_embedding_func = embedding_func_config.func
|
||||||
|
else:
|
||||||
|
# It's a plain callable function
|
||||||
|
actual_embedding_func = embedding_func_config
|
||||||
|
|
||||||
selected_chunk_ids = None
|
selected_chunk_ids = None
|
||||||
if actual_embedding_func:
|
if actual_embedding_func:
|
||||||
|
|
@ -4043,7 +4058,13 @@ async def _find_related_text_unit_from_relations(
|
||||||
kg_chunk_pick_method = "WEIGHT"
|
kg_chunk_pick_method = "WEIGHT"
|
||||||
else:
|
else:
|
||||||
try:
|
try:
|
||||||
actual_embedding_func = embedding_func_config.func
|
# Handle both EmbeddingFunc objects and plain callable functions
|
||||||
|
from .utils import EmbeddingFunc
|
||||||
|
if isinstance(embedding_func_config, EmbeddingFunc):
|
||||||
|
actual_embedding_func = embedding_func_config.func
|
||||||
|
else:
|
||||||
|
# It's a plain callable function
|
||||||
|
actual_embedding_func = embedding_func_config
|
||||||
|
|
||||||
if actual_embedding_func:
|
if actual_embedding_func:
|
||||||
selected_chunk_ids = await pick_by_vector_similarity(
|
selected_chunk_ids = await pick_by_vector_similarity(
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue