scrapegraphai 2.2.1__tar.gz → 2.2.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/.github/workflows/test-suite.yml +1 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/CHANGELOG.md +19 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/PKG-INFO +1 -1
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/docs/chinese.md +6 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/docs/french.md +6 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/docs/german.md +6 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/docs/italian.md +6 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/docs/japanese.md +6 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/docs/korean.md +6 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/docs/portuguese.md +6 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/docs/russian.md +6 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/docs/spanish.md +6 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/docs/turkish.md +6 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/pyproject.toml +1 -1
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/docloaders/chromium.py +32 -3
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/graphs/code_generator_graph.py +5 -1
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/graphs/document_scraper_graph.py +1 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/graphs/omni_scraper_graph.py +1 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/graphs/script_creator_graph.py +1 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/graphs/smart_scraper_graph.py +6 -1
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/graphs/smart_scraper_lite_graph.py +5 -1
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/graphs/smart_scraper_multi_batch_graph.py +2 -3
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/graphs/speech_graph.py +5 -1
- scrapegraphai-2.2.3/scrapegraphai/nodes/parse_node.py +473 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/utils/proxy_rotation.py +11 -6
- scrapegraphai-2.2.3/tests/test_error_page_detection.py +326 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/utils/test_proxy_rotation.py +13 -2
- scrapegraphai-2.2.1/scrapegraphai/nodes/parse_node.py +0 -219
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/.gitattributes +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/.github/FUNDING.yml +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/.github/ISSUE_TEMPLATE/custom.md +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/.github/workflows/codeql.yml +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/.github/workflows/dependency-review.yml +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/.github/workflows/release.yml +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/.gitignore +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/.pre-commit-config.yaml +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/.releaserc.yml +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/.semantic-commits-applied +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/AGENTS.md +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/CODE_OF_CONDUCT.md +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/CONTRIBUTING.md +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/Dockerfile +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/LICENSE +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/Makefile +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/PullRequests/PR_1027_reviews.md +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/README.md +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/SECURITY.md +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/SEMANTIC_COMMITS.md +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/TESTING_INFRASTRUCTURE.md +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/citation.cff +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/codebeaver.yml +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/docker-compose.yml +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/docs/assets/api-banner.png +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/docs/assets/api_banner.png +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/docs/assets/apikey_1.png +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/docs/assets/apikey_2.png +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/docs/assets/apikey_3.png +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/docs/assets/apikey_4.png +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/docs/assets/browserbase_logo.png +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/docs/assets/codespaces-badge.png +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/docs/assets/histogram.png +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/docs/assets/nodemaven-banner.png +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/docs/assets/omniscrapergraph.png +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/docs/assets/omnisearchgraph.png +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/docs/assets/project_overview_diagram.fig +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/docs/assets/project_overview_diagram.png +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/docs/assets/scrapegraphai_logo.png +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/docs/assets/scrapegraphai_logo.svg +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/docs/assets/scriptcreatorgraph.png +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/docs/assets/searchgraph.png +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/docs/assets/sgai-hero.png +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/docs/assets/smartscrapergraph.png +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/docs/assets/speechgraph.png +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/docs/timeout_configuration.md +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/ScrapegraphAI_cookbook.ipynb +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/code_generator_graph/.env.example +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/code_generator_graph/README.md +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/code_generator_graph/ollama/code_generator_graph_ollama.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/code_generator_graph/openai/code_generator_graph_openai.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/csv_scraper_graph/.env.example +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/csv_scraper_graph/README.md +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/csv_scraper_graph/ollama/csv_scraper_graph_multi_ollama.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/csv_scraper_graph/ollama/csv_scraper_ollama.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/csv_scraper_graph/ollama/inputs/username.csv +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/csv_scraper_graph/openai/csv_scraper_graph_multi_openai.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/csv_scraper_graph/openai/csv_scraper_openai.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/csv_scraper_graph/openai/inputs/username.csv +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/custom_graph/.env.example +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/custom_graph/README.md +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/custom_graph/ollama/custom_graph_ollama.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/custom_graph/openai/custom_graph_openai.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/depth_search_graph/.env.example +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/depth_search_graph/README.md +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/depth_search_graph/ollama/depth_search_graph_ollama.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/depth_search_graph/openai/depth_search_graph_openai.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/document_scraper_graph/.env.example +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/document_scraper_graph/README.md +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/document_scraper_graph/ollama/document_scraper_ollama.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/document_scraper_graph/ollama/inputs/plain_html_example.txt +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/document_scraper_graph/openai/document_scraper_openai.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/document_scraper_graph/openai/inputs/markdown_example.md +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/document_scraper_graph/openai/inputs/plain_html_example.txt +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/extras/.env.example +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/extras/Savedscreenshots/test_image.jpeg +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/extras/authenticated_playwright.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/extras/browser_base_integration.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/extras/chromium_selenium.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/extras/cond_smartscraper_usage.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/extras/conditional_usage.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/extras/custom_prompt.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/extras/example.yml +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/extras/force_mode.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/extras/html_mode.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/extras/load_yml.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/extras/no_cut.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/extras/proxy_rotation.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/extras/rag_caching.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/extras/reasoning.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/extras/scrape_do.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/extras/screenshot_scaping.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/extras/serch_graph_scehma.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/extras/slow_mo.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/extras/undected_playwright.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/json_scraper_graph/.env.example +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/json_scraper_graph/README.md +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/json_scraper_graph/ollama/inputs/example.json +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/json_scraper_graph/ollama/json_scraper_multi_ollama.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/json_scraper_graph/ollama/json_scraper_ollama.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/json_scraper_graph/openai/inputs/example.json +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/json_scraper_graph/openai/json_scraper_multi_openai.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/json_scraper_graph/openai/json_scraper_openai.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/json_scraper_graph/openai/md_scraper_openai.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/json_scraper_graph/openai/omni_scraper_openai.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/markdownify/.env.example +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/markdownify/markdownify_scrapegraphai.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/markdownify/markdownify_scrapegraphai_v3.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/markdownify/readme.md +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/omni_scraper_graph/.env.example +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/omni_scraper_graph/README.md +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/omni_scraper_graph/omni_search_openai.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/readme.md +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/script_generator_graph/.env.example +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/script_generator_graph/README.md +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/script_generator_graph/ollama/script_generator_ollama.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/script_generator_graph/ollama/script_multi_generator_ollama.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/script_generator_graph/openai/script_generator_multi_openai.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/script_generator_graph/openai/script_generator_openai.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/script_generator_graph/openai/script_generator_schema_openai.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/search_graph/.env.example +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/search_graph/README.md +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/search_graph/ollama/search_graph_ollama.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/search_graph/ollama/search_graph_schema_ollama.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/search_graph/openai/search_graph_openai.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/search_graph/openai/search_graph_schema_openai.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/search_graph/openai/search_link_graph_openai.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/search_graph/scrapegraphai/.env.example +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/search_graph/scrapegraphai/readme.md +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/search_graph/scrapegraphai/searchscraper_scrapegraphai.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/search_graph/scrapegraphai/searchscraper_scrapegraphai_v3.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/smart_scraper_graph/.env.example +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/smart_scraper_graph/nvidia/smart_scraper_nvidia.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/smart_scraper_graph/ollama/smart_scraper_lite_ollama.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/smart_scraper_graph/ollama/smart_scraper_multi_concat_ollama.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/smart_scraper_graph/ollama/smart_scraper_multi_lite_ollama.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/smart_scraper_graph/ollama/smart_scraper_multi_ollama.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/smart_scraper_graph/ollama/smart_scraper_ollama.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/smart_scraper_graph/ollama/smart_scraper_schema_ollama.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/smart_scraper_graph/openai/smart_scraper_lite_openai.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/smart_scraper_graph/openai/smart_scraper_multi_concat_openai.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/smart_scraper_graph/openai/smart_scraper_multi_lite_openai.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/smart_scraper_graph/openai/smart_scraper_multi_openai.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/smart_scraper_graph/openai/smart_scraper_openai.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/smart_scraper_graph/openai/smart_scraper_schema_openai.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/smart_scraper_graph/scrapegraphai/.env.example +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/smart_scraper_graph/scrapegraphai/readme.md +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/smart_scraper_graph/scrapegraphai/smartscraper_scrapegraphai.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/smart_scraper_graph/scrapegraphai/smartscraper_scrapegraphai_v3.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/speech_graph/.env.example +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/speech_graph/README.md +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/speech_graph/speech_graph_openai.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/xml_scraper_graph/.env.example +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/xml_scraper_graph/README.md +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/xml_scraper_graph/ollama/inputs/books.xml +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/xml_scraper_graph/ollama/xml_scraper_graph_multi_ollama.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/xml_scraper_graph/ollama/xml_scraper_ollama.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/xml_scraper_graph/openai/inputs/books.xml +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/xml_scraper_graph/openai/xml_scraper_graph_multi_openai.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/examples/xml_scraper_graph/openai/xml_scraper_openai.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/media/banner.png +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/pytest.ini +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/__init__.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/builders/__init__.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/builders/graph_builder.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/docloaders/__init__.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/docloaders/browser_base.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/docloaders/plasmate.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/docloaders/scrape_do.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/graphs/__init__.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/graphs/abstract_graph.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/graphs/base_graph.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/graphs/csv_scraper_graph.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/graphs/csv_scraper_multi_graph.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/graphs/depth_search_graph.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/graphs/document_scraper_multi_graph.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/graphs/json_scraper_graph.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/graphs/json_scraper_multi_graph.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/graphs/markdownify_graph.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/graphs/omni_search_graph.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/graphs/screenshot_scraper_graph.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/graphs/script_creator_multi_graph.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/graphs/search_graph.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/graphs/search_link_graph.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/graphs/smart_scraper_multi_concat_graph.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/graphs/smart_scraper_multi_graph.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/graphs/smart_scraper_multi_lite_graph.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/graphs/xml_scraper_graph.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/graphs/xml_scraper_multi_graph.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/helpers/__init__.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/helpers/default_filters.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/helpers/models_tokens.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/helpers/nodes_metadata.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/helpers/robots.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/helpers/schemas.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/integrations/__init__.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/integrations/burr_bridge.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/integrations/indexify_node.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/integrations/scrapegraph_py_compat.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/models/__init__.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/models/atlascloud.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/models/clod.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/models/deepseek.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/models/minimax.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/models/nvidia.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/models/oneapi.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/models/openai_itt.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/models/openai_tts.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/models/xai.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/nodes/__init__.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/nodes/base_node.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/nodes/batch_generate_answer_node.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/nodes/concat_answers_node.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/nodes/conditional_node.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/nodes/description_node.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/nodes/fetch_node.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/nodes/fetch_node_level_k.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/nodes/fetch_screen_node.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/nodes/generate_answer_csv_node.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/nodes/generate_answer_from_image_node.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/nodes/generate_answer_node.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/nodes/generate_answer_node_k_level.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/nodes/generate_answer_omni_node.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/nodes/generate_code_node.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/nodes/generate_scraper_node.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/nodes/get_probable_tags_node.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/nodes/graph_iterator_node.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/nodes/html_analyzer_node.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/nodes/image_to_text_node.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/nodes/markdownify_node.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/nodes/merge_answers_node.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/nodes/merge_generated_scripts_node.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/nodes/parse_node_depth_k_node.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/nodes/prompt_refiner_node.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/nodes/rag_node.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/nodes/reasoning_node.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/nodes/robots_node.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/nodes/search_internet_node.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/nodes/search_link_node.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/nodes/search_node_with_context.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/nodes/text_to_speech_node.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/prompts/__init__.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/prompts/description_node_prompts.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/prompts/generate_answer_node_csv_prompts.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/prompts/generate_answer_node_omni_prompts.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/prompts/generate_answer_node_pdf_prompts.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/prompts/generate_answer_node_prompts.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/prompts/generate_code_node_prompts.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/prompts/get_probable_tags_node_prompts.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/prompts/html_analyzer_node_prompts.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/prompts/merge_answer_node_prompts.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/prompts/merge_generated_scripts_prompts.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/prompts/prompt_refiner_node_prompts.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/prompts/reasoning_node_prompts.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/prompts/robots_node_prompts.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/prompts/search_internet_node_prompts.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/prompts/search_link_node_prompts.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/prompts/search_node_with_context_prompts.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/telemetry/__init__.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/telemetry/telemetry.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/utils/__init__.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/utils/batch_api.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/utils/cleanup_code.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/utils/cleanup_html.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/utils/code_error_analysis.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/utils/code_error_correction.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/utils/convert_to_md.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/utils/copy.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/utils/custom_callback.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/utils/data_export.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/utils/dict_content_compare.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/utils/llm_callback_manager.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/utils/logging.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/utils/model_costs.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/utils/output_parser.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/utils/parse_state_keys.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/utils/prettify_exec_info.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/utils/research_web.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/utils/save_audio_from_bytes.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/utils/save_code_to_file.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/utils/schema_trasform.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/utils/screenshot_scraping/__init__.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/utils/screenshot_scraping/screenshot_preparation.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/utils/screenshot_scraping/text_detection.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/utils/split_text_into_chunks.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/utils/sys_dynamic_import.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/utils/tokenizer.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/utils/tokenizers/tokenizer_mistral.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/utils/tokenizers/tokenizer_ollama.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/utils/tokenizers/tokenizer_openai.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/test +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/QUICKSTART.md +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/README_TESTING.md +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/Readme.md +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/conftest.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/fixtures/benchmarking.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/fixtures/helpers.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/fixtures/mock_server/__init__.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/fixtures/mock_server/server.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/graphs/.env.example +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/graphs/abstract_graph_test.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/graphs/code_generator_graph_openai_test.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/graphs/depth_search_graph_openai_test.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/graphs/inputs/books.xml +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/graphs/inputs/example.json +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/graphs/inputs/plain_html_example.txt +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/graphs/inputs/username.csv +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/graphs/scrape_plain_text_mistral_test.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/graphs/scrape_xml_ollama_test.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/graphs/screenshot_scraper_test.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/graphs/script_generator_test.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/graphs/search_graph_openai_test.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/graphs/search_link_ollama.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/graphs/smart_scraper_clod_test.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/graphs/smart_scraper_ernie_test.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/graphs/smart_scraper_fireworks_test.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/graphs/smart_scraper_multi_lite_graph_openai_test.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/graphs/smart_scraper_ollama_test.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/graphs/smart_scraper_openai_test.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/graphs/xml_scraper_openai_test.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/inputs/books.xml +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/inputs/example.json +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/inputs/plain_html_example.txt +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/inputs/username.csv +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/integration/__init__.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/integration/test_file_formats_integration.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/integration/test_multi_graph_integration.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/integration/test_smart_scraper_integration.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/nodes/fetch_node_test.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/nodes/inputs/books.xml +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/nodes/inputs/example.json +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/nodes/inputs/plain_html_example.txt +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/nodes/inputs/username.csv +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/nodes/robot_node_test.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/nodes/search_internet_node_test.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/nodes/search_link_node_test.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/test_atlascloud_model.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/test_batch_api.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/test_chromium.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/test_cleanup_html.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/test_csv_scraper_multi_graph.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/test_depth_search_graph.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/test_fetch_node_timeout.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/test_generate_answer_node.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/test_json_scraper_graph.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/test_json_scraper_multi_graph.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/test_minimax_models.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/test_models_tokens.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/test_omni_search_graph.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/test_plasmate.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/test_scrape_do.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/test_script_creator_multi_graph.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/test_search_graph.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/test_smart_scraper_multi_concat_graph.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/utils/convert_to_md_test.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/utils/copy_utils_test.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/utils/output_parser_test.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/utils/parse_state_keys_test.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/utils/research_web_test.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/tests/utils/test_sys_dynamic_import.py +0 -0
- {scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/uv.lock +0 -0
|
@@ -1,3 +1,22 @@
|
|
|
1
|
+
## [2.2.3](https://github.com/ScrapeGraphAI/Scrapegraph-ai/compare/v2.2.2...v2.2.3) (2026-09-07)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* **proxy:** handle schemeless proxy server format and broker routing ([70dbd2d](https://github.com/ScrapeGraphAI/Scrapegraph-ai/commit/70dbd2d26d63bdc7473293371a275a4d856737f9))
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Docs
|
|
10
|
+
|
|
11
|
+
* add NodeMaven sponsor to all README languages ([cc8568c](https://github.com/ScrapeGraphAI/Scrapegraph-ai/commit/cc8568cc76f765f3d2bd2db0bdf5018d347af101))
|
|
12
|
+
|
|
13
|
+
## [2.2.2](https://github.com/ScrapeGraphAI/Scrapegraph-ai/compare/v2.2.1...v2.2.2) (2026-08-23)
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### Bug Fixes
|
|
17
|
+
|
|
18
|
+
* **fetch:** surface HTTP errors and missing content instead of answering NA ([adc92f7](https://github.com/ScrapeGraphAI/Scrapegraph-ai/commit/adc92f7eff9aa39d70e3848c6867328c3ba2ba2d)), closes [#1102](https://github.com/ScrapeGraphAI/Scrapegraph-ai/issues/1102) [#1102](https://github.com/ScrapeGraphAI/Scrapegraph-ai/issues/1102)
|
|
19
|
+
|
|
1
20
|
## [2.2.1](https://github.com/ScrapeGraphAI/Scrapegraph-ai/compare/v2.2.0...v2.2.1) (2026-08-21)
|
|
2
21
|
|
|
3
22
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: scrapegraphai
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.3
|
|
4
4
|
Summary: A web scraping library based on LangChain which uses LLM and direct graph logic to create scraping pipelines.
|
|
5
5
|
Author-email: Marco Vinciguerra <mvincig11@gmail.com>, Lorenzo Padoan <lorenzo.padoan977@gmail.com>
|
|
6
6
|
Keywords: ai,artificial intelligence,gpt,graph,langchain,llm,machine learning,natural language processing,nlp,openai,rag,scrapegraph,scrapegraphai,scraping,web scraping,web scraping library,web scraping tool,webscraping
|
|
@@ -158,6 +158,12 @@ print(json.dumps(result, indent=4))
|
|
|
158
158
|
|
|
159
159
|
ScrapeGraphAI 的文档可以在[这里](https://docs.scrapegraphai.com/introduction)找到。
|
|
160
160
|
|
|
161
|
+
## 🏆 赞助商
|
|
162
|
+
|
|
163
|
+
[](https://go.nodemaven.com/scrapegraphyai)
|
|
164
|
+
|
|
165
|
+
ScrapeGraphAI 用户优惠码:`SCRAPEGRAPH35`(移动和住宅代理 35% 折扣),`SCRAPEGRAPH40`(ISP / 静态代理 40% 折扣)。
|
|
166
|
+
|
|
161
167
|
## 🤝 贡献
|
|
162
168
|
|
|
163
169
|
欢迎贡献并加入我们的 Discord 服务器与我们讨论改进和提出建议!
|
|
@@ -160,6 +160,12 @@ N'oubliez pas d'installer [Ollama](https://ollama.com/) et de télécharger les
|
|
|
160
160
|
|
|
161
161
|
La documentation pour ScrapeGraphAI se trouve [ici](https://docs.scrapegraphai.com/introduction).
|
|
162
162
|
|
|
163
|
+
## 🏆 Sponsors
|
|
164
|
+
|
|
165
|
+
[](https://go.nodemaven.com/scrapegraphyai)
|
|
166
|
+
|
|
167
|
+
Codes pour les utilisateurs de ScrapeGraphAI : `SCRAPEGRAPH35` (35 % sur les proxies mobile et résidentiels), `SCRAPEGRAPH40` (40 % sur les proxies ISP / statiques).
|
|
168
|
+
|
|
163
169
|
## 🤝 Contribuer
|
|
164
170
|
|
|
165
171
|
N'hésitez pas à contribuer et à rejoindre notre serveur Discord pour discuter avec nous des améliorations et nous donner des suggestions !
|
|
@@ -160,6 +160,12 @@ Denken Sie daran, [Ollama](https://ollama.com/) installiert zu haben und die Mod
|
|
|
160
160
|
|
|
161
161
|
Die Dokumentation zu ScrapeGraphAI finden Sie [hier](https://docs.scrapegraphai.com/introduction).
|
|
162
162
|
|
|
163
|
+
## 🏆 Sponsoren
|
|
164
|
+
|
|
165
|
+
[](https://go.nodemaven.com/scrapegraphyai)
|
|
166
|
+
|
|
167
|
+
Codes für ScrapeGraphAI-Nutzer: `SCRAPEGRAPH35` (35 % auf Mobile- und Residential-Proxys), `SCRAPEGRAPH40` (40 % auf ISP- / Static-Proxys).
|
|
168
|
+
|
|
163
169
|
## 🤝 Mitwirken
|
|
164
170
|
|
|
165
171
|
Fühlen Sie sich frei, beizutragen und treten Sie unserem Discord-Server bei, um mit uns über Verbesserungen zu diskutieren und uns Vorschläge zu machen!
|
|
@@ -162,6 +162,12 @@ Ricordati di avere [Ollama](https://ollama.com/) installato e di scaricare i mod
|
|
|
162
162
|
La documentazione di ScrapeGraphAI è disponibile [qui](https://scrapegraph-ai.readthedocs.io/en/latest/).
|
|
163
163
|
Consulta anche il Docusaurus [qui](https://docs-oss.scrapegraphai.com/).
|
|
164
164
|
|
|
165
|
+
## 🏆 Sponsor
|
|
166
|
+
|
|
167
|
+
[](https://go.nodemaven.com/scrapegraphyai)
|
|
168
|
+
|
|
169
|
+
Codici per gli utenti ScrapeGraphAI: `SCRAPEGRAPH35` (35% su proxy mobile e residenziali), `SCRAPEGRAPH40` (40% su proxy ISP / statici).
|
|
170
|
+
|
|
165
171
|
## 🤝 Vuoi contribuire?
|
|
166
172
|
|
|
167
173
|
Sentiti libero di contribuire e unisciti al nostro server Discord per discutere con noi su cosa migliorare e darci suggerimenti!
|
|
@@ -158,6 +158,12 @@ print(json.dumps(result, indent=4))
|
|
|
158
158
|
|
|
159
159
|
ScrapeGraphAIのドキュメントは[こちら](https://docs.scrapegraphai.com/introduction)で見ることができます。
|
|
160
160
|
|
|
161
|
+
## 🏆 スポンサー
|
|
162
|
+
|
|
163
|
+
[](https://go.nodemaven.com/scrapegraphyai)
|
|
164
|
+
|
|
165
|
+
ScrapeGraphAI ユーザー向けコード:`SCRAPEGRAPH35`(モバイル / 住宅用プロキシ 35% オフ)、`SCRAPEGRAPH40`(ISP / 静的プロキシ 40% オフ)。
|
|
166
|
+
|
|
161
167
|
## 🤝 貢献
|
|
162
168
|
|
|
163
169
|
貢献を歓迎し、Discordサーバーで改善や提案について話し合います!
|
|
@@ -158,6 +158,12 @@ OpenAI, Groq, Azure, Gemini와 같은 API를 통해 다양한 LLM을 사용할
|
|
|
158
158
|
|
|
159
159
|
ScrapeGraphAI 관련 문서는 [여기](https://docs.scrapegraphai.com/introduction)에서 확인하실 수 있습니다.
|
|
160
160
|
|
|
161
|
+
## 🏆 스폰서
|
|
162
|
+
|
|
163
|
+
[](https://go.nodemaven.com/scrapegraphyai)
|
|
164
|
+
|
|
165
|
+
ScrapeGraphAI 사용자 코드: `SCRAPEGRAPH35` (모바일 및 주거용 프록시 35% 할인), `SCRAPEGRAPH40` (ISP / 고정 프록시 40% 할인).
|
|
166
|
+
|
|
161
167
|
## 🤝 기여
|
|
162
168
|
|
|
163
169
|
자유롭게 기여하고 Discord 서버에 참여하여 개선 사항을 논의하고 제안해 주세요!
|
|
@@ -158,6 +158,12 @@ Lembre-se de ter o [Ollama](https://ollama.com/) instalado e baixar os modelos u
|
|
|
158
158
|
|
|
159
159
|
A documentação do ScrapeGraphAI pode ser encontrada [aqui](https://docs.scrapegraphai.com/introduction).
|
|
160
160
|
|
|
161
|
+
## 🏆 Patrocinadores
|
|
162
|
+
|
|
163
|
+
[](https://go.nodemaven.com/scrapegraphyai)
|
|
164
|
+
|
|
165
|
+
Códigos para usuários do ScrapeGraphAI: `SCRAPEGRAPH35` (35% em proxies móveis e residenciais), `SCRAPEGRAPH40` (40% em proxies ISP / estáticos).
|
|
166
|
+
|
|
161
167
|
## 🤝 Contribuindo
|
|
162
168
|
|
|
163
169
|
Sinta-se à vontade para contribuir e junte-se ao nosso servidor Discord para discutir melhorias e nos dar sugestões!
|
|
@@ -158,6 +158,12 @@ print(json.dumps(result, indent=4))
|
|
|
158
158
|
|
|
159
159
|
Документация для ScrapeGraphAI доступна [здесь](https://docs.scrapegraphai.com/introduction).
|
|
160
160
|
|
|
161
|
+
## 🏆 Спонсоры
|
|
162
|
+
|
|
163
|
+
[](https://go.nodemaven.com/scrapegraphyai)
|
|
164
|
+
|
|
165
|
+
Коды для пользователей ScrapeGraphAI: `SCRAPEGRAPH35` (скидка 35% на mobile и residential-прокси), `SCRAPEGRAPH40` (скидка 40% на ISP / static-прокси).
|
|
166
|
+
|
|
161
167
|
## 🤝 Участие
|
|
162
168
|
|
|
163
169
|
Не стесняйтесь вносить свой вклад и присоединяйтесь к нашему серверу Discord, чтобы обсудить с нами улучшения и дать нам предложения!
|
|
@@ -165,6 +165,12 @@ Recuerda tener [Ollama](https://ollama.com/) instalado y descargar los modelos c
|
|
|
165
165
|
|
|
166
166
|
La documentación de ScrapeGraphAI está disponible [aquí](https://docs.scrapegraphai.com/introduction).
|
|
167
167
|
|
|
168
|
+
## 🏆 Patrocinadores
|
|
169
|
+
|
|
170
|
+
[](https://go.nodemaven.com/scrapegraphyai)
|
|
171
|
+
|
|
172
|
+
Códigos para usuarios de ScrapeGraphAI: `SCRAPEGRAPH35` (35% en proxies móviles y residenciales), `SCRAPEGRAPH40` (40% en proxies ISP / estáticos).
|
|
173
|
+
|
|
168
174
|
## 🤝 Contribuciones
|
|
169
175
|
|
|
170
176
|
¡Siéntete libre de contribuir y únete a nuestro servidor de Discord para discutir mejoras y compartir sugerencias!
|
|
@@ -159,6 +159,12 @@ Yerel modelleri kullanmak istiyorsanız, [Ollama](https://ollama.com/) kurulu ol
|
|
|
159
159
|
|
|
160
160
|
ScrapeGraphAI dokümantasyonuna [buradan](https://docs.scrapegraphai.com/introduction) ulaşabilirsiniz.
|
|
161
161
|
|
|
162
|
+
## 🏆 Sponsorlar
|
|
163
|
+
|
|
164
|
+
[](https://go.nodemaven.com/scrapegraphyai)
|
|
165
|
+
|
|
166
|
+
ScrapeGraphAI kullanıcıları için kodlar: `SCRAPEGRAPH35` (mobil ve residential proxy'lerde %35 indirim), `SCRAPEGRAPH40` (ISP / static proxy'lerde %40 indirim).
|
|
167
|
+
|
|
162
168
|
## 🤝 Katkıda Bulunun
|
|
163
169
|
|
|
164
170
|
Projeye katkıda bulunmaktan çekinmeyin ve geliştirmeleri tartışmak ve bize önerilerde bulunmak için Discord sunucumuza katılın!
|
|
@@ -10,6 +10,32 @@ from ..utils import Proxy, dynamic_import, get_logger, parse_or_search_proxy
|
|
|
10
10
|
logger = get_logger("web-loader")
|
|
11
11
|
|
|
12
12
|
|
|
13
|
+
def _warn_on_error_status(response: Any, url: str) -> None:
|
|
14
|
+
"""Log a warning when a navigation returned an HTTP error status.
|
|
15
|
+
|
|
16
|
+
Playwright's ``page.goto()`` returns the main-frame ``Response``, but the
|
|
17
|
+
scrapers only keep ``page.content()``. Without this check an error page
|
|
18
|
+
(404, 403, 500, a captcha wall, a login redirect) is indistinguishable
|
|
19
|
+
from the intended document once it reaches the LLM, which then produces a
|
|
20
|
+
confidently wrong answer with no signal that anything went wrong.
|
|
21
|
+
|
|
22
|
+
This mirrors the behaviour of the ``use_soup=True`` path in ``FetchNode``:
|
|
23
|
+
it warns rather than raising, so scraping error pages on purpose keeps
|
|
24
|
+
working.
|
|
25
|
+
|
|
26
|
+
Args:
|
|
27
|
+
response: The ``Response`` returned by ``page.goto()``; may be ``None``
|
|
28
|
+
(for example on a same-document navigation) or lack a usable status.
|
|
29
|
+
url: The URL that was requested, used in the warning message.
|
|
30
|
+
"""
|
|
31
|
+
status = getattr(response, "status", None)
|
|
32
|
+
if isinstance(status, int) and status >= 400:
|
|
33
|
+
logger.warning(
|
|
34
|
+
f"Received HTTP {status} for {url}; the scraped content is likely "
|
|
35
|
+
"an error page, not the intended document."
|
|
36
|
+
)
|
|
37
|
+
|
|
38
|
+
|
|
13
39
|
class ChromiumLoader:
|
|
14
40
|
"""Scrapes HTML pages from URLs using a (headless) instance of the
|
|
15
41
|
Chromium web driver with proxy protection.
|
|
@@ -251,7 +277,8 @@ class ChromiumLoader:
|
|
|
251
277
|
context = await browser.new_context()
|
|
252
278
|
await Malenia.apply_stealth(context)
|
|
253
279
|
page = await context.new_page()
|
|
254
|
-
await page.goto(url, wait_until="domcontentloaded")
|
|
280
|
+
response = await page.goto(url, wait_until="domcontentloaded")
|
|
281
|
+
_warn_on_error_status(response, url)
|
|
255
282
|
await page.wait_for_load_state(self.load_state)
|
|
256
283
|
|
|
257
284
|
previous_height = None
|
|
@@ -364,7 +391,8 @@ class ChromiumLoader:
|
|
|
364
391
|
)
|
|
365
392
|
await Malenia.apply_stealth(context)
|
|
366
393
|
page = await context.new_page()
|
|
367
|
-
await page.goto(url, wait_until="domcontentloaded")
|
|
394
|
+
response = await page.goto(url, wait_until="domcontentloaded")
|
|
395
|
+
_warn_on_error_status(response, url)
|
|
368
396
|
await page.wait_for_load_state(self.load_state)
|
|
369
397
|
results = await page.content()
|
|
370
398
|
logger.info("Content scraped")
|
|
@@ -421,7 +449,8 @@ class ChromiumLoader:
|
|
|
421
449
|
storage_state=self.storage_state
|
|
422
450
|
)
|
|
423
451
|
page = await context.new_page()
|
|
424
|
-
await page.goto(url, wait_until="networkidle")
|
|
452
|
+
response = await page.goto(url, wait_until="networkidle")
|
|
453
|
+
_warn_on_error_status(response, url)
|
|
425
454
|
results = await page.content()
|
|
426
455
|
logger.info("Content scraped after JavaScript rendering")
|
|
427
456
|
return results
|
|
@@ -93,7 +93,11 @@ class CodeGeneratorGraph(AbstractGraph):
|
|
|
93
93
|
parse_node = ParseNode(
|
|
94
94
|
input="doc",
|
|
95
95
|
output=["parsed_doc"],
|
|
96
|
-
node_config={
|
|
96
|
+
node_config={
|
|
97
|
+
"llm_model": self.llm_model,
|
|
98
|
+
"chunk_size": self.model_token,
|
|
99
|
+
"schema": self.schema,
|
|
100
|
+
},
|
|
97
101
|
)
|
|
98
102
|
|
|
99
103
|
generate_validation_answer_node = GenerateAnswerNode(
|
|
@@ -110,7 +110,11 @@ class SmartScraperGraph(AbstractGraph):
|
|
|
110
110
|
parse_node = ParseNode(
|
|
111
111
|
input="doc",
|
|
112
112
|
output=["parsed_doc"],
|
|
113
|
-
node_config={
|
|
113
|
+
node_config={
|
|
114
|
+
"llm_model": self.llm_model,
|
|
115
|
+
"chunk_size": self.model_token,
|
|
116
|
+
"schema": self.schema,
|
|
117
|
+
},
|
|
114
118
|
)
|
|
115
119
|
|
|
116
120
|
generate_answer_node = GenerateAnswerNode(
|
|
@@ -152,6 +156,7 @@ class SmartScraperGraph(AbstractGraph):
|
|
|
152
156
|
node_config={
|
|
153
157
|
"llm_model": self.llm_model,
|
|
154
158
|
"chunk_size": self.model_token,
|
|
159
|
+
"schema": self.schema,
|
|
155
160
|
},
|
|
156
161
|
)
|
|
157
162
|
|
{scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/graphs/smart_scraper_lite_graph.py
RENAMED
|
@@ -74,7 +74,11 @@ class SmartScraperLiteGraph(AbstractGraph):
|
|
|
74
74
|
parse_node = ParseNode(
|
|
75
75
|
input="doc",
|
|
76
76
|
output=["parsed_doc"],
|
|
77
|
-
node_config={
|
|
77
|
+
node_config={
|
|
78
|
+
"llm_model": self.llm_model,
|
|
79
|
+
"chunk_size": self.model_token,
|
|
80
|
+
"schema": self.schema,
|
|
81
|
+
},
|
|
78
82
|
)
|
|
79
83
|
|
|
80
84
|
return BaseGraph(
|
{scrapegraphai-2.2.1 → scrapegraphai-2.2.3}/scrapegraphai/graphs/smart_scraper_multi_batch_graph.py
RENAMED
|
@@ -5,9 +5,8 @@ A scraping pipeline that uses the OpenAI Batch API for LLM calls,
|
|
|
5
5
|
providing 50% cost savings compared to real-time API calls.
|
|
6
6
|
"""
|
|
7
7
|
|
|
8
|
-
import asyncio
|
|
9
8
|
from copy import deepcopy
|
|
10
|
-
from typing import
|
|
9
|
+
from typing import List, Optional, Type
|
|
11
10
|
|
|
12
11
|
from pydantic import BaseModel
|
|
13
12
|
|
|
@@ -17,7 +16,6 @@ from ..nodes.merge_answers_node import MergeAnswersNode
|
|
|
17
16
|
from ..utils.copy import safe_deepcopy
|
|
18
17
|
from .abstract_graph import AbstractGraph
|
|
19
18
|
from .base_graph import BaseGraph
|
|
20
|
-
from .smart_scraper_graph import SmartScraperGraph
|
|
21
19
|
|
|
22
20
|
|
|
23
21
|
class _FetchParseOnlyGraph(AbstractGraph):
|
|
@@ -57,6 +55,7 @@ class _FetchParseOnlyGraph(AbstractGraph):
|
|
|
57
55
|
node_config={
|
|
58
56
|
"llm_model": self.llm_model,
|
|
59
57
|
"chunk_size": self.model_token,
|
|
58
|
+
"schema": self.schema,
|
|
60
59
|
},
|
|
61
60
|
)
|
|
62
61
|
|
|
@@ -70,7 +70,11 @@ class SpeechGraph(AbstractGraph):
|
|
|
70
70
|
parse_node = ParseNode(
|
|
71
71
|
input="doc",
|
|
72
72
|
output=["parsed_doc"],
|
|
73
|
-
node_config={
|
|
73
|
+
node_config={
|
|
74
|
+
"chunk_size": self.model_token,
|
|
75
|
+
"llm_model": self.llm_model,
|
|
76
|
+
"schema": self.schema,
|
|
77
|
+
},
|
|
74
78
|
)
|
|
75
79
|
|
|
76
80
|
generate_answer_node = GenerateAnswerNode(
|