mirror of
https://github.com/Significant-Gravitas/AutoGPT.git
synced 2026-01-09 15:17:59 -05:00
feat: Add 'depth' parameter to DataForSEO Related Keywords block (#10983)
Fixes #10982 <!-- Clearly explain the need for these changes: --> The DataForSEO Related Keywords block was missing the `depth` parameter, which is a critical parameter that controls the comprehensiveness of keyword research. The depth parameter determines the number of related keywords returned by the API, ranging from 1 keyword at depth 0 to approximately 4680 keywords at depth 4. ### Changes 🏗️ <!-- Concisely describe all of the changes made in this pull request: --> - Added `depth` parameter to the DataForSEO Related Keywords block as an integer input field (range 0-4) - Added `depth` parameter to the `related_keywords` method signature in the API client - Updated the API client to include the depth parameter in the request payload when provided - Added documentation explaining the depth parameter's effect on the number of returned keywords - Fixed missing parameter in function signature that was causing runtime errors ### Checklist 📋 #### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [x] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - [x] Verified the depth parameter appears correctly in the block UI with appropriate range validation (0-4) - [x] Confirmed the parameter is passed correctly to the API client - [x] Tested that omitting the depth parameter doesn't break existing functionality (defaults to None) - [x] Verified the implementation follows the existing pattern for optional parameters in the DataForSEO blocks #### For configuration changes: - [x] `.env.default` is updated or already compatible with my changes - [x] `docker-compose.yml` is updated or already compatible with my changes - [ ] I have included a list of my configuration changes in the PR description (under **Changes**) Note: No configuration changes were required for this feature addition. --------- Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com> Co-authored-by: Toran Bruce Richards <Torantulino@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
87c773d03a
commit
b34973ca47
@@ -113,6 +113,7 @@ class DataForSeoClient:
|
||||
include_serp_info: bool = False,
|
||||
include_clickstream_data: bool = False,
|
||||
limit: int = 100,
|
||||
depth: Optional[int] = None,
|
||||
) -> List[Dict[str, Any]]:
|
||||
"""
|
||||
Get related keywords from DataForSEO Labs.
|
||||
@@ -125,6 +126,7 @@ class DataForSeoClient:
|
||||
include_serp_info: Include SERP data
|
||||
include_clickstream_data: Include clickstream metrics
|
||||
limit: Maximum number of results (up to 3000)
|
||||
depth: Keyword search depth (0-4), controls number of returned keywords
|
||||
|
||||
Returns:
|
||||
API response with related keywords
|
||||
@@ -148,6 +150,8 @@ class DataForSeoClient:
|
||||
task_data["include_clickstream_data"] = include_clickstream_data
|
||||
if limit is not None:
|
||||
task_data["limit"] = limit
|
||||
if depth is not None:
|
||||
task_data["depth"] = depth
|
||||
|
||||
payload = [task_data]
|
||||
|
||||
|
||||
@@ -78,6 +78,12 @@ class DataForSeoRelatedKeywordsBlock(Block):
|
||||
ge=1,
|
||||
le=3000,
|
||||
)
|
||||
depth: int = SchemaField(
|
||||
description="Keyword search depth (0-4). Controls the number of returned keywords: 0=1 keyword, 1=~8 keywords, 2=~72 keywords, 3=~584 keywords, 4=~4680 keywords",
|
||||
default=1,
|
||||
ge=0,
|
||||
le=4,
|
||||
)
|
||||
|
||||
class Output(BlockSchema):
|
||||
related_keywords: List[RelatedKeyword] = SchemaField(
|
||||
@@ -154,6 +160,7 @@ class DataForSeoRelatedKeywordsBlock(Block):
|
||||
include_serp_info=input_data.include_serp_info,
|
||||
include_clickstream_data=input_data.include_clickstream_data,
|
||||
limit=input_data.limit,
|
||||
depth=input_data.depth,
|
||||
)
|
||||
|
||||
async def run(
|
||||
|
||||
Reference in New Issue
Block a user