MiniMax provides an OpenAI-compatible API, making integration
straightforward. This adds:
- MiniMax model wrapper class (OpenAI-compatible)
- Model token mappings for MiniMax-M1, M2, and M2.5 models
- Provider routing in abstract_graph factory
- README update listing MiniMax as a supported provider
The PromptTemplate expects 'content' variable but the code was passing
'context', causing KeyError during graph execution.
Fixes#995
Signed-off-by: majiayu000 <1835304752@qq.com>
- Change ResponseSchema and StructuredOutputParser imports to use
langchain_classic.output_parsers instead of langchain_core.output_parsers
- Change create_extraction_chain import to use langchain_classic.chains
instead of langchain.chains
- Add langchain-classic>=1.0.0 as explicit dependency
- Relax async-timeout requirement to >=4.0.0 for compatibility
Fixes#1017
Signed-off-by: majiayu000 <1835304752@qq.com>
On some pages document.body can be null (non-standard DOM structure or early script execution).
Accessing document.body.scrollHeight caused errors in these cases.
- Created Nvidia wrapper model class in scrapegraphai/models/nvidia.py
- Updated models/__init__.py to export Nvidia class
- Updated abstract_graph.py to use Nvidia wrapper instead of direct ChatNVIDIA import
- Added nvidia as optional dependency in pyproject.toml
- Created example usage file for NVIDIA in examples/smart_scraper_graph/nvidia/
Co-authored-by: VinciGit00 <88108002+VinciGit00@users.noreply.github.com>
- Add timeout parameter to FetchNode (default: 30 seconds)
- Apply timeout to requests.get() calls to prevent indefinite hangs
- Implement timeout for PDF parsing using ThreadPoolExecutor
- Propagate timeout to ChromiumLoader via loader_kwargs
- Add comprehensive unit tests for timeout functionality
- Fully backward compatible (timeout can be disabled with None)
Fixes issue with requests.get() and PDF parsing blocking indefinitely
on slow/unresponsive servers or large documents.
Usage:
node_config={'timeout': 30} # Custom timeout
node_config={'timeout': None} # Disable timeout
node_config={} # Use default 30s timeout
Before: Using Burr Integration in SmartScraperGraph resulted in error: ValueError: Action ParseNode attempted to write to keys {'content'} that it did not declare. It declared: (['parsed_doc'])!
Before Burr integration would cause an error in fetch:
ValueError: Action Fetch attempted to write to keys {'original_html'} that it did not declare. It declared: (['doc'])!
- Add Pydantic models for state validation in code_error_analysis.py and code_error_correction.py
- Implement comprehensive key existence checks to prevent KeyError exceptions
- Create custom exception hierarchy for better error management
- Add improved PDF detection with regex pattern matching in research_web.py
- Implement input validation for all public functions
- Add detailed error messages and type hints