A document count looks manageable, but ingestion, retrieval, model calls, tools, sandboxes, and maintenance keep pushing the budget upward.
Split the WeKora knowledge base budget into six cost groups—data processing, indexing and storage, question answering, Agent tools, sandbox execution, and operations—then start locally or at low concurrency and scale only when measured query volume, concurrency, and update frequency justify it.
Who should use this budget method
This guide is for enterprise knowledge base owners who need an explainable budget for RAG and Agent workloads.
It is also for product engineers deciding which parts of document upload, retrieval, tool calling, and automatic Wiki generation consume resources, plus independent developers estimating a cloud workspace before launch.
The project is commonly searched as WeKora, but the official project name is WeKnora. The official project description covers RAG question answering, Agent reasoning, MCP tools, sandbox capabilities, and automatic Wiki generation. Confirm the current feature boundary and deployment requirements in the official WeKnora project documentation before converting this framework into a purchase request.
Start with three budget boundaries
Do not use document quantity as the only forecasting unit. Two knowledge bases with the same number of files can have very different costs if one receives daily updates, long questions, multi-step Agent tasks, and several concurrent users.
Separate the budget into three boundaries:
- One-time deployment: environment setup, service integration, initial document parsing, embeddings, indexing, access control, and validation.
- Recurring operation: model calls, retrieval, storage, backups, monitoring, synchronization, and support.
- Growth workload: more documents, more frequent updates, higher concurrency, longer context, more tools, additional sandboxes, and larger recovery requirements.
The first boundary answers, “Can we launch?” The second answers, “Can we keep it running?” The third answers, “What changes when usage grows?”
A useful internal budget sheet should therefore contain one row per workload rather than one row called “AI cost.”
| Workload area | Main driver | Cost variable to record | Common budget mistake |
|---|---|---|---|
| Document processing | New and changed files | File count, file size, page complexity, parsing failures | Treating initial import as a monthly fixed cost |
| Indexing and storage | Chunks and metadata | Chunk count, embedding volume, replicas, backups | Counting files but ignoring index growth |
| RAG answers | User questions | Queries, context length, retrieval stages, output length | Budgeting only the final generation call |
| Agent and MCP tools | Tasks and tool steps | Tasks, calls per task, search actions, failures | Assuming every question is a one-call request |
| Sandbox execution | Code or isolated actions | Runs, runtime, artifacts, timeout, retry rate | Ignoring failed or abandoned executions |
| Operations | Reliability and governance | Monitoring, updates, access reviews, recovery work | Leaving human maintenance outside the budget |
This table is a planning model, not a price list. You should fill each variable with current provider, infrastructure, or Macstripe data before assigning a currency amount.
Map the document lifecycle before estimating storage
Document ingestion has three distinct workload patterns. Combining them produces a misleading average.
Initial import
The first import may require parsing, cleaning, chunking, embedding, metadata creation, and index construction. File format matters. A plain text file and a complex document with tables, images, or unusual layouts do not necessarily consume the same processing effort.
Record these variables:
- Number of new files.
- Total bytes and, where useful, page or record count.
- File types and parsing path.
- Average and maximum document length.
- Chunking rules and overlap.
- Embedding requests.
- Index writes and metadata writes.
- Failed files requiring manual correction.
- Whether the source copy must be retained for rollback.
The official DocReader environment variable reference is the right place to verify parser-related configuration and deployment variables. The official environment template can also reveal which services and credentials need to be accounted for in your environment review.
Incremental synchronization
An incremental update normally processes only new or changed content, but the real cost depends on how reliably you can detect changes. If the source system cannot provide stable document identifiers or modification markers, you may need broader comparisons or repeated processing.
Track:
- Files added per review period.
- Files changed per review period.
- Average replacement size.
- Percentage of files that fail parsing.
- Index entries removed or replaced.
- Time required for synchronization.
- Rollback retention and version cleanup.
A frequent hidden cost is stale content. If old chunks remain searchable after a document changes, users may receive conflicting answers. The remediation cost includes re-indexing, testing, and possibly manual review, not just another embedding request.
Full rebuild
A full rebuild is different from routine synchronization. It may be triggered by a changed chunking policy, embedding model, metadata design, access rule, or index schema. Estimate it as a separate event:
Full rebuild cost = parsing + chunking + embedding + index construction + validation + temporary capacity
Do not divide that event by twelve and call it a monthly average unless your operating plan actually schedules it that way. Keep a reserve for rollback and parallel validation if the existing index must remain available during the rebuild.
Use retrieval stages instead of one vague RAG line item
A WeKnora RAG knowledge base can contain several stages between a user question and a final answer. Each stage should be measured independently.
A typical request model is:
Question cost = query preparation + retrieval + optional reranking + context assembly + answer generation
Vector search and keyword search are not interchangeable budget items. Hybrid search can combine semantic and lexical signals, while reranking adds another processing stage. The Qdrant hybrid search documentation explains the separation between these retrieval approaches. Its reranking example is useful when deciding whether improved result ordering justifies another compute or service dependency.
For every query class, record:
- Queries per day or review period.
- Average retrieved chunks.
- Maximum retrieved chunks.
- Average context length sent to the model.
- Output length.
- Number of retrieval attempts.
- Reranking usage.
- Cache hit rate.
- Concurrent requests.
- Failed and repeated requests.
A simple variable formula is:
RAG operating cost = Q × (R + K + X + G) + S + O
Where:
Qis the number of user queries.Ris retrieval resource use per query.Kis optional keyword or hybrid-search resource use.Xis optional reranking and context assembly use.Gis generation model use.Sis storage and index maintenance.Ois operational overhead.
The symbols are intentionally not currency values. Prices vary by model, provider, region, service tier, and deployment mode. Assign a unit cost only after checking the relevant current source.
| RAG variable | Low-complexity case | Higher-cost case | What to measure before pricing |
|---|---|---|---|
| Query pattern | Short factual lookup | Long investigation with several retrieval passes | Queries by class and average context |
| Retrieval | Single vector or keyword path | Hybrid retrieval plus reranking | Requests, latency, and result count |
| Generation | Short answer with limited context | Long answer with citations and larger context | Input and output usage |
| Concurrency | Occasional individual access | Shared team or application traffic | Peak simultaneous requests |
| Data freshness | Rare manual updates | Frequent synchronization | Changed files and rebuild events |
Do not assume a larger document collection automatically creates the largest bill. A small but heavily queried knowledge base with long contexts and repeated retrieval can consume more recurring resources than a larger archive that is rarely accessed.
Separate Agent, MCP, Wiki, and sandbox workloads
Agent deployment changes the unit of estimation from “question” to “task.” One user request may produce several reasoning steps, tool calls, searches, file operations, or retries before the Agent returns an answer.
Use this formula:
Agent task cost = T × (M + C + W + B + F) + O
Where:
Tis the number of tasks.Mis model usage for planning and reasoning.Cis MCP or other tool-call usage.Wis web or external search activity.Bis sandbox execution.Fis failure and retry overhead.Ois the related operational share.
Classify tasks into three groups:
- Average task: limited retrieval, one or two tools, no code execution.
- Complex task: several retrieval rounds, multiple tools, file changes, or Wiki generation.
- Failed task: timeout, invalid tool output, permission failure, parsing error, or model retry.
This classification is more useful than a single average because failures often consume resources without producing a usable result. A Wiki generation workflow can also create a second workload: generated pages must be reviewed, indexed, updated, and possibly rolled back.
Sandbox execution needs explicit boundaries. Verify supported settings in the official WeKnora sandbox documentation. Record:
- Sandbox runs.
- Maximum runtime.
- Timeout rate.
- Artifact size.
- Network access requirements.
- Persistent storage needs.
- Retry behavior.
- Cleanup and isolation work.
Do not price a sandbox only by successful runs. A timeout that is retried, an artifact that remains stored, or a task that requires manual cleanup belongs in the estimate.
Choose local, cloud, or hybrid by conditions
The right deployment mode depends on data sensitivity, team access, concurrency, and how much infrastructure work you can own.
Use this decision path:
- If sensitive documents must remain inside a controlled network and traffic is low or predictable, choose local validation first. Keep the scope narrow and measure ingestion, retrieval, and Agent behavior before adding permanent services.
- If several users need continuous remote access and demand varies, choose a cloud deployment. Budget for persistent services, remote access controls, backups, monitoring, and expansion capacity.
- If sensitive data must stay controlled but bursty processing or remote collaboration is required, choose a hybrid design. Define exactly which documents, metadata, embeddings, and tool outputs may cross the boundary.
- If the team cannot maintain updates, recovery, access reviews, and observability, do not treat local hosting as free. Move the missing labor into the operations budget or use a managed environment.
- If you need physical interfaces, local network access, or a controlled Apple Silicon development workspace, include a Mac-based environment as a separate option rather than forcing every workload into a generic server model.
The official Docker Compose configuration is useful for identifying service relationships, but it is not a complete business budget. You still need to account for storage policy, secrets, backups, monitoring, network access, and the labor required to keep the deployment healthy.
| Deployment mode | Best fit | Advantages | Budget risks |
|---|---|---|---|
| Local | Proof of concept, sensitive data, low concurrency | Direct control and contained testing | Hardware ownership, maintenance, remote access |
| Cloud | Shared access, variable demand, long-running service | Easier remote availability and expansion | Persistent infrastructure, data transfer, access controls |
| Hybrid | Sensitive core data with bursty external workloads | Balances control and flexible capacity | More interfaces, synchronization rules, and failure points |
Add budget guardrails before launch
A budget model becomes useful only when the application has limits. Set these controls before users begin testing:
- Define a maximum context size for each query class.
- Set a retrieval result limit and decide when reranking is allowed.
- Cap Agent tool calls per task.
- Limit sandbox runtime and artifact retention.
- Set a retry ceiling for model, parser, retrieval, and tool failures.
- Create separate quotas for testing, internal users, and production traffic.
- Require approval before enabling automatic Wiki generation on a large collection.
- Record failed tasks separately from successful tasks.
- Set a storage review threshold for old versions, logs, and artifacts.
- Define a rollback owner and a recovery test schedule.
Use a weekly review sheet with these columns:
Period | New files | Changed files | Full rebuilds | Queries | Agent tasks | Tool calls | Sandbox runs | Failures | Retries | Storage growth | Peak concurrency | Review action
At the end of each review period, compare planned and actual values:
Forecast error = actual usage - planned usage
Then update the next period using workload-specific values. If query volume is stable but context length is rising, change the generation estimate rather than simply multiplying the old monthly number. If failures are concentrated in one parser or tool, fix that path before increasing infrastructure capacity.
The Qdrant production checklist is a useful reference for reviewing operational concerns around a production retrieval service. Use it alongside WeKnora's current deployment documentation, not as a substitute for testing your own data and access rules.
A scenario-based example without invented prices
Suppose your first release contains a modest internal document set but receives frequent updates and supports both RAG questions and Agent workflows. The document count alone will not reveal the budget.
The first pass should measure:
- Initial parsing and indexing work.
- Changed files during a normal review period.
- Average and peak queries.
- Context size for short and long questions.
- Retrieval and reranking usage.
- Agent tasks by complexity.
- Tool calls per task.
- Sandbox runs and timeout rate.
- Storage growth from indexes, versions, logs, and artifacts.
If the proof of concept shows low concurrency but high update frequency, optimize synchronization and rollback before adding larger compute capacity. If updates are rare but long Agent tasks dominate, focus on tool-call caps, context control, timeout policy, and retry behavior. If both concurrency and data freshness rise, move from a local test to a cloud or hybrid design only after recording the actual workload shape.
This is why fixed monthly figures can be misleading. The same WeKnora installation may behave like a light document search service during one period and like a multi-step Agent platform during another.
Build the final approval sheet
Before approving a deployment, keep the following fields separate:
- Data processing: parsing, cleaning, chunking, embedding, and synchronization.
- Index and storage: vector data, keyword data, metadata, replicas, backups, logs, and artifacts.
- Question answering: retrieval, reranking, context assembly, input usage, and output usage.
- Agent execution: planning, MCP calls, searches, Wiki generation, and retries.
- Sandbox: isolated runs, runtime, network policy, artifacts, cleanup, and timeouts.
- Operations: monitoring, upgrades, access reviews, incident response, recovery tests, and human support.
For each field, record the unit, expected volume, maximum volume, source of the assumption, and trigger for re-estimation. A number without a unit is not a budget. “High usage” should become queries per review period, tasks per review period, changed files per review period, or another measurable variable.
You can keep a copy of this structure beside your deployment runbook and validate the required environment details through the Macstripe help center when the deployment also depends on a remote Mac workspace.
Frequently Asked Questions
What costs should you include when deploying WeKnora?
A complete WeKnora budget should include six areas: document processing, indexing and storage, question-answering model calls, Agent and MCP tool calls, sandbox execution, and ongoing operations. Separate one-time ingestion from recurring usage. Otherwise, a small proof of concept may look cheap while synchronization, retries, monitoring, and higher query volume create unexpected operating costs.
How can I estimate a WeKnora RAG knowledge base budget?
Start with document volume, update frequency, average queries, context size, retrieval stages, and concurrency. Estimate ingestion separately from daily question answering. Then record actual token usage, retrieval requests, failed jobs, and storage growth for one review cycle. Replace assumptions with measured values before committing to a long-term cloud architecture.
How are model calls and vector storage costs calculated for an enterprise knowledge base?
Model cost depends on input context, output length, query volume, and the number of model calls per request. Vector storage depends on chunk count, embedding dimensions, metadata, replicas, backups, and update history. Treat keyword search, vector search, reranking, and generation as separate stages because each can consume different compute, storage, or API resources.
Should WeKnora run locally or in the cloud?
Use local deployment when data boundaries, development control, or low and predictable concurrency matter more than remote access. Choose cloud deployment when several users need continuous access, elastic capacity, or centralized operations. A hybrid design is often suitable when sensitive documents stay inside a controlled environment while selected services handle bursty workloads.