Repository navigation
Conversation
Adds a Runcrate ChatOpenAI wrapper pinned to https://api.runcrate.ai/v1 and wires it into AbstractGraph, so `runcrate/<vendor>/<model>` (for example runcrate/deepseek-ai/DeepSeek-V4.1-Flash) resolves to Runcrate with the vendor-prefixed model id kept intact. Adds context windows for six models to models_tokens, a SmartScraper example and tests. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds Runcrate as an OpenAI-compatible model provider, following the Cheaper Inference wrapper (#1158), and also wires it into
AbstractGraphso it works from a graph config:Runcrate is a GPU cloud with an OpenAI-compatible inference API at
https://api.runcrate.ai/v1; open models are free with your GitHub account. Keys: https://www.runcrate.ai/dashboard/api-keys?utm_source=Scrapegraph-ai&utm_medium=directory&utm_campaign=gpu_pricingChanges
scrapegraphai/models/runcrate.py:Runcrate(ChatOpenAI), mapsapi_keyand pins the base URL.scrapegraphai/graphs/abstract_graph.py:runcrateinknown_providersand the custom-class branch. The existingsplit("/", 1)keeps vendor-prefixed ids such asdeepseek-ai/DeepSeek-V4.1-Flashintact.scrapegraphai/helpers/models_tokens.py: context windows for six models, from the publicGET https://api.runcrate.ai/v1/models.examples/smart_scraper_graph/runcrate/smart_scraper_runcrate.py, copied from the NVIDIA example.tests/test_runcrate_model.py: base URL and key mapping, and a graph config that resolves toRuncratewith the full model id and the right token window.Checks
pytest tests/test_runcrate_model.py: 2 passed.pytest tests/graphs/abstract_graph_test.py tests/test_models_tokens.py: the same 6 failures as onpre/betawithout this change; nothing new fails.ruff check,black --checkandisort --check-onlyon the touched files: clean.mypyflags the untyped__init__inruncrate.py, the same pattern asatlascloud.pyandcheaperinference.py.SmartScraperGraphon a small local HTML page listing three GPUs, prompt asking for name and memory.runcrate/deepseek-ai/DeepSeek-V4.1-Flashandruncrate/zai-org/GLM-5.3-Flashboth returned all three GPUs with the correct GB values;graph.llm_modelwasRuncratewith basehttps://api.runcrate.ai/v1and a 1,048,576 token window.This PR was written with AI assistance (Claude) and tested as described above.
Disclosure: I work on Runcrate.