mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-01-08 15:48:29 +00:00
avoinding organic error on serper dev tool
This commit is contained in:
@@ -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,18 +28,22 @@ class SeperDevTool(BaseTool):
|
||||
'content-type': 'application/json'
|
||||
}
|
||||
response = requests.request("POST", self.search_url, headers=headers, data=payload)
|
||||
results = response.json()['organic']
|
||||
stirng = []
|
||||
for result in results:
|
||||
try:
|
||||
stirng.append('\n'.join([
|
||||
f"Title: {result['title']}",
|
||||
f"Link: {result['link']}",
|
||||
f"Snippet: {result['snippet']}",
|
||||
"---"
|
||||
]))
|
||||
except KeyError:
|
||||
next
|
||||
results = response.json()
|
||||
if 'organic' in results:
|
||||
results = results['organic']
|
||||
stirng = []
|
||||
for result in results:
|
||||
try:
|
||||
stirng.append('\n'.join([
|
||||
f"Title: {result['title']}",
|
||||
f"Link: {result['link']}",
|
||||
f"Snippet: {result['snippet']}",
|
||||
"---"
|
||||
]))
|
||||
except KeyError:
|
||||
next
|
||||
|
||||
content = '\n'.join(stirng)
|
||||
return f"\nSearch results: {content}\n"
|
||||
content = '\n'.join(stirng)
|
||||
return f"\nSearch results: {content}\n"
|
||||
else:
|
||||
return results
|
||||
|
||||
Reference in New Issue
Block a user