langchain/docs/docs/integrations/tools/wikidata.ipynb
Rock2z 768e4a7fd4
[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>
2024-12-16 16:22:18 +00:00

119 lines
4.0 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"cells": [
{
"cell_type": "markdown",
"id": "c4b39799",
"metadata": {},
"source": [
"# Wikidata\n",
"\n",
">[Wikidata](https://wikidata.org/) is a free and open knowledge base that can be read and edited by both humans and machines. Wikidata is one of the world's largest open knowledge bases.\n",
"\n",
"First, you need to install `wikibase-rest-api-client` and `mediawikiapi` python packages."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "d622c581",
"metadata": {
"vscode": {
"languageId": "shellscript"
}
},
"outputs": [],
"source": [
"%pip install --upgrade --quiet wikibase-rest-api-client mediawikiapi"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "955988a1-ebc2-4c9a-9298-c493fe842de1",
"metadata": {
"execution": {
"iopub.execute_input": "2024-03-06T22:55:15.973160Z",
"iopub.status.busy": "2024-03-06T22:55:15.972606Z",
"iopub.status.idle": "2024-03-06T22:55:15.980336Z",
"shell.execute_reply": "2024-03-06T22:55:15.979687Z",
"shell.execute_reply.started": "2024-03-06T22:55:15.973114Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Result Q7251:\n",
"Label: Alan Turing\n",
"Description: English computer scientist (19121954)\n",
"Aliases: Alan M. Turing, Alan Mathieson Turing, Turing, Alan Mathison Turing\n",
"instance of: human\n",
"country of citizenship: United Kingdom\n",
"occupation: computer scientist, mathematician, university teacher, cryptographer, logician, statistician, marathon runner, artificial intelligence researcher\n",
"sex or gender: male\n",
"date of birth: 1912-06-23\n",
"date of death: 1954-06-07\n",
"sport: athletics\n",
"place of birth: Maida Vale, Warrington Lodge\n",
"educated at: King's College, Princeton University, Sherborne School, Hazlehurst Community Primary School\n",
"employer: Victoria University of Manchester, Government Communications Headquarters, University of Cambridge, National Physical Laboratory (United Kingdom)\n",
"place of death: Wilmslow\n",
"field of work: cryptanalysis, computer science, mathematics, logic, cryptography\n",
"cause of death: cyanide poisoning\n",
"notable work: On Computable Numbers, with an Application to the Entscheidungsproblem, Computing Machinery and Intelligence, Intelligent Machinery, halting problem, Turing machine, Turing test, Turing completeness, Church-Turing thesis, universal Turing machine, Symmetric Turing machine, non-deterministic Turing machine, Bombe, probabilistic Turing machine, Turing degree\n",
"religion or worldview: atheism\n",
"mother: Ethel Sara Stoney\n",
"father: Julius Mathison Turing\n",
"doctoral student: Robin Gandy, Beatrice Helen Worsley\n",
"student: Robin Gandy\n",
"\n",
"Result Q28846012:\n",
"Label: Alan Turing\n",
"Description: fictional analogon of Alan Turing (1912-1954)\n",
"Aliases: Alan Mathison Turing\n",
"instance of: fictional human\n",
"sex or gender: male\n"
]
}
],
"source": [
"from langchain_community.tools.wikidata.tool import WikidataAPIWrapper, WikidataQueryRun\n",
"\n",
"wikidata = WikidataQueryRun(api_wrapper=WikidataAPIWrapper())\n",
"\n",
"print(wikidata.run(\"Alan Turing\"))"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "7188d62f",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.12.5"
}
},
"nbformat": 4,
"nbformat_minor": 5
}