You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行EmbedChain代码时,如何计算读取网页等资源的Token消耗?

EmbedChain 资源读取与查询的Token消耗分析

一、资源嵌入阶段(add方法)的Token消耗

调用add添加网页、YouTube视频时,Token消耗核心在嵌入向量生成环节:

  1. 工具会先自动提取网页内容、将YouTube视频转成文字,这一步不消耗OpenAI Token;
  2. 提取出的内容会被分割成固定大小的文本块(默认500Token),再调用OpenAI嵌入模型(默认text-embedding-ada-002)生成向量,每块内容的Token数都会计入消耗。

你的示例资源预估消耗:

  • 维基百科Elon Musk页面:内容量大,预估8000-12000 Token
  • Tesla官网Elon Musk页面:内容精简,预估500-1000 Token
  • 目标YouTube视频(约10分钟):转文字后预估3000-5000 Token
  • 总嵌入Token消耗约11500-18000 Token,对应text-embedding-ada-002的成本约0.00115-0.0018美元(按$0.0001/1k Token计算)

二、查询阶段(query方法)的Token消耗

查询时的Token消耗来自三个部分:

  1. 查询语句的嵌入Token:把问题转成嵌入向量,消耗少量Token(你的问题约10 Token)
  2. 匹配文本块的Token:从向量库召回相关文本块(默认top5),这些内容会拼接到Prompt里,预估几百Token
  3. LLM生成回答的Token:GPT-3.5-turbo生成回答的Token数(你的示例回答约30 Token)

你的示例查询预估消耗:

总消耗约300-500 Token,对应gpt-3.5-turbo的成本约0.0003-0.0005美元(按$0.001/1k Token计算)

三、节约成本的实用技巧

  • 调整文本块大小:初始化App时设置chunk_size=300,减少单块内容的Token数(注意可能影响回答准确性)
  • 替换低成本嵌入模型:改用text-embedding-3-small,成本是ada-002的一半,嵌入效果差异不大
  • 减少召回文本块数量:查询时设置elon_bot.query("问题", num_documents=3),减少Prompt中的Token总量
  • 精简嵌入资源:YouTube视频只嵌入关键片段的文字,网页可提前过滤无关内容
  • 利用缓存机制:重复添加相同资源时,EmbedChain会自动跳过嵌入,避免重复消耗

示例代码

import os
from embedchain import App

# Create a bot instance
os.environ["OPENAI_API_KEY"] = "YOUR API KEY"
elon_bot = App()

# Embed online resources
elon_bot.add("web_page", "https://en.wikipedia.org/wiki/Elon_Musk")
elon_bot.add("web_page", "https://tesla.com/elon-musk")
elon_bot.add("youtube_video", "https://www.youtube.com/watch?v=MxZpaJK74Y4")

# Query the bot
elon_bot.query("How many companies does Elon Musk run?")
# Answer: Elon Musk runs four companies: Tesla, SpaceX, Neuralink, and The Boring Company

内容的提问来源于stack exchange,提问作者shantanuo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 22:25:17