mirror of
https://git.mirrors.martin98.com/https://github.com/mendableai/firecrawl
synced 2025-08-12 07:19:03 +08:00
feat(cost-tracking): add model tracking and more costs
This commit is contained in:
parent
5aa9469081
commit
7df557e59c
@ -72,6 +72,7 @@ export class CostTracking {
|
||||
type: "smartScrape" | "other",
|
||||
metadata: Record<string, any>,
|
||||
cost: number,
|
||||
model: string,
|
||||
tokens?: {
|
||||
input: number,
|
||||
output: number,
|
||||
|
@ -28,6 +28,7 @@ export async function generateBasicCompletion(prompt: string, costTracking: Cost
|
||||
module: "extract",
|
||||
method: "generateBasicCompletion",
|
||||
},
|
||||
model: "openai/gpt-4o",
|
||||
cost: calculateCost("openai/gpt-4o", result.usage?.promptTokens ?? 0, result.usage?.completionTokens ?? 0),
|
||||
tokens: {
|
||||
input: result.usage?.promptTokens ?? 0,
|
||||
@ -54,6 +55,7 @@ export async function generateBasicCompletion(prompt: string, costTracking: Cost
|
||||
module: "extract",
|
||||
method: "generateBasicCompletion",
|
||||
},
|
||||
model: "openai/gpt-4o-mini",
|
||||
cost: calculateCost("openai/gpt-4o-mini", result.usage?.promptTokens ?? 0, result.usage?.completionTokens ?? 0),
|
||||
tokens: {
|
||||
input: result.usage?.promptTokens ?? 0,
|
||||
|
@ -144,6 +144,7 @@ export async function smartScrape({
|
||||
costTracking.addCall({
|
||||
type: "smartScrape",
|
||||
cost: response.tokenUsage,
|
||||
model: "firecrawl/smart-scrape",
|
||||
metadata: {
|
||||
module: "smartScrape",
|
||||
method: "smartScrape",
|
||||
|
@ -187,6 +187,8 @@ export function calculateCost(
|
||||
) {
|
||||
const modelCosts = {
|
||||
"openai/o3-mini": { input_cost: 1.1, output_cost: 4.4 },
|
||||
"openai/gpt-4o-mini": { input_cost: 0.15, output_cost: 0.6 },
|
||||
"openai/gpt-4o": { input_cost: 2.5, output_cost: 10 },
|
||||
"google/gemini-2.0-flash-001": { input_cost: 0.15, output_cost: 0.6 },
|
||||
"deepseek/deepseek-r1": { input_cost: 0.55, output_cost: 2.19 },
|
||||
"google/gemini-2.0-flash-thinking-exp:free": {
|
||||
@ -289,6 +291,7 @@ export async function generateCompletions({
|
||||
...costTrackingOptions.metadata,
|
||||
gcDetails: "no-object",
|
||||
},
|
||||
model: currentModel.modelId,
|
||||
cost: calculateCost(
|
||||
currentModel.modelId,
|
||||
result.usage?.promptTokens ?? 0,
|
||||
@ -340,6 +343,7 @@ export async function generateCompletions({
|
||||
...costTrackingOptions.metadata,
|
||||
gcDetails: "no-object fallback",
|
||||
},
|
||||
model: currentModel.modelId,
|
||||
cost: calculateCost(
|
||||
currentModel.modelId,
|
||||
result.usage?.promptTokens ?? 0,
|
||||
@ -454,6 +458,7 @@ export async function generateCompletions({
|
||||
repairUsage?.promptTokens ?? 0,
|
||||
repairUsage?.completionTokens ?? 0,
|
||||
),
|
||||
model: currentModel.modelId,
|
||||
tokens: {
|
||||
input: repairUsage?.promptTokens ?? 0,
|
||||
output: repairUsage?.completionTokens ?? 0,
|
||||
@ -513,6 +518,7 @@ export async function generateCompletions({
|
||||
input: result.usage?.promptTokens ?? 0,
|
||||
output: result.usage?.completionTokens ?? 0,
|
||||
},
|
||||
model: currentModel.modelId,
|
||||
cost: calculateCost(
|
||||
currentModel.modelId,
|
||||
result.usage?.promptTokens ?? 0,
|
||||
@ -547,6 +553,7 @@ export async function generateCompletions({
|
||||
input: result.usage?.promptTokens ?? 0,
|
||||
output: result.usage?.completionTokens ?? 0,
|
||||
},
|
||||
model: currentModel.modelId,
|
||||
cost: calculateCost(
|
||||
currentModel.modelId,
|
||||
result.usage?.promptTokens ?? 0,
|
||||
|
Loading…
x
Reference in New Issue
Block a user