avoinding organic error on serper dev tool

This commit is contained in:
João Moura
2024-03-03 12:32:13 -03:00
parent 7f683b21f5
commit 8ffbd9665b

View File

@@ -6,14 +6,14 @@ from typing import Type, Any
from pydantic.v1 import BaseModel, Field
from crewai_tools.tools.base_tool import BaseTool
class SeperDevToolSchema(BaseModel):
class SerperDevToolSchema(BaseModel):
"""Input for TXTSearchTool."""
search_query: str = Field(..., description="Mandatory search query you want to use to search the internet")
class SeperDevTool(BaseTool):
class SerperDevTool(BaseTool):
name: str = "Search the internet"
description: str = "A tool that can be used to semantic search a query from a txt's content."
args_schema: Type[BaseModel] = SeperDevToolSchema
args_schema: Type[BaseModel] = SerperDevToolSchema
search_url: str = "https://google.serper.dev/search"
n_results: int = None
@@ -28,7 +28,9 @@ class SeperDevTool(BaseTool):
'content-type': 'application/json'
}
response = requests.request("POST", self.search_url, headers=headers, data=payload)
results = response.json()['organic']
results = response.json()
if 'organic' in results:
results = results['organic']
stirng = []
for result in results:
try:
@@ -43,3 +45,5 @@ class SeperDevTool(BaseTool):
content = '\n'.join(stirng)
return f"\nSearch results: {content}\n"
else:
return results