Skip to content

Commit cc0b4e5

Browse files
committed
fix: use HasField for proto3 optional fields in types.py
1 parent 6765247 commit cc0b4e5

File tree

1 file changed

+12
-2
lines changed
  • backends/python/server/text_embeddings_server/models

1 file changed

+12
-2
lines changed

backends/python/server/text_embeddings_server/models/types.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,18 @@ def from_pb(
8181
all_tensors = all_tensors.to(device)
8282

8383
# XProvence: Extract raw text if present in proto
84-
raw_query = pb.raw_query if hasattr(pb, 'raw_query') and pb.raw_query else None
85-
raw_text = pb.raw_text if hasattr(pb, 'raw_text') and pb.raw_text else None
84+
# Use HasField for proto3 optional fields to properly detect if they were set
85+
raw_query = None
86+
raw_text = None
87+
if hasattr(pb, 'HasField'):
88+
if pb.HasField('raw_query'):
89+
raw_query = pb.raw_query
90+
if pb.HasField('raw_text'):
91+
raw_text = pb.raw_text
92+
else:
93+
# Fallback for older proto versions
94+
raw_query = pb.raw_query if pb.raw_query else None
95+
raw_text = pb.raw_text if pb.raw_text else None
8696

8797
return PaddedBatch(
8898
input_ids=all_tensors[0],

0 commit comments

Comments
 (0)