Skip to content

Commit 868d365

Browse files
committed
fix(graph): raise InvalidGQLGenerationError with intermediate_steps
Fixes #178
1 parent 9940b86 commit 868d365

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

src/langchain_google_spanner/graph_qa.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,12 @@ class VerifyGqlOutput(BaseModel):
7171
INTERMEDIATE_STEPS_KEY = "intermediate_steps"
7272

7373

74+
class InvalidGQLGenerationError(ValueError):
75+
def __init__(self, message, intermediate_steps=None):
76+
self.intermediate_steps = intermediate_steps
77+
super().__init__(message)
78+
79+
7480
class SpannerGraphQAChain(Chain):
7581
"""Chain for question-answering against a Spanner Graph database by
7682
generating GQL statements from natural language questions.
@@ -268,7 +274,9 @@ def execute_with_retry(
268274
finally:
269275
retries += 1
270276

271-
raise ValueError("The generated gql query is invalid")
277+
raise InvalidGQLGenerationError(
278+
"The generated gql query is invalid", intermediate_steps
279+
)
272280

273281
def log_invalid_query(
274282
self,
@@ -322,7 +330,9 @@ def _call(
322330
_run_manager, intermediate_steps, question, verified_gql
323331
)
324332
if not final_gql:
325-
raise ValueError("No GQL was generated.")
333+
raise InvalidGQLGenerationError(
334+
"No GQL was generated.", intermediate_steps
335+
)
326336
_run_manager.on_text("Full Context:", end="\n", verbose=self.verbose)
327337
_run_manager.on_text(
328338
str(context), color="green", end="\n", verbose=self.verbose

0 commit comments

Comments
 (0)