mirror of
https://github.com/hwchase17/langchain.git
synced 2025-09-09 06:53:59 +00:00
[community][fix] Compatibility support to bump up wikibase-rest-api-client version (#27316)
**Description:** This PR addresses the `TypeError: sequence item 0: expected str instance, FluentValue found` error when invoking `WikidataQueryRun`. The root cause was an incompatible version of the `wikibase-rest-api-client`, which caused the tool to fail when handling `FluentValue` objects instead of strings. The current implementation only supports `wikibase-rest-api-client<0.2`, but the latest version is `0.2.1`, where the current implementation breaks. Additionally, the error message advises users to install the latest version: [code reference](https://github.com/langchain-ai/langchain/blob/master/libs/community/langchain_community/utilities/wikidata.py#L125C25-L125C32). Therefore, this PR updates the tool to support the latest version of `wikibase-rest-api-client`. Key changes: - Updated the handling of `FluentValue` objects to ensure compatibility with the latest `wikibase-rest-api-client`. - Removed the restriction to `wikibase-rest-api-client<0.2` and updated to support the latest version (`0.2.1`). **Issue:** Fixes [#24093](https://github.com/langchain-ai/langchain/issues/24093) – `TypeError: sequence item 0: expected str instance, FluentValue found`. **Dependencies:** - Upgraded `wikibase-rest-api-client` to the latest version to resolve the issue. --------- Co-authored-by: peiwen_zhang <peiwen_zhang@email.com> Co-authored-by: Erick Friis <erick@langchain.dev> Co-authored-by: Chester Curme <chester.curme@gmail.com>
This commit is contained in:
@@ -147,7 +147,9 @@ class WikidataAPIWrapper(BaseModel):
|
||||
doc_lines.append(f"Aliases: {', '.join(resp.aliases)}")
|
||||
for prop, values in resp.statements.items():
|
||||
if values:
|
||||
doc_lines.append(f"{prop.label}: {', '.join(values)}")
|
||||
doc_lines.append(
|
||||
f"{prop.label}: {', '.join([v.value or 'unknown' for v in values])}"
|
||||
)
|
||||
|
||||
return Document(
|
||||
page_content=("\n".join(doc_lines))[: self.doc_content_chars_max],
|
||||
|
Reference in New Issue
Block a user