Skip to content

Commit 18e8d85

Browse files
authored
Merge branch 'main' into renovate/python-nonmajor
2 parents 440cdc7 + 51dba31 commit 18e8d85

File tree

2 files changed

+17
-6
lines changed

2 files changed

+17
-6
lines changed

src/langchain_google_spanner/graph_qa.py

Lines changed: 13 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,
@@ -309,6 +317,7 @@ def _call(
309317
}
310318
)
311319
if "verified_gql" in verify_response:
320+
intermediate_steps.append({"raw_generated_gql": generated_gql})
312321
verified_gql = fix_gql_syntax(verify_response["verified_gql"])
313322
intermediate_steps.append({"verified_gql": verified_gql})
314323
else:
@@ -322,7 +331,9 @@ def _call(
322331
_run_manager, intermediate_steps, question, verified_gql
323332
)
324333
if not final_gql:
325-
raise ValueError("No GQL was generated.")
334+
raise InvalidGQLGenerationError(
335+
"No GQL was generated.", intermediate_steps
336+
)
326337
_run_manager.on_text("Full Context:", end="\n", verbose=self.verbose)
327338
_run_manager.on_text(
328339
str(context), color="green", end="\n", verbose=self.verbose

src/langchain_google_spanner/graph_store.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -958,8 +958,8 @@ def __repr__(self) -> str:
958958
"Node properties per node label": {
959959
label: [
960960
{
961-
"property name": name,
962-
"property type": properties[name],
961+
"name": name,
962+
"type": properties[name],
963963
}
964964
for name in self.labels[label].prop_names
965965
]
@@ -968,8 +968,8 @@ def __repr__(self) -> str:
968968
"Edge properties per edge label": {
969969
label: [
970970
{
971-
"property name": name,
972-
"property type": properties[name],
971+
"name": name,
972+
"type": properties[name],
973973
}
974974
for name in self.labels[label].prop_names
975975
]

0 commit comments

Comments
 (0)