新闻详情

新闻详情

首页 / 资讯中心 / 详情

ScrapeGraphAI 的 models_tokens 模块全解析:跨 Provider 模型 Token 上限字典与分片机制

发布时间:2026/9/30 11:04:59来源:尧图网络
ScrapeGraphAI 的 models_tokens 模块全解析:跨 Provider 模型 Token 上限字典与分片机制
网页爬虫人工智能AI 应用【免费下载链接】Scrapegraph-aiPython scraper based on AI项目地址https://gitcode.com/GitHub_Trending/sc/Scrapegraph-ai点击查看免费下载导读ScrapeGraphAI 是面向 AI 的 Python 抓取框架其核心能力之一是根据不同大模型LLM的上下文能力来规划抓取流程。本文聚焦 models_tokens 模块系统讲解这张按 Provider 组织的「模型 → 最大 Token 数」映射表它记录了什么、在 Graph 配置中如何被自动解析、如何手动覆盖以及它如何转化为chunk_size驱动文档分片。读完本文你将掌握在 ScrapeGraphAI 中正确配置 LLM 与 Token 上限、避免因上下文溢出导致抓取失败的完整实战方案。一、模块定位一张驱动分片的模型能力清单models_tokens位于 scrapegraphai/helpers/models_tokens.py是一个按 Provider如 OpenAI、Azure OpenAI、Google AI、Ollama 等组织的嵌套字典记录每个模型可接受的最大 Token 数。其定位正如官方文档所述This module contains a comprehensive dictionary of AI models and their corresponding token limits.该字典的意义在于ScrapeGraphAI 需要知道当前 LLM 的上下文窗口上限才能把过长的抓取内容切成合适大小的块。models_tokens与 utils/split_text_into_chunks.py 中的split_text_into_chunks(text, chunk_size)配合使用chunk_size即由模型 Token 上限换算而来。模块在包内部通过 helpers/init.py 导出from .models_tokens import models_tokens并被 graphs/abstract_graph.py 直接 import是整个 Graph 初始化链路的基石。二、数据结构Provider → 模型 → Token 上限字典采用两级结构models_tokens { openai: { gpt-4o: 128000, gpt-4: 8192, ... }, ollama: { llama3.1: 128000, ... }, ... }当前仓库中注册的 Provider 键从源码结构看与abstract_graph.py中known_providers集合基本一一对应包括Provider 键覆盖模型类型说明openaiGPT 全系列、o 系列、gpt-oss条目最多含 gpt-4.11048576azure_openai与 openai 高度重合面向 Azure OpenAI 部署google_genai/google_vertexaiGemini 系列含 200 万 Token 的 gemini-2.0-proollama本地开源模型含 embedding 模型anthropic/bedrockClaude 系列bedrock 含 Amazon/Meta/Mistral 模型mistralaiMistral 系列含 codestral256000deepseek/ernie/minimaxDeepSeek、文心、MiniMax国内模型nvidia/groq/fireworksNVIDIA NIM、Groq、Fireworks高性能推理平台hugging_faceHF 开源模型含 embedding 与 GGUF 变体toghetherai/togetheraiTogether AI 模型注意仓库存在两个拼写键clod/xai/oneapiCLoD、Grok、Qwen对应自定义模型封装注意源码中同时存在toghetherai与togetherai两个键togetherai仅含一个条目这是当前仓库的实际状态使用时需留意拼写。三、官方文档给出的基础用法原文档 scrapegraphai.helpers.models_tokens.rst 给出的示例是理解本模块的起点完整继承如下from scrapegraphai.helpers.models_tokens import models_tokens # Get the token limit for GPT-4 gpt4_limit models_tokens[openai][gpt-4] print(fGPT-4 token limit: {gpt4_limit}) # Check the token limit for a specific model model_name gpt-4o-mini if model_name in models_tokens[openai]: print(f{model_name} token limit: {models_tokens[openai][model_name]}) else: print(f{model_name} not found in the models list)官方文档还强调该信息对于用户设计抓取管道pipeline时理解不同 AI 模型的能力与限制至关重要——这正是models_tokens贯穿全框架的根本原因。四、主流 Provider 的 Token 上限速查4.1 OpenAI含 GPT-4.1 百万级上下文模型Token 上限gpt-3.5-turbo / gpt-3.5-turbo-0125 / -110616385gpt-3.5 / gpt-3.5-turbo-instruct4096gpt-4 / gpt-4-06138192gpt-4-32k / gpt-4-32k-061332768gpt-4-turbo / gpt-4-turbo-preview / gpt-4-1106-preview / gpt-4-0125-preview / gpt-4-vision-preview / gpt-4o / gpt-4o-mini / gpt-4.5 / gpt-4.5-preview128000gpt-4.1 / gpt-4.1-mini / gpt-4.1-nano1048576o1 / o1-pro / o3 / o3-pro / o3-mini / o4-mini / gpt-5 / gpt-5.1 等200000gpt-oss-120b / gpt-oss-20b1280004.2 Google Gemini模型Token 上限gemini-pro / gemini-1.5-flash-latest / gemini-1.5-pro-latest128000gemini-2.0-flash-latest / gemini-2.0-flash-exp1000000gemini-2.0-pro-exp2000000models/embedding-0012048VertexAI 侧gemini-2.0-pro同样给出 2000000gemini-2.0-flash为 1048576。4.3 Ollama本地模型含 embedding模型Token 上限llama2 / llama2:7b / llama2:13b / llama2:70b4096llama3 / llama3:8b / llama3:70b8192llama3.1 / llama3.2 / llama3.3含各尺寸变体128000command-r / phi3:3.8b12800mixtral:8x22b-instruct / wizardlm2:8x22b65536qwen:0.5b qwen:110b32000mistral / mistral-small / mistral-large / gemma2 系列128000mxbai-embed-large512其余 embeddingdmeta、acge、snowflake-arctic 等81924.4 Anthropic / BedrockClaudeanthropic下绝大多数 Claude 模型claude3、claude3.5、claude-opus-4、claude-sonnet-4、claude-3-7-sonnet 等为 200000claude2为 9000claude_instant为 100000。bedrock以 AWS 型号 ID如anthropic.claude-3-5-sonnet-20240620-v1:0为键并额外收录 Llama、Mistral、Titan、Cohere 等模型的 Token 上限。4.5 其他 Provider 要点NVIDIAmicrosoft/phi-3-mini-128k-instruct为 122880meta/codellama-70b为 16384多数模型在 2K32K 之间。Groqllama-3.1-8b-instant/llama-3.3-70b-versatile为 128000mixtral-8x7b-32768为 32768。MistralAIcodestral-latest与open-codestral-mamba为 256000mistral-embed为 8000。Hugging Face多为 8K32K 的开源模型gradientai/Llama-3-8B-Instruct-Gradient-1048k达到 1040200。DeepSeek / ERNIE / MiniMaxdeepseek系列为 128000ernie全系为 4096MiniMax M1 达 1000000、M2.x 为 204000。五、在 Graph 配置中的自动解析机制源码级models_tokens的真正价值体现在 abstract_graph.py 的_create_llm方法。当你在 graph 配置中只给出model: gpt-4o而省略 provider 时框架会自动推断 Provider若模型名不含/则遍历models_tokens.items()找出包含该模型名的 Provider 作为model_provider若找不到任何 Provider抛出ValueError。校验 Providermodel_provider必须存在于known_providers集合否则报错并提示改用model_instance。读取 Token 上限self.model_token models_tokens[model_provider][model]若该模型未收录则logger.warning提示「请在 graph 配置的 llm 段指定model_tokens参数」并回退到默认值8192。if llm_params.get(model_tokens, None) is None: try: self.model_token models_tokens[llm_params[model_provider]][llm_params[model]] except KeyError: logger.warning(...) self.model_token 8192 else: self.model_token llm_params[model_tokens]这段代码揭示了三层优先级显式model_tokensmodels_tokens字典 默认 8192。手动覆盖示例对于字典未收录的新模型或需要主动收紧上下文时可在配置中显式指定config { llm: { model: your-new-model, model_provider: openai, # 可选帮助框架定位 model_tokens: 32000, # 手动指定 Token 上限 temperature: 0.1, }, }六、从 model_token 到 chunk_size 的分片链路self.model_token会被注入各 Graph 节点的chunk_size从而控制文档切分粒度。例如smart_scraper_graph.pynode_config{llm_model: self.llm_model, chunk_size: self.model_token}document_scraper_graph.pychunk_size: self.model_tokenscript_creator_graph.py、code_generator_graph.py、speech_graph.py 等均有同样注入。在 parse_node.py 中chunk_size被进一步收缩如chunk_size - 250、min(chunk_size - 500, int(chunk_size * 0.8))为输出 token 预留空间再调用分片工具而 split_text_into_chunks.py 默认走semchunk语义分片并将chunk_size再乘以 0.9 作为安全余量chunk_size min(chunk_size, int(chunk_size * 0.9))。换言之models_tokens里记录的数值最终经过多级打折后才成为实际喂给模型的块大小因此 8192 的默认回退值对于 128K 上下文的现代模型而言偏保守但安全。七、测试保障字典结构与取值校验仓库通过 tests/test_models_tokens.py 对字典施加了严格约束可视为使用该模块的「契约」每个 Provider 必须是非空字典模型名为非空字符串且无首尾空白所有 Token 值必须是正整数且落在 11100000 的合理区间test_token_limits_rangeProvider 总数不少于 15test_providers_count总模型数大于 20针对关键模型断言具体数值gpt-4 8192、gpt-3.5-turbo-0125 16385、anthropic.claude_instant 100000、meta/codellama-70b 16384 等不存在的 Provider / 模型返回None。此外tests/graphs/abstract_graph_test.py 通过 monkeypatch 将models_tokens替换为缺条目的字典验证「模型未收录时回退默认 token」的容错路径tests/test_minimax_models.py 则专门校验 MiniMax 系列模型的收录与数值。这说明字典的正确性直接影响 Graph 初始化行为是框架可信赖度的一部分。八、实践建议与注意事项新模型务必显式配置model_tokens未被字典收录的模型会静默回退到 8192导致长文档被切成过小块、增加调用次数或截断上下文因此在llm配置段显式给出model_tokens是最稳妥的做法。留意 Provider 拼写仓库中toghetherai与togetherai并存配置model_provider时需与known_providers见 abstract_graph.py保持一致。数值代表「最大输入 Token」而非安全容量分片链路中 parse 节点与 semchunk 均会预留余量0.80.9 因子无需用户再手动打折。本地模型注意 embedding 条目Ollama / Bedrock / Mistral 等 Provider 混入了 embedding 模型如mxbai-embed-large仅 512它们不应用于文本生成节点选择模型时请区分用途。多模型场景框架支持model含/的形式如model: ollama/llama3.1此时框架会按斜杠拆分 provider 与模型名与models_tokens的自动推断机制互为补充。九、小结models_tokens是 ScrapeGraphAI 中「小而关键」的基础设施一张跨 20 Provider 的模型 Token 上限字典向上支撑 Graph 初始化时的模型解析与 Token 回退向下经model_token → chunk_size驱动语义分片并有完整测试保证数据契约。理解它就等于掌握了为 ScrapeGraphAI 配置任意 LLM 的上下文边界管理方法。赞分享网页爬虫人工智能AI 应用【免费下载链接】Scrapegraph-aiPython scraper based on AI项目地址https://gitcode.com/GitHub_Trending/sc/Scrapegraph-ai点击查看免费下载相关推荐解决ScrapeGraphAI中Ollama模型上下文长度限制的实战指南解决ScrapeGraphAI中Ollama模型上下文长度限制的实战指南 你是否在使用ScrapeGraphAI处理长文档时遇到过上下文溢出错误是否发现L网页爬虫人工智能AI 应用NOFX Token 估算机制全解析候选币种上限、模型上下文窗口与策略配置调优NOFX Token 估算机制全解析候选币种上限、模型上下文窗口与策略配置调优 面向 AI 交易终端NOFX的策略配置与模型选择场景本文以 docs/tAI Agent金融科技后端前端OpenRGB终极免费开源RGB统一控制方案告别多软件混乱时代OpenRGB终极免费开源RGB统一控制方案告别多软件混乱时代 你是否厌倦了电脑上安装五六个不同的RGB控制软件雷蛇需要Synapse海盗船要iCUE桌面应用硬件开发智能硬件上一篇SymPy 初等函数模块Elementary Functions全解析复数分解、三角/双曲、指数对数与分段函数的符号计算实战下一篇如何用深蓝词库转换彻底解决输入法切换难题完整指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Paramics微观交通仿真路网建模:底图对位、节点连接器与校验实操指南 2026/9/30 11:38:01

Paramics微观交通仿真路网建模:底图对位、节点连接器与校验实操指南

1. 建模前的第一步:底图对位与比例尺标定 先说个真实场景。之前帮一个师弟看模型,他花了两天把Paramics里的学校路网画完了,兴致勃勃跑仿真,结果车辆全部在空地上飘——路网和底图严丝合缝地错位了半条街。排查到最后,…

阅读更多 →
别再让 AI 替你“写完整篇论文”了:铁道工程毕业设计的工具分工指南 [特殊字符]️ 2026/9/30 11:38:01

别再让 AI 替你“写完整篇论文”了:铁道工程毕业设计的工具分工指南 [特殊字符]️

如果你读的是交通运输大类 / 铁道运输类 / 铁道工程技术专业,大概率会遇到一类很典型的毕业任务: 以某段铁路线路为对象,分析有砟轨道常见病害的成因,结合现场检测数据和维修资料,提出整治方案,并完成毕业论…

阅读更多 →
UE5 MovieRenderQueue 渲染失败根因与稳定化实战指南 2026/9/30 11:38:00

UE5 MovieRenderQueue 渲染失败根因与稳定化实战指南

简介:本资源是一份面向Unreal Engine 5中高级开发者与影视渲染工程师的实战型技术指南,聚焦MovieRenderQueue(MRQ)在实际项目中高频出现的渲染异常问题,如图像条纹、黑块、场景多出物体、全黑输出、相机偏移及着色器编…

阅读更多 →
Linux文件查找与内容检索:find、grep、ripgrep与locate实战指南 2026/9/30 11:38:00

Linux文件查找与内容检索:find、grep、ripgrep与locate实战指南

1. 开工前先想清楚:你是要“按名找”还是“按内容找”先聊一个最常见的误区。很多人一遇到“文件找不着”的问题,第一反应就是grep -r一个单词丢出去,然后盯着屏幕等结果。这其实搞混了两件完全不一样的事:按文件元数据&#xff0…

阅读更多 →
Cherry Studio 接入 DeepSeek 本地 AI 工作台配置与避坑指南 2026/9/30 11:38:00

Cherry Studio 接入 DeepSeek 本地 AI 工作台配置与避坑指南

简介:这份资源面向希望快速上手桌面端 AI 工具的开发者、内容创作者与效率工具爱好者,围绕 Cherry Studio 的安装配置及其与 DeepSeek 模型的集成展开,帮助读者解决多模型调用分散、API 接入门槛高的问题。资源包内含 1 个 docx 文档&#xf…

阅读更多 →
从传统C++到Unreal C++:宏、GC与类型体系的全面改造 2026/9/30 11:37:51

从传统C++到Unreal C++:宏、GC与类型体系的全面改造

第一次在Unreal工程里打开一个C类的源码,我盯着满屏的UCLASS、UPROPERTY、UFUNCTION看了好一会儿,心里冒出来的第一个念头是:这还是我认识的那个C吗?类文件末尾挂着一个诡异的 #include "XXX.generated.h" &#xff0…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉