Skip to content

Commit bdf69f6

Browse files
VinciGit00MrAliHasansemantic-release-botKhadyotTakaleclaude
authored
Pre/beta (#1081)
* feat: add OpenAI Batch API support for SmartScraperMultiGraph (#1036) Add SmartScraperMultiBatchGraph that uses the OpenAI Batch API for LLM calls, providing ~50% cost savings when real-time results aren't needed. Key features: - SmartScraperMultiBatchGraph: 3-phase pipeline (fetch/parse → batch submit → merge) that separates HTML fetching from LLM generation - BatchGenerateAnswerNode: collects prompts from all URLs and submits them as a single OpenAI Batch API request - utils/batch_api.py: helpers for creating, polling, and retrieving batch results with doc_id → URL mapping - Per-document error handling: partial failures don't break the batch - Configurable polling interval and max wait time - OpenAI-only validation (rejects non-OpenAI providers gracefully) - Results sorted by custom_id for consistent ordering - 18 unit tests with 100% pass rate Usage: graph = SmartScraperMultiBatchGraph( prompt='Extract key points', source=['https://url1.com', 'https://url2.com'], config={'llm': {'model': 'openai/gpt-4o-mini'}} ) result = graph.run() Closes #1036 * ci(release): 1.60.0-beta.2 [skip ci] ## [1.60.0-beta.2](v1.60.0-beta.1...v1.60.0-beta.2) (2026-02-24) ### Features * add OpenAI Batch API support for SmartScraperMultiGraph ([#1036](#1036)) ([9d4eba1](9d4eba1)) * fix: update broken test imports to match current API - Replace removed ScrapeGraph with SmartScraperGraph in scrape_graph_test.py - Replace renamed convert_to_csv/convert_to_json with export_to_csv/export_to_json in xml_scraper_openai_test.py * ci(release): 1.60.0-beta.3 [skip ci] ## [1.60.0-beta.3](v1.60.0-beta.2...v1.60.0-beta.3) (2026-03-15) ### Bug Fixes * update broken test imports to match current API ([536e5ad](536e5ad)) * ci(release): 1.76.0-beta.1 [skip ci] ## [1.76.0-beta.1](v1.75.1...v1.76.0-beta.1) (2026-04-07) ### Features * add OpenAI Batch API support for SmartScraperMultiGraph ([#1036](#1036)) ([9d4eba1](9d4eba1)) ### Bug Fixes * update broken test imports to match current API ([536e5ad](536e5ad)) ### CI * **release:** 1.60.0-beta.2 [skip ci] ([54d1473](54d1473)), closes [#1036](#1036) * **release:** 1.60.0-beta.3 [skip ci] ([637c696](637c696)) * reduce GitHub Actions costs by ~85% on PRs ([403080a](403080a)) * ci(release): 2.1.0-beta.1 [skip ci] ## [2.1.0-beta.1](v2.0.0...v2.1.0-beta.1) (2026-04-19) ### Features * add OpenAI Batch API support for SmartScraperMultiGraph ([#1036](#1036)) ([9d4eba1](9d4eba1)) ### Bug Fixes * update broken test imports to match current API ([536e5ad](536e5ad)) ### CI * **release:** 1.60.0-beta.2 [skip ci] ([54d1473](54d1473)), closes [#1036](#1036) * **release:** 1.60.0-beta.3 [skip ci] ([637c696](637c696)) * **release:** 1.76.0-beta.1 [skip ci] ([35ec272](35ec272)), closes [#1036](#1036) [#1036](#1036) * Add Italian README translation and fix outdated links (#1070) * fix(batch): use langchain_core.prompts for PromptTemplate import langchain 1.x removed langchain.prompts; import from langchain_core to fix ModuleNotFoundError causing all test collection to fail. * ci(release): 2.2.0-beta.1 [skip ci] ## [2.2.0-beta.1](v2.1.1...v2.2.0-beta.1) (2026-05-16) ### Features * add OpenAI Batch API support for SmartScraperMultiGraph ([#1036](#1036)) ([9d4eba1](9d4eba1)) ### Bug Fixes * update broken test imports to match current API ([536e5ad](536e5ad)) * **batch:** use langchain_core.prompts for PromptTemplate import ([24127da](24127da)) ### CI * **release:** 1.60.0-beta.2 [skip ci] ([54d1473](54d1473)), closes [#1036](#1036) * **release:** 1.60.0-beta.3 [skip ci] ([637c696](637c696)) * **release:** 1.76.0-beta.1 [skip ci] ([35ec272](35ec272)), closes [#1036](#1036) [#1036](#1036) * **release:** 2.1.0-beta.1 [skip ci] ([a2ea9eb](a2ea9eb)), closes [#1036](#1036) [#1036](#1036) [#1036](#1036) [#1036](#1036) * feat: upgrade MiniMax default model to M3 (#1080) - Add MiniMax-M3 to the model selection list (524288 context window) - Set MiniMax-M3 as the new default model (first in the dict) - Retain MiniMax-M2.7 and MiniMax-M2.7-highspeed as legacy options - Remove deprecated older versions (M2.5 / M2.5-highspeed / M2 / M1 / M1-40k) - Update unit tests to reflect the new default and removed models * ci(release): 2.2.0-beta.2 [skip ci] ## [2.2.0-beta.2](v2.2.0-beta.1...v2.2.0-beta.2) (2026-06-01) ### Features * upgrade MiniMax default model to M3 ([#1080](#1080)) ([1b16c26](1b16c26)) * ci(release): 2.2.0-beta.3 [skip ci] ## [2.2.0-beta.3](v2.2.0-beta.2...v2.2.0-beta.3) (2026-06-01) ### Bug Fixes * **nodes:** update outdated ChatOllama import path to langchain_ollama ([#1076](#1076)) ([e6054cb](e6054cb)) ### Docs * 📚 Standardize and fix links across translated READMEs ([#1074](#1074)) ([458d36a](458d36a)) ### CI * **release:** 2.1.2 [skip ci] ([210c992](210c992)), closes [#1076](#1076) [#1074](#1074) --------- Co-authored-by: MrAliHasan <mrali.hassan997@gmail.com> Co-authored-by: semantic-release-bot <semantic-release-bot@martynus.net> Co-authored-by: khadyottakale <khadyottakale@gmail.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Co-authored-by: Gabriele Maria Bellavia <gabriele.bellavia.m@gmail.com> Co-authored-by: Octopus <liyuan851277048@icloud.com>
1 parent 210c992 commit bdf69f6

4 files changed

Lines changed: 49 additions & 22 deletions

File tree

CHANGELOG.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,27 @@
1+
## [2.2.0-beta.3](https://github.com/ScrapeGraphAI/Scrapegraph-ai/compare/v2.2.0-beta.2...v2.2.0-beta.3) (2026-06-01)
2+
3+
4+
### Bug Fixes
5+
6+
* **nodes:** update outdated ChatOllama import path to langchain_ollama ([#1076](https://github.com/ScrapeGraphAI/Scrapegraph-ai/issues/1076)) ([e6054cb](https://github.com/ScrapeGraphAI/Scrapegraph-ai/commit/e6054cbf19a7fe940899ea70b30706f676f86fa7))
7+
8+
9+
### Docs
10+
11+
* 📚 Standardize and fix links across translated READMEs ([#1074](https://github.com/ScrapeGraphAI/Scrapegraph-ai/issues/1074)) ([458d36a](https://github.com/ScrapeGraphAI/Scrapegraph-ai/commit/458d36a6b83f4a412206cdbe9935a059e9d47f57))
12+
13+
14+
### CI
15+
16+
* **release:** 2.1.2 [skip ci] ([210c992](https://github.com/ScrapeGraphAI/Scrapegraph-ai/commit/210c99280048863774fa27053412185a5c18150d)), closes [#1076](https://github.com/ScrapeGraphAI/Scrapegraph-ai/issues/1076) [#1074](https://github.com/ScrapeGraphAI/Scrapegraph-ai/issues/1074)
17+
18+
## [2.2.0-beta.2](https://github.com/ScrapeGraphAI/Scrapegraph-ai/compare/v2.2.0-beta.1...v2.2.0-beta.2) (2026-06-01)
19+
20+
21+
### Features
22+
23+
* upgrade MiniMax default model to M3 ([#1080](https://github.com/ScrapeGraphAI/Scrapegraph-ai/issues/1080)) ([1b16c26](https://github.com/ScrapeGraphAI/Scrapegraph-ai/commit/1b16c268f4e9044c1386ccfaf67b38692b487e5a))
24+
125
## [2.1.2](https://github.com/ScrapeGraphAI/Scrapegraph-ai/compare/v2.1.1...v2.1.2) (2026-06-01)
226

327

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[project]
22
name = "scrapegraphai"
33

4-
version = "2.1.2"
4+
version = "2.2.0b3"
55

66
description = "A web scraping library based on LangChain which uses LLM and direct graph logic to create scraping pipelines."
77
authors = [

scrapegraphai/helpers/models_tokens.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -408,12 +408,8 @@
408408
"grok-beta": 128000,
409409
},
410410
"minimax": {
411+
"MiniMax-M3": 524288,
411412
"MiniMax-M2.7": 204000,
412413
"MiniMax-M2.7-highspeed": 204000,
413-
"MiniMax-M1": 1000000,
414-
"MiniMax-M1-40k": 40000,
415-
"MiniMax-M2": 204000,
416-
"MiniMax-M2.5": 204000,
417-
"MiniMax-M2.5-highspeed": 204000,
418414
},
419415
}

tests/test_minimax_models.py

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -25,31 +25,38 @@ def models_tokens():
2525
return module.models_tokens
2626

2727

28-
def test_minimax_m27_in_model_list(models_tokens):
29-
"""MiniMax-M2.7 and MiniMax-M2.7-highspeed should be in the model list."""
28+
def test_minimax_m3_in_model_list(models_tokens):
29+
"""MiniMax-M3 should be in the model list."""
3030
minimax_models = models_tokens["minimax"]
31-
assert "MiniMax-M2.7" in minimax_models
32-
assert "MiniMax-M2.7-highspeed" in minimax_models
31+
assert "MiniMax-M3" in minimax_models
3332

3433

35-
def test_minimax_m27_listed_first(models_tokens):
36-
"""MiniMax-M2.7 should be the first model in the minimax dict."""
34+
def test_minimax_m3_listed_first(models_tokens):
35+
"""MiniMax-M3 should be the first (default) model in the minimax dict."""
3736
minimax_models = list(models_tokens["minimax"].keys())
38-
assert minimax_models[0] == "MiniMax-M2.7"
39-
assert minimax_models[1] == "MiniMax-M2.7-highspeed"
37+
assert minimax_models[0] == "MiniMax-M3"
38+
39+
40+
def test_minimax_m27_still_available(models_tokens):
41+
"""MiniMax-M2.7 and its highspeed variant should remain as legacy options."""
42+
minimax_models = models_tokens["minimax"]
43+
assert "MiniMax-M2.7" in minimax_models
44+
assert "MiniMax-M2.7-highspeed" in minimax_models
4045

4146

42-
def test_minimax_old_models_still_present(models_tokens):
43-
"""All previous MiniMax models should still be available."""
47+
def test_minimax_deprecated_models_removed(models_tokens):
48+
"""Older deprecated MiniMax models should be removed from the list."""
4449
minimax_models = models_tokens["minimax"]
45-
assert "MiniMax-M2.5" in minimax_models
46-
assert "MiniMax-M2.5-highspeed" in minimax_models
47-
assert "MiniMax-M2" in minimax_models
48-
assert "MiniMax-M1" in minimax_models
50+
assert "MiniMax-M2.5" not in minimax_models
51+
assert "MiniMax-M2.5-highspeed" not in minimax_models
52+
assert "MiniMax-M2" not in minimax_models
53+
assert "MiniMax-M1" not in minimax_models
54+
assert "MiniMax-M1-40k" not in minimax_models
4955

5056

51-
def test_minimax_m27_token_limits(models_tokens):
52-
"""MiniMax-M2.7 models should have correct token limits."""
57+
def test_minimax_token_limits(models_tokens):
58+
"""MiniMax model token limits should match upstream documentation."""
5359
minimax_models = models_tokens["minimax"]
60+
assert minimax_models["MiniMax-M3"] == 524288
5461
assert minimax_models["MiniMax-M2.7"] == 204000
5562
assert minimax_models["MiniMax-M2.7-highspeed"] == 204000

0 commit comments

Comments
 (0)