Key facts
| Pipeline | Index internal sources → retrieve with ACLs → cited answers |
| Embeddings | plugsky-embed and plugsky-embed-multilingual via /v1/embeddings (live) |
| Generation | Cited answers with streaming and JSON mode (live) |
| Models | 30+ models, including plugsky-longctx for long internal documents |
| Permissions | Chunk-level access labels filtered before ranking |
| Audit | Retrieval decisions and model metadata logged per request |
| Residency | Region-locked planes, VPC, on-prem and air-gapped options |
| Free tier | plugsky-micro and plugsky-lite on the free plan, no card required |
TL;DR
- Index once across docs, tickets and wikis; answer anywhere through one retrieval layer.
- Apply the user's access groups as a filter before retrieval, never after generation.
- Require citations to source documents so employees can verify before acting.
- Demote stale content with freshness metadata instead of deleting it silently.
- Collect unanswered questions to find the documentation gaps worth fixing.
How it works, step by step
- Choose the first corpus — product documentation plus the internal wiki, or the support knowledge base — and define its owners.
- Parse and chunk content by article or heading, storing source, URL, version, updated date and access groups per chunk.
- Embed chunks with plugsky-embed and index them alongside your existing keyword search.
- Resolve the caller's identity and groups at query time and apply them as a hard filter before ranking.
- Generate the answer from retrieved passages only, with an instruction to cite sources and admit gaps.
- Return citations with deep links, plus a fallback list of raw results when confidence is low.
- Feed unanswered and low-rated questions back to the content owners and re-index on every publish.
Try it yourself
Open the best model for RAG selector →
Retrieval as the copilot's context layer
An internal copilot is a retrieval product with a conversation on top. Its quality ceiling is set by what retrieval returns: if the right passage is not in the prompt, no prompt wording will save the answer. So invest in the index — clean text, sensible chunks, useful metadata — before tuning the assistant's tone.
Plugsky supplies the live model layer: /v1/embeddings for indexing and /v1/chat/completions for answers with streaming and JSON mode. Connectors, ACLs and the vector store remain in your environment, which is where internal content governance belongs.
Permission-aware indexing for internal content
Internal content spans public-to-company, team-only and confidential material, often in the same source. Encode that distinction as data on every chunk, then enforce it at query time. The retrieval step should resolve the caller's groups server-side and filter before ranking, so no unauthorised passage ever enters a prompt.
- Group labels: store group identifiers, not just a sensitivity score, so filters match your directory.
- Source links: keep canonical URLs and document IDs so citations open the live version.
- Versions: record document version and updated date to support freshness ranking.
- Audit: log which chunks were retrieved per request for access reviews.
Answer quality and feedback loops
Ground every answer in retrieved passages and require citations. When passages conflict, instruct the copilot to present both and link to each source rather than choosing silently. When nothing relevant is retrieved, it should say so and offer the closest documents — a graceful miss is more useful than a confident invention.
Measure retrieval recall, citation accuracy and thumbs-up rate, and review the queries that produced no answer. Those misses are a map of missing or poorly written documentation. Add freshness signals so superseded pages sink in ranking, and re-index automatically when content owners publish. Residency follows the same pattern as other enterprise workloads: pin to a region-locked plane, or deploy VPC, on-prem or air-gapped.
Honest comparison
| Capability | Plugsky RAG copilot | Wiki search | Managed copilot product |
|---|---|---|---|
| Answer quality | Grounded synthesis with citations | Ranked pages | Vendor-defined |
| Permissions | Filtered before retrieval | Index ACLs | Vendor connectors |
| Model choice | 30+ models behind one endpoint | None | Vendor catalogue |
| Freshness | Version metadata and re-index on publish | Manual curation | Varies |
| Residency | Region-locked planes, VPC, on-prem, air-gapped | Your infrastructure | Usually cloud-only |
Frequently asked questions
How is this different from enterprise search?
The retrieval layer is similar, but the copilot synthesises an answer and cites it. Search returns a list; the copilot returns a usable response with sources attached.
How do permissions stay correct?
Store group identifiers on every chunk, resolve the caller's groups in your service, and apply the filter before ranking. Prompts are never trusted with access control.
Do we need to copy all content into a new store?
You need an index of chunk embeddings, but the source remains the system of record. Keep canonical URLs in metadata so citations point back to live documents.
What happens when the copilot cannot answer?
It should say so, offer the nearest documents and log the query. Those logs identify documentation gaps and are more valuable than a fabricated answer.
Which models should we use?
Use plugsky-micro or plugsky-lite for routing and short answers, and stronger models for synthesis over long documents. 30+ models share one endpoint, so routing is configuration.
Can it run inside our network?
Yes. Plugsky supports region-locked cloud planes plus VPC, on-prem and air-gapped deployment for content that cannot leave your environment.
How do we measure success?
Track deflection rate, citation accuracy, thumbs-up ratio and zero-result queries. Also measure how often employees still open the cited document — verification is the trust signal.