mirror of
https://github.com/hwchase17/langchain.git
synced 2025-07-16 17:53:37 +00:00
community[patch]: add args_schema to WikipediaQueryRun (#22019)
Description: This change adds args_schema (pydantic BaseModel) to WikipediaQueryRun for correct schema formatting on LLM function calls Issue: currently using WikipediaQueryRun with OpenAI function calling returns the following error "TypeError: WikipediaQueryRun._run() got an unexpected keyword argument '__arg1' ". This happens because the schema sent to the LLM is "input: '{"__arg1":"Hunter x Hunter"}'" while the method should be called with the "query" parameter. --------- Co-authored-by: Bagatur <22008038+baskaryan@users.noreply.github.com> Co-authored-by: Bagatur <baskaryan@gmail.com>
This commit is contained in:
parent
3c1d77dd64
commit
28456c2c33
@ -1,13 +1,20 @@
|
|||||||
"""Tool for the Wikipedia API."""
|
"""Tool for the Wikipedia API."""
|
||||||
|
|
||||||
from typing import Optional
|
from typing import Optional, Type
|
||||||
|
|
||||||
from langchain_core.callbacks import CallbackManagerForToolRun
|
from langchain_core.callbacks import CallbackManagerForToolRun
|
||||||
|
from langchain_core.pydantic_v1 import BaseModel, Field
|
||||||
from langchain_core.tools import BaseTool
|
from langchain_core.tools import BaseTool
|
||||||
|
|
||||||
from langchain_community.utilities.wikipedia import WikipediaAPIWrapper
|
from langchain_community.utilities.wikipedia import WikipediaAPIWrapper
|
||||||
|
|
||||||
|
|
||||||
|
class WikipediaQueryInput(BaseModel):
|
||||||
|
"""Input for the WikipediaQuery tool."""
|
||||||
|
|
||||||
|
query: str = Field(description="query to look up on wikipedia")
|
||||||
|
|
||||||
|
|
||||||
class WikipediaQueryRun(BaseTool):
|
class WikipediaQueryRun(BaseTool):
|
||||||
"""Tool that searches the Wikipedia API."""
|
"""Tool that searches the Wikipedia API."""
|
||||||
|
|
||||||
@ -20,6 +27,8 @@ class WikipediaQueryRun(BaseTool):
|
|||||||
)
|
)
|
||||||
api_wrapper: WikipediaAPIWrapper
|
api_wrapper: WikipediaAPIWrapper
|
||||||
|
|
||||||
|
args_schema: Type[BaseModel] = WikipediaQueryInput
|
||||||
|
|
||||||
def _run(
|
def _run(
|
||||||
self,
|
self,
|
||||||
query: str,
|
query: str,
|
||||||
|
Loading…
Reference in New Issue
Block a user