feat(audit): add pricing signature guards and reporting

Add snapshot, signature, and drift guard support for Vertex AI, Cloudflare Workers AI, and Perplexity API, backed by a queryable audit table and recent-window view.

This commit also wires the audit query layer into daily signal materialization and report generation so structure drift becomes a first-class signal instead of a log-only artifact.
This commit is contained in:
phamnazage-jpg
2026-05-15 22:34:22 +08:00
parent 958245537a
commit 256975e10c
46 changed files with 5822 additions and 34 deletions

View File

@@ -0,0 +1,10 @@
## LLM model pricing
| Model | Price in Tokens | Price in Neurons |
| -------------------------------------------- | --------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| @cf/meta/llama-3.2-1b-instruct | $0.027 per M input tokens $0.201 per M output tokens | 2457 neurons per M input tokens 18252 neurons per M output tokens |
| @cf/meta/llama-3.3-70b-instruct-fp8-fast | $0.293 per M input tokens $2.253 per M output tokens | 26668 neurons per M input tokens 204805 neurons per M output tokens |
| @cf/qwen/qwen2.5-coder-32b-instruct | $0.660 per M input tokens $1.000 per M output tokens | 60000 neurons per M input tokens 90909 neurons per M output tokens |
| @cf/moonshotai/kimi-k2.5 | $0.600 per M input tokens $0.100 per M cached input tokens $3.000 per M output tokens | 54545 neurons per M input tokens 9091 neurons per M cached input tokens 272727 neurons per M output tokens |
## Embeddings model pricing

View File

@@ -0,0 +1,9 @@
# Models
| Model | Input Price | Output Price | Cache Read Price | Provider Documentation |
| -------------------------------------- | -------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | -------------------- | ----------------------------------------------------------------------------------------------------------- |
| `perplexity/sonar` | \$0.25 / 1M tokens | \$2.50 / 1M tokens | \$0.0625 / 1M tokens | [Sonar](https://docs.perplexity.ai/docs/sonar/models/sonar) |
| `anthropic/claude-sonnet-4-6` | \$3 / 1M tokens | \$15 / 1M tokens | \$0.30 / 1M tokens | [Claude Sonnet 4.6](https://www.anthropic.com/news/claude-sonnet-4-6) |
| `openai/gpt-5.4` | \$2.50 / 1M tokens | \$15.00 / 1M tokens | \$0.25 / 1M tokens | [GPT-5.4](https://platform.openai.com/docs/models/gpt-5.4) |
| `google/gemini-3.1-pro-preview` | \$2.00 / 1M tokens (≤200k context)<br />\$4.00 / 1M tokens (>200k context) | \$12.00 / 1M tokens (≤200k context)<br />\$18.00 / 1M tokens (>200k context) | 90% discount | [Gemini 3.1 Pro](https://ai.google.dev/gemini-api/docs/models#gemini-3.1-pro-preview) |
| `xai/grok-4.3` | \$1.25 / 1M tokens | \$2.50 / 1M tokens | \$0.20 / 1M tokens | [Grok 4.3](https://docs.x.ai/developers/models) |

View File

@@ -0,0 +1,73 @@
<h3 id="gemini-models-3" class="cloud-jump-section" data-text="Gemini 3" tabindex="-1">Gemini 3</h3>
<div>
<section>
<h3 id="standard" data-text="Standard" tabindex="-1">Standard</h3>
<table class="style0">
<thead>
<tr>
<th>Model</th>
<th>Type</th>
<th>Price (/1M tokens) <= 200K input tokens</th>
</tr>
</thead>
<tbody>
<tr>
<td rowspan="3">Gemini 3.1 Pro Preview</td>
</tr>
<tr>
<td>Input (text, image, video, audio)</td>
<td>$2</td>
</tr>
<tr>
<td>Text output (response and reasoning)</td>
<td>$12</td>
</tr>
<tr>
<td rowspan="4">Gemini 3.1 Flash Image Preview</td>
</tr>
<tr>
<td>Input (text, image)</td>
<td>$0.50</td>
</tr>
<tr>
<td>Text output (response and reasoning)</td>
<td>$3</td>
</tr>
<tr>
<td>Image Output***</td>
<td>$60</td>
</tr>
<tr>
<td rowspan="4">Gemini 3.1 Flash-Lite</td>
</tr>
<tr>
<td>Input (text, image, video)</td>
<td>$0.25 (Global)<br><br>$0.275 (Non-global)*</td>
</tr>
<tr>
<td>Input (audio)</td>
<td>$0.5 (Global)<br><br>$0.55 (Non-global)*</td>
</tr>
<tr>
<td>Text output (response and reasoning)</td>
<td>$1.5 (Global)<br><br>$1.65 (Non-global)*</td>
</tr>
<tr>
<td rowspan="4">Gemini 3 Flash Preview</td>
</tr>
<tr>
<td>Input (text, image, video)</td>
<td>$0.5</td>
</tr>
<tr>
<td>Input (audio)</td>
<td>$1</td>
</tr>
<tr>
<td>Text output (response and reasoning)</td>
<td>$3</td>
</tr>
</tbody>
</table>
</section>
</div>