Learn how to create a powerful retrieval-augmented generation agent without writing code using Knowledges
This tutorial guides you through building a Retrieval-Augmented Generation (RAG) agent on Prisme.ai without writing any code. In v27 the work is split across two products: Knowledges hosts the knowledge base (document ingestion, embeddings, retrieval), and Agent Creator hosts the agent itself (instructions, model, playground, evaluations). You’ll wire them together so your agent answers questions grounded in your documents.
A Knowledge Base in Knowledges containing your documents
Vector embedding and retrieval handled by the Knowledge Base
An agent in Agent Creator that consumes that Knowledge Base for context
The Agent Creator Playground for testing conversations
Evaluations and Analytics in Agent Creator for ongoing quality control
This split lets Data Scientists, Data Engineers, Developers, and Business Teams collaborate from a single source of truth: knowledge stays curated in one place, while agents that depend on it are configured and tested independently.
Let’s start by orienting ourselves inside the Knowledges product.
1
Open Knowledges
From AI Studio, open the Knowledges product (/apps/ai-knowledge).
2
Explore the navigation
The left sidebar gives you four entries:
Dashboard: overview with high-level stats: number of Knowledge Bases, Documents, and Connectors.
Knowledge Bases: the list of every knowledge base in your workspace, with quick access to each one.
Connectors: third-party SaaS integrations (SharePoint, Google Drive, Notion, Confluence) that sync content into Knowledge Bases. Note: web crawling and direct file uploads are not here; they live on each Knowledge Base’s detail page via Add Web Source and Add Documents.
Settings: workspace-level Knowledges settings.
3
Skim the dashboard
The dashboard tiles are the fastest way to gauge volume: how many knowledge bases exist, how many documents are indexed across all of them, and how many third-party connectors are wired up.
Now create the knowledge base that will hold your documents.
1
Open Knowledge Bases
In the Knowledges sidebar, click Knowledge Bases.
2
Start a new Knowledge Base
Click the + Create button in the top-right (the Dashboard’s + New Knowledge Base tile opens the same dialog).
3
Name and configure it
Give the Knowledge Base a clear name and description that reflect what it covers. Pick the embedding model you want to use for vectorization; the choice affects retrieval quality and cost.
4
Open the Knowledge Base
Once created, open it from the Knowledge Bases list to access its documents and settings.
Knowledges is model-agnostic for both embedding and generation, so you can swap models later without rebuilding the knowledge base from scratch.
With the Knowledge Base open, ingest your content.
1
Open the documents tab
Inside the Knowledge Base, navigate to its documents tab.
2
Add documents
Click Add Documents and either upload files from your computer or paste URLs to web content. For full website ingestion, see the Add Web Source flow on the Knowledge Base detail page.
3
Configure document processing
Per Knowledge Base, you can adjust how content is chunked before embedding:
Text Splitter: static (fixed-size chunks) or dynamic (content-aware) segmentation
Chunk Size: the size of each segment
Overlap: how much content overlaps between adjacent chunks to preserve context
Start the processing job. Knowledges will load and parse each document, extract and clean the text, segment it into chunks, generate vector embeddings, and capture metadata.
Step 4: Create an Agent in Agent Creator and Connect the Knowledge Base
The knowledge base is ready. Now create the agent that will use it.
1
Open Agent Creator
From AI Studio, switch to the Agent Creator product (/apps/agent-factory).
2
Create a new agent
Click + Create agent in the top-right. Give the agent a name and description.
3
Set instructions and model
Write the agent’s system instructions (its role, tone, what it should and shouldn’t do) and pick the generation model.
4
Attach the Knowledge Base
In the agent’s Capabilities section, connect the Knowledge Base you created in Step 2. From now on, the agent will retrieve relevant chunks from that Knowledge Base each time a user asks a question.
The screenshot shows the agent creation wizard. Once your agent exists, attach a Knowledge Base from its capabilities/configuration view.
On the agent’s detail page, open the Playground tab.
2
Ask questions
Enter questions related to your documents and watch the agent respond.
3
Inspect the retrieved sources
Each response surfaces the document chunks that were pulled from the Knowledge Base to ground the answer. Use this to verify the agent’s reasoning and catch retrieval issues early.
Source transparency is a first-class feature: every answer in the Playground (and in production) shows which chunks were used, so you can audit grounding without leaving the agent’s page.
Evaluations live alongside the agent in Agent Creator, which keeps quality checks tied to the thing being tested.
1
Open the Evaluate tab
On the agent’s detail page, switch to the Evaluate tab.
2
Create an eval suite
Add a new evaluation suite for the agent.
3
Define test cases
Each test case pairs a question a user might ask with the expected answer the agent should produce.
4
Schedule runs
Configure how often the suite runs (daily, weekly, on demand) and whether it should fire automatically after agent changes.
5
Run the suite
Execute the suite to evaluate the agent’s current behavior.
6
Review results
Each result includes:
Prompt and Context: the exact prompt and retrieved context used
Generated Response: what the agent actually produced
Response Evaluation: rating of response quality (poor, correct, good)
Context Evaluation: rating of retrieved-context relevance and accuracy
Business experts can manually grade responses, context, and hallucinations. Re-run the suite after every meaningful change (instructions, model, retrieval parameters, chunking, or attached Knowledge Base) so regressions surface immediately.
Once the basics work, you can extend the system with custom logic that reacts to Knowledge Base activity. The pattern is the same in both cases: a Builder automation (or an external service) listens for platform events emitted by the Knowledge Base and runs your custom logic in response.
Using Builder Product
Using External Code
1
Open Builder
Open the Builder product (/builder), Prisme.ai’s no-code workspace for automations.
2
Create an event-triggered automation
Create an automation whose when block subscribes to the Knowledge Base events you care about, for example document add/update/delete or query events. See the Automations reference for the trigger syntax.
3
Implement custom logic
In the automation’s do steps, run whatever processing you need: call out to a custom service, write to a Collection, post to Slack, or chain another agent. You can mix YAML instructions with Custom Code (Python or NodeJS) blocks.
1
Build an external service
Implement your custom processing as a service that exposes an HTTPS endpoint.
2
Bridge events with a Builder automation
Create an automation in Builder that subscribes to the Knowledge Base events you care about, then fetches your external service inside the automation. This keeps event subscription centralized in Builder and uses your service for the heavy lifting.
3
Handle events
On your service, branch on the event payload received from the automation and run the appropriate handler.
For sensitive content, route Knowledge Base events through your own safety layer.
1
Implement PII controls
Subscribe a Builder automation to Knowledge Base events (document ingest, query) and run PII detection inside that automation before sensitive content is stored or returned.
2
Configure data anonymization
Decide whether to anonymize personal data based on your use case and compliance requirements.
3
Add custom safety controls
Plug in organization-specific safety measures (content filters, allow/deny lists, audit logging) wherever they belong in the event flow.
You’ve built a RAG agent without writing code: documents ingested into a Knowledge Base in Knowledges, an agent configured in Agent Creator that retrieves from that Knowledge Base, and a Playground plus Evaluations workflow for ongoing quality. The clean split between knowledge and agent makes it easy to evolve each side independently (swap models, refine instructions, or replace the Knowledge Base) without rebuilding the rest.
Learn how to automatically classify and organize your documents with AI
AI Contact Routing
Create an intelligent contact form that routes inquiries to the right department
Webhook Integration
Build advanced integrations between your RAG agent and other systems
Website to RAG
Turn website content into a comprehensive knowledge base for your RAG agent
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Prisme.ai","colors":{"primary":"#255BE0","light":"#4480ED","dark":"#255BE0"},"logo":{"light":"https://mintcdn.com/prismeai/_sSeZNUvs7sBNa3K/logo/light.svg?fit=max\u0026auto=format\u0026n=_sSeZNUvs7sBNa3K\u0026q=85\u0026s=4361458c99ac06f7a551020a022b802c","dark":"https://mintcdn.com/prismeai/_sSeZNUvs7sBNa3K/logo/dark.svg?fit=max\u0026auto=format\u0026n=_sSeZNUvs7sBNa3K\u0026q=85\u0026s=3a821be1a9c43dfe88d750b42b0879ca"},"favicon":"https://mintcdn.com/prismeai/_sSeZNUvs7sBNa3K/favicon.svg?fit=max\u0026auto=format\u0026n=_sSeZNUvs7sBNa3K\u0026q=85\u0026s=e62b8218f2529b02ddcca7e240aeb121","api":{"params":{"expanded":"all"},"playground":{"display":"interactive"},"examples":{"defaults":"required","languages":["curl","javascript","python"]}},"background":{"color":{"light":"#F2F3F5","dark":"#0A0A0F"}},"navbar":{"links":[{"href":"mailto:support@prisme.ai","label":"Support"}],"primary":{"type":"button","label":"Ask for a demo","href":"https://www.prisme.ai/request-demo"}},"footer":{"socials":{"github":"https://github.com/prismeai","linkedin":"https://linkedin.com/company/prismeai"}},"seo":{"metatags":{"keywords":"sovereign agentic platform, plateforme agentique souveraine, AI Information System, enterprise AI platform, AI agents, agent governance, traceable AI, cloud agnostic, LLM agnostic, agentic workflows","robots":"index, follow","og:site_name":"Prisme.ai Documentation"},"indexing":"navigable"},"fonts":{"family":"PP Telegraf","weight":400},"contextual":{"options":["download-spec"],"display":"header"},"styling":{"latex":true},"navigation":{"global":{"anchors":[{"anchor":"Blog","icon":"newspaper","href":"https://blog.prisme.ai"},{"anchor":"Legacy Documentation","icon":"clock-rotate-left","href":"https://prismeai-legacy.mintlify.app/"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"prismeai","hasAudioNarration":false,"actualSubdomain":"prismeai","customDomains":["docs.prisme.ai"],"gitSource":{"type":"gitlab","owner":"prisme.ai","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"projectId":88542754,"mountPath":"","label":"","_id":"6aeca605e8540e9445e0c511"},"feedback":{"thumbs":true,"edits":false,"issues":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6af58a6614affe1bdef0399d","clientVersion":"0.0.4111","searchFilterCounts":[{"language":"default","tag":"API Reference","count":381},{"language":"default","tag":"Platform API","count":179},{"language":"default","tag":"Products","count":113},{"language":"default","tag":"App Store","count":88},{"language":"default","tag":"Agent Creator API","count":80},{"language":"default","tag":"Prisme.ai Workspaces","count":55},{"language":"default","tag":"Organizations","count":48},{"language":"default","tag":"Knowledges API","count":39},{"language":"default","tag":"Connectors","count":37},{"language":"default","tag":"API Gateway","count":37}]},"assistantConfig":{"enableStarterQuestions":false,"deflection":{"enabled":true,"type":"email","email":"support@prisme.ai"}},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"custom.css","content":"@font-face{font-family:'PP Telegraf';src:url('https://uploads.prisme.ai/yj7mmn-/ffcs3WSD7NIciPjlrySpO.PPTelegraf-Regular.otf') format('opentype');font-weight:100 600;font-style:normal;font-display:swap}@font-face{font-family:'PP Telegraf';src:url('https://uploads.prisme.ai/yj7mmn-/lpdrPfRwHqg0SiRWe_hec.PPTelegraf-Ultrabold.otf') format('opentype');font-weight:700 900;font-style:normal;font-display:swap}:root{--prisme-primary: #255BE0;--prisme-bg: #F2F3F5;--prisme-fg: #0A0A0F;--prisme-card: #FFFFFF;--prisme-border: #E3E6EC;--prisme-muted: #6B7080;--prisme-secondary: #E3E5EB;--prisme-accent-warm: #F5A623;--prisme-radius: 0.5rem;--prisme-tabs-sticky-top: 4rem}@media (min-width: 1024px){:root{--prisme-tabs-sticky-top: 7rem}}[data-theme=\"dark\"],.dark{--prisme-bg: #0A0A0F;--prisme-fg: #FAFAFA;--prisme-card: #0A0A0F;--prisme-border: #1F2028;--prisme-muted: #9CA0AE;--prisme-secondary: #1F2028}body{font-family:'PP Telegraf', 'Inter', system-ui, -apple-system, sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4{font-weight:500}#navbar{border-bottom:1px solid var(--prisme-border)}#sidebar{border-right:1px solid var(--prisme-border)}callout{border-radius:var(--prisme-radius);border:1px solid var(--prisme-border)}[data-callout-type=\"warning\"] [data-component-part=\"callout-content\"],[data-callout-type=\"warning\"] [data-component-part=\"callout-content\"] strong{color:var(--prisme-fg)!important}code-block{border-radius:var(--prisme-radius)}#footer{border-top:1px solid var(--prisme-border)}[data-component-part=\"tabs-list\"]{position:sticky;top:var(--prisme-tabs-sticky-top);z-index:20;margin-bottom:0;padding-top:0.5rem;background:var(--prisme-bg);border-bottom-width:2px;border-bottom-color:var(--prisme-border);-webkit-backdrop-filter:saturate(180%) blur(6px);backdrop-filter:saturate(180%) blur(6px)}[data-component-part=\"tab-button\"]{color:var(--prisme-muted);font-weight:500;transition:color 0.15s ease, box-shadow 0.15s ease}[data-component-part=\"tab-button\"]:hover{color:var(--prisme-fg)}[data-component-part=\"tab-button\"][data-active=\"true\"]{color:var(--prisme-primary);font-weight:700;box-shadow:inset 0 -3px 0 0 var(--prisme-primary)}[data-component-part=\"tab-content\"]{border:1px solid var(--prisme-border);border-top:none;border-radius:0 0 var(--prisme-radius) var(--prisme-radius);padding:1.25rem 1.5rem;margin-bottom:2rem;background:var(--prisme-card)}[data-theme=\"dark\"] [data-component-part=\"tab-content\"],.dark [data-component-part=\"tab-content\"]{background:rgba(255, 255, 255, 0.02)}"},{"filePath":"tutorials/player.css","content":".pv-host{display:block;width:100%;aspect-ratio:16 / 9;margin:1.5rem 0}.pv.video-js{--pv-primary: #205BE1;--pv-ink: #151B24;--pv-muted: #69707F;--pv-border: #E4E7ED;--pv-surface: #F8FAFD;--pv-page: #FFFFFF;--pv-cover: #1E50D2;--pv-cover-eyebrow: #9DB4EE;--pv-cover-sub: #C9D8F7;--pv-title-font: Arial;--pv-pill-bg: #FFFFFF;--pv-pill-text: var(--pv-primary);container-type:size;background:var(--pv-page);border-radius:14px;overflow:hidden;font-family:-apple-system, BlinkMacSystemFont, \"Segoe UI\", Arial, sans-serif;color:var(--pv-ink)}.pv.video-js.vjs-fullscreen,.pv.video-js.vjs-full-window{border-radius:0}.pv.video-js>*{--u: min(1cqw, calc(100cqh / 56.25));--ox: calc(50cqw - 50 * var(--u));--oy: calc(50cqh - 28.125 * var(--u))}.pv.video-js .vjs-tech{left:calc(var(--ox) + var(--fx) * var(--u));top:calc(var(--oy) + (var(--fy) + 2.4) * var(--u));width:calc(var(--sw) * var(--u));height:calc(var(--sh) * var(--u));object-fit:cover;background:#fff;border-radius:0 0 calc(1 * var(--u)) calc(1 * var(--u))}.pv.video-js .vjs-poster{display:none}.pv.video-js .pv-frame{position:absolute;left:calc(var(--ox) + var(--fx) * var(--u));top:calc(var(--oy) + var(--fy) * var(--u));width:calc(var(--sw) * var(--u));height:calc((var(--sh) + 2.4) * var(--u));border-radius:calc(1 * var(--u));box-shadow:0 calc(1.2 * var(--u)) calc(3 * var(--u)) rgba(21, 27, 36, .18), 0 0 0 1px var(--pv-border);pointer-events:none}.pv.video-js .pv-bar{height:calc(2.4 * var(--u));display:flex;align-items:center;gap:calc(.55 * var(--u));padding:0 calc(1 * var(--u));background:var(--pv-surface);border-bottom:1px solid var(--pv-border);border-radius:calc(1 * var(--u)) calc(1 * var(--u)) 0 0}.pv.video-js .pv-bar i{width:calc(.7 * var(--u));height:calc(.7 * var(--u));border-radius:50%;background:#FF5F57}.pv.video-js .pv-bar i:nth-child(2){background:#FEBC2E}.pv.video-js .pv-bar i:nth-child(3){background:#28C840}.pv.video-js .pv-bar span{flex:1;margin:0 calc(4 * var(--u));height:calc(1.5 * var(--u));border-radius:calc(.75 * var(--u));background:#fff;border:1px solid var(--pv-border);color:var(--pv-muted);font-size:calc(.8 * var(--u));display:grid;place-items:center;overflow:hidden;white-space:nowrap}.pv.video-js .pv-panel{position:absolute;left:var(--ox);top:var(--oy);width:calc(27 * var(--u));height:calc(56.25 * var(--u));padding:calc(3.2 * var(--u)) calc(2.4 * var(--u)) calc(5.2 * var(--u)) calc(3.2 * var(--u));box-sizing:border-box;display:flex;flex-direction:column;color:var(--pv-ink);pointer-events:none}.pv.video-js .pv-panel .pv-logo{width:calc(13 * var(--u));margin-bottom:calc(4 * var(--u))}.pv.video-js h1,.pv.video-js p,.pv.video-js ol,.pv.video-js li,.pv.video-js button,.pv.video-js span{margin:0;padding:0;letter-spacing:normal;text-transform:none;font-family:inherit}.pv.video-js img{margin:0;border:0;box-shadow:none;max-width:none}.pv.video-js .pv-eyebrow{color:var(--pv-primary);font:700 calc(.95 * var(--u)) Arial;letter-spacing:.08em;text-transform:uppercase;margin-bottom:calc(.8 * var(--u))}.pv.video-js .pv-panel h1{font:700 calc(2.6 * var(--u)) / 1.12 var(--pv-title-font), Arial;margin:0 0 calc(.9 * var(--u));color:var(--pv-ink)}.pv.video-js .pv-panel p{color:var(--pv-muted);font-size:calc(1.25 * var(--u));line-height:1.4;margin:0 0 calc(2 * var(--u))}.pv.video-js .pv-toc{list-style:none;padding:0;margin:0;border-top:1px solid var(--pv-border);pointer-events:auto}.pv.video-js .pv-toc li{border-bottom:1px solid var(--pv-border);list-style:none}.pv.video-js .pv-toc li::before,.pv.video-js .pv-toc li::marker{content:none}.pv.video-js .pv-toc button{all:unset;box-sizing:border-box;width:100%;display:flex;gap:calc(.9 * var(--u));align-items:center;padding:calc(.7 * var(--u)) calc(.2 * var(--u));cursor:pointer;color:var(--pv-muted);font:calc(1.1 * var(--u)) / 1.3 inherit}.pv.video-js .pv-toc button:focus-visible{outline:2px solid var(--pv-primary);outline-offset:-2px}.pv.video-js .pv-toc .n{width:calc(1.9 * var(--u));height:calc(1.9 * var(--u));border-radius:50%;background:var(--pv-border);display:grid;place-items:center;font:700 calc(.85 * var(--u)) var(--pv-title-font), Arial;flex:none}.pv.video-js .pv-toc li.on button{color:var(--pv-ink);font-weight:600}.pv.video-js .pv-toc li.on .n{background:var(--pv-primary);color:#fff}.pv.video-js .pv-toc button:hover{color:var(--pv-ink)}.pv.video-js .pv-foot{margin-top:auto;color:var(--pv-muted);font-size:calc(.85 * var(--u))}.pv.video-js .pv-cover{position:absolute;inset:0;background:var(--pv-cover);color:#fff;display:none;z-index:2;cursor:pointer}.pv.video-js:not(.vjs-has-started) .pv-cover{display:block}.pv.video-js .pv-cover>div{position:absolute;left:calc(var(--ox) + 6 * var(--u));top:calc(var(--oy) + 5 * var(--u));width:calc(38 * var(--u))}.pv.video-js .pv-cover .pv-mark{position:absolute;left:calc(var(--ox) + 55 * var(--u));top:calc(var(--oy) + 4 * var(--u));width:calc(48 * var(--u))}.pv.video-js .pv-cover .pv-logo{width:calc(14 * var(--u));margin-bottom:calc(12 * var(--u))}.pv.video-js .pv-cover .pv-eyebrow{color:var(--pv-cover-eyebrow)}.pv.video-js .pv-cover h1{font:700 calc(4.6 * var(--u)) / 1.08 var(--pv-title-font), Arial;margin:0 0 calc(1.4 * var(--u));color:#fff}.pv.video-js .pv-cover p{color:var(--pv-cover-sub);font-size:calc(1.8 * var(--u));margin:0 0 calc(2.6 * var(--u))}.pv.video-js .pv-cover b{display:inline-block;background:var(--pv-pill-bg);color:var(--pv-pill-text);border-radius:calc(.7 * var(--u));padding:calc(.8 * var(--u)) calc(1.8 * var(--u));font:700 calc(1.3 * var(--u)) Arial}.pv.video-js .pv-tools{position:absolute;right:calc(100cqw - var(--ox) - 96.5 * var(--u));top:calc(var(--oy) + .9 * var(--u));display:flex;gap:calc(.3 * var(--u));background:var(--pv-surface);border:1px solid var(--pv-border);border-radius:calc(.8 * var(--u));padding:calc(.25 * var(--u));z-index:4}.pv.video-js .pv-tools button{border:0;background:none;padding:calc(.35 * var(--u)) calc(.9 * var(--u));border-radius:calc(.55 * var(--u));font:600 calc(.95 * var(--u)) Arial;color:var(--pv-muted);cursor:pointer}.pv.video-js .pv-tools button[aria-pressed=true]{background:var(--pv-primary);color:#fff}.pv.video-js .pv-tools button:focus-visible{outline:2px solid var(--pv-primary);outline-offset:1px}.pv.video-js .pv-ccwrap{position:relative;display:flex}.pv.video-js .pv-ccmenu{position:absolute;right:0;top:calc(100% + .5 * var(--u));margin:0;padding:calc(.35 * var(--u));list-style:none;background:#fff;border:1px solid var(--pv-border);border-radius:calc(.8 * var(--u));min-width:calc(13 * var(--u));box-shadow:0 calc(1 * var(--u)) calc(2.5 * var(--u)) rgba(21, 27, 36, .16)}.pv.video-js .pv-ccmenu li{padding:calc(.55 * var(--u)) calc(.9 * var(--u));border-radius:calc(.5 * var(--u));font:500 calc(.95 * var(--u)) Arial;color:var(--pv-ink);cursor:pointer;white-space:nowrap;display:flex;justify-content:space-between;gap:calc(1 * var(--u))}.pv.video-js .pv-ccmenu li:hover,.pv.video-js .pv-ccmenu li:focus{background:var(--pv-surface);outline:none}.pv.video-js .pv-ccmenu li[aria-checked=true]{color:var(--pv-primary);font-weight:700}.pv.video-js .pv-ccmenu li[aria-checked=true]::after{content:\"✓\"}.pv.video-js .pv-ccmenu li.sep{height:1px;padding:0;margin:calc(.3 * var(--u)) 0;background:var(--pv-border);cursor:default}.pv.video-js .pv-subs{position:absolute;left:var(--ox);width:calc(100 * var(--u));z-index:1;pointer-events:none;text-align:center;bottom:calc(100cqh - var(--oy) - 51.8 * var(--u));padding:0 calc(6 * var(--u));box-sizing:border-box;transition:bottom .25s}.pv.video-js.vjs-user-inactive.vjs-playing .pv-subs{bottom:calc(100cqh - var(--oy) - 54.4 * var(--u))}.pv.video-js .pv-subs span:not(:empty){display:inline-block;background:rgba(21, 27, 36, .84);color:#fff;border-radius:calc(.5 * var(--u));padding:calc(.35 * var(--u)) calc(1 * var(--u));font:500 calc(1.55 * var(--u)) / 1.35 Arial}.pv.video-js .pv-subs[hidden]{display:none}.pv.video-js .vjs-text-track-display{display:none}.pv.video-js .vjs-control-bar{background:linear-gradient(transparent, rgba(14, 17, 22, .82));height:max(34px, calc(3.6 * var(--u)));font-size:max(10px, calc(1.05 * var(--u)));z-index:3}.pv.video-js .vjs-big-play-button{left:50%;top:50%;transform:translate(-50%, -50%);margin:0;z-index:3;width:calc(7 * var(--u));height:calc(4.6 * var(--u));line-height:calc(4.6 * var(--u));font-size:calc(3 * var(--u));border-radius:calc(.8 * var(--u));background:var(--pv-primary);border:0;opacity:.94}.pv.video-js .vjs-big-play-button .vjs-icon-placeholder:before{line-height:calc(4.6 * var(--u))}.pv.video-js:hover .vjs-big-play-button{opacity:1}.pv.video-js .vjs-big-play-button,.pv.video-js .vjs-big-play-button .vjs-icon-placeholder{color:#fff}.pv.video-js:not(.vjs-has-started) .vjs-big-play-button{background:#fff;opacity:1;box-shadow:0 calc(.8 * var(--u)) calc(2 * var(--u)) rgba(0, 0, 0, .18)}.pv.video-js:not(.vjs-has-started) .vjs-big-play-button .vjs-icon-placeholder{color:var(--pv-primary)}.pv.video-js.vjs-has-started.vjs-paused .vjs-big-play-button{display:block}.pv.video-js.vjs-playing .vjs-big-play-button,.pv.video-js.vjs-seeking .vjs-big-play-button{display:none}"}],"page":{"pagePath":"resources/tutorials/no-code-rag-agent","slug":"/resources/tutorials/no-code-rag-agent","pageMetadata":{"title":"Building a No-Code RAG Agent","description":"Learn how to create a powerful retrieval-augmented generation agent without writing code using Knowledges","href":"/resources/tutorials/no-code-rag-agent"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Learn how to create a powerful retrieval-augmented generation agent without writing code using Knowledges\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,em:`em`,li:`li`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Card,CardGroup,Heading,Note,OptimizedImage,Step,Steps,Tab,Tabs}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`This tutorial guides you through building a Retrieval-Augmented Generation (RAG) agent on Prisme.ai without writing any code. In v27 the work is split across two products: `,_jsx(_components.strong,{children:`Knowledges`}),` hosts the knowledge base (document ingestion, embeddings, retrieval), and `,_jsx(_components.strong,{children:`Agent Creator`}),` hosts the agent itself (instructions, model, playground, evaluations). You’ll wire them together so your agent answers questions grounded in your documents.`]}),`\n`,_jsx(Heading,{level:`2`,id:`what-you’ll-build`,children:`What You’ll Build`}),`\n`,_jsx(_components.p,{children:`A complete RAG system with:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`A Knowledge Base in `,_jsx(_components.strong,{children:`Knowledges`}),` containing your documents`]}),`\n`,_jsx(_components.li,{children:`Vector embedding and retrieval handled by the Knowledge Base`}),`\n`,_jsxs(_components.li,{children:[`An agent in `,_jsx(_components.strong,{children:`Agent Creator`}),` that consumes that Knowledge Base for context`]}),`\n`,_jsxs(_components.li,{children:[`The Agent Creator `,_jsx(_components.strong,{children:`Playground`}),` for testing conversations`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Evaluations`}),` and `,_jsx(_components.strong,{children:`Analytics`}),` in Agent Creator for ongoing quality control`]}),`\n`]}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`This split lets Data Scientists, Data Engineers, Developers, and Business Teams collaborate from a single source of truth: knowledge stays curated in one place, while agents that depend on it are configured and tested independently.`})}),`\n`,_jsx(Heading,{level:`2`,id:`prerequisites`,children:`Prerequisites`}),`\n`,_jsx(_components.p,{children:`Before starting this tutorial, make sure you have:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Access to a Prisme.ai workspace with `,_jsx(_components.strong,{children:`Knowledges`}),` and `,_jsx(_components.strong,{children:`Agent Creator`}),` enabled`]}),`\n`,_jsx(_components.li,{children:`Basic understanding of prompting concepts`}),`\n`,_jsx(_components.li,{children:`Documents to ingest (web pages, PDFs, Word documents, PowerPoint presentations, etc.)`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`step-1-understanding-the-knowledges-interface`,children:`Step 1: Understanding the Knowledges Interface`}),`\n`,_jsx(_components.p,{children:`Let’s start by orienting ourselves inside the Knowledges product.`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open Knowledges`,children:_jsxs(_components.p,{children:[`From AI Studio, open the `,_jsx(_components.strong,{children:`Knowledges`}),` product (`,_jsx(_components.code,{children:`/apps/ai-knowledge`}),`).`]})}),_jsxs(Step,{title:`Explore the navigation`,children:[_jsx(_components.p,{children:`The left sidebar gives you four entries:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Dashboard`}),`: overview with high-level stats: number of Knowledge Bases, Documents, and Connectors.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Knowledge Bases`}),`: the list of every knowledge base in your workspace, with quick access to each one.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Connectors`}),`: third-party SaaS integrations (SharePoint, Google Drive, Notion, Confluence) that sync content into Knowledge Bases. Note: web crawling and direct file uploads are `,_jsx(_components.strong,{children:`not`}),` here; they live on each Knowledge Base’s detail page via `,_jsx(_components.strong,{children:`Add Web Source`}),` and `,_jsx(_components.strong,{children:`Add Documents`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Settings`}),`: workspace-level Knowledges settings.`]}),`\n`]})]}),_jsx(Step,{title:`Skim the dashboard`,children:_jsx(_components.p,{children:`The dashboard tiles are the fastest way to gauge volume: how many knowledge bases exist, how many documents are indexed across all of them, and how many third-party connectors are wired up.`})})]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/prismeai/lMXKFWJK_MIfLR0E/images/tutorials/knowledges-dashboard.png?fit=max\u0026auto=format\u0026n=lMXKFWJK_MIfLR0E\u0026q=85\u0026s=7d0bb83394af13edc7f699f424e08978`,alt:`Knowledges dashboard with Dashboard/Knowledge Bases/Connectors/Settings sidebar and stats tiles`,\"data-og-width\":`1440`,width:`1440`,\"data-og-height\":`900`,height:`900`,\"data-path\":`images/tutorials/knowledges-dashboard.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/prismeai/lMXKFWJK_MIfLR0E/images/tutorials/knowledges-dashboard.png?w=280\u0026fit=max\u0026auto=format\u0026n=lMXKFWJK_MIfLR0E\u0026q=85\u0026s=ce2390b5e219c2d801fcd3c3a2a0e3ce 280w, https://mintcdn.com/prismeai/lMXKFWJK_MIfLR0E/images/tutorials/knowledges-dashboard.png?w=560\u0026fit=max\u0026auto=format\u0026n=lMXKFWJK_MIfLR0E\u0026q=85\u0026s=186abb7e63fa0734f0f2904e31090c5f 560w, https://mintcdn.com/prismeai/lMXKFWJK_MIfLR0E/images/tutorials/knowledges-dashboard.png?w=840\u0026fit=max\u0026auto=format\u0026n=lMXKFWJK_MIfLR0E\u0026q=85\u0026s=7505b47f51e76788230b697213691e2a 840w, https://mintcdn.com/prismeai/lMXKFWJK_MIfLR0E/images/tutorials/knowledges-dashboard.png?w=1100\u0026fit=max\u0026auto=format\u0026n=lMXKFWJK_MIfLR0E\u0026q=85\u0026s=b7c3575e6ed041f778adc11b5b879cd3 1100w, https://mintcdn.com/prismeai/lMXKFWJK_MIfLR0E/images/tutorials/knowledges-dashboard.png?w=1650\u0026fit=max\u0026auto=format\u0026n=lMXKFWJK_MIfLR0E\u0026q=85\u0026s=36675ce1f83a035f9180c1935545764a 1650w, https://mintcdn.com/prismeai/lMXKFWJK_MIfLR0E/images/tutorials/knowledges-dashboard.png?w=2500\u0026fit=max\u0026auto=format\u0026n=lMXKFWJK_MIfLR0E\u0026q=85\u0026s=09d2945c0a53c7323451cedb4be75539 2500w`}),`\n`,_jsx(Heading,{level:`2`,id:`step-2-create-a-knowledge-base`,children:`Step 2: Create a Knowledge Base`}),`\n`,_jsx(_components.p,{children:`Now create the knowledge base that will hold your documents.`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open Knowledge Bases`,children:_jsxs(_components.p,{children:[`In the Knowledges sidebar, click `,_jsx(_components.strong,{children:`Knowledge Bases`}),`.`]})}),_jsx(Step,{title:`Start a new Knowledge Base`,children:_jsxs(_components.p,{children:[`Click the `,_jsx(_components.strong,{children:`+ Create`}),` button in the top-right (the Dashboard’s `,_jsx(_components.strong,{children:`+ New Knowledge Base`}),` tile opens the same dialog).`]})}),_jsx(Step,{title:`Name and configure it`,children:_jsx(_components.p,{children:`Give the Knowledge Base a clear name and description that reflect what it covers. Pick the embedding model you want to use for vectorization; the choice affects retrieval quality and cost.`})}),_jsx(Step,{title:`Open the Knowledge Base`,children:_jsx(_components.p,{children:`Once created, open it from the Knowledge Bases list to access its documents and settings.`})})]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/prismeai/lMXKFWJK_MIfLR0E/images/tutorials/knowledges-new-kb-dialog.png?fit=max\u0026auto=format\u0026n=lMXKFWJK_MIfLR0E\u0026q=85\u0026s=940daa0908d57deea336150e1294c012`,alt:`Knowledges Create Knowledge Base dialog with Name, Description, RAG Configuration (Fast/Balanced/Quality)`,\"data-og-width\":`1440`,width:`1440`,\"data-og-height\":`900`,height:`900`,\"data-path\":`images/tutorials/knowledges-new-kb-dialog.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/prismeai/lMXKFWJK_MIfLR0E/images/tutorials/knowledges-new-kb-dialog.png?w=280\u0026fit=max\u0026auto=format\u0026n=lMXKFWJK_MIfLR0E\u0026q=85\u0026s=5a62e9cd351c2eed6bacee42855cae19 280w, https://mintcdn.com/prismeai/lMXKFWJK_MIfLR0E/images/tutorials/knowledges-new-kb-dialog.png?w=560\u0026fit=max\u0026auto=format\u0026n=lMXKFWJK_MIfLR0E\u0026q=85\u0026s=82c7a1019c7e6c9d610ed8023737db4d 560w, https://mintcdn.com/prismeai/lMXKFWJK_MIfLR0E/images/tutorials/knowledges-new-kb-dialog.png?w=840\u0026fit=max\u0026auto=format\u0026n=lMXKFWJK_MIfLR0E\u0026q=85\u0026s=1ed6262527603fca4103673f12eaef79 840w, https://mintcdn.com/prismeai/lMXKFWJK_MIfLR0E/images/tutorials/knowledges-new-kb-dialog.png?w=1100\u0026fit=max\u0026auto=format\u0026n=lMXKFWJK_MIfLR0E\u0026q=85\u0026s=291dd808c9c2f4e290a2ca912b910309 1100w, https://mintcdn.com/prismeai/lMXKFWJK_MIfLR0E/images/tutorials/knowledges-new-kb-dialog.png?w=1650\u0026fit=max\u0026auto=format\u0026n=lMXKFWJK_MIfLR0E\u0026q=85\u0026s=a4d5578b83dec09e9cb41e7e299e01d9 1650w, https://mintcdn.com/prismeai/lMXKFWJK_MIfLR0E/images/tutorials/knowledges-new-kb-dialog.png?w=2500\u0026fit=max\u0026auto=format\u0026n=lMXKFWJK_MIfLR0E\u0026q=85\u0026s=a6c38885ba8c7099bcab47f5b4072e63 2500w`}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`Knowledges is model-agnostic for both embedding and generation, so you can swap models later without rebuilding the knowledge base from scratch.`})}),`\n`,_jsx(Heading,{level:`2`,id:`step-3-add-documents`,children:`Step 3: Add Documents`}),`\n`,_jsx(_components.p,{children:`With the Knowledge Base open, ingest your content.`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open the documents tab`,children:_jsx(_components.p,{children:`Inside the Knowledge Base, navigate to its documents tab.`})}),_jsx(Step,{title:`Add documents`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Add Documents`}),` and either upload files from your computer or paste URLs to web content. For full website ingestion, see the `,_jsx(_components.strong,{children:`Add Web Source`}),` flow on the Knowledge Base detail page.`]})}),_jsxs(Step,{title:`Configure document processing`,children:[_jsx(_components.p,{children:`Per Knowledge Base, you can adjust how content is chunked before embedding:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Text Splitter`}),`: static (fixed-size chunks) or dynamic (content-aware) segmentation`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Chunk Size`}),`: the size of each segment`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Overlap`}),`: how much content overlaps between adjacent chunks to preserve context`]}),`\n`]}),_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`/products/ai-knowledge/rag-settings`,children:`RAG settings`}),` for the full reference.`]})]}),_jsx(Step,{title:`Process documents`,children:_jsx(_components.p,{children:`Start the processing job. Knowledges will load and parse each document, extract and clean the text, segment it into chunks, generate vector embeddings, and capture metadata.`})})]}),`\n`,_jsx(Heading,{level:`2`,id:`step-4-create-an-agent-in-agent-creator-and-connect-the-knowledge-base`,children:`Step 4: Create an Agent in Agent Creator and Connect the Knowledge Base`}),`\n`,_jsx(_components.p,{children:`The knowledge base is ready. Now create the agent that will use it.`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open Agent Creator`,children:_jsxs(_components.p,{children:[`From AI Studio, switch to the `,_jsx(_components.strong,{children:`Agent Creator`}),` product (`,_jsx(_components.code,{children:`/apps/agent-factory`}),`).`]})}),_jsx(Step,{title:`Create a new agent`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`+ Create agent`}),` in the top-right. Give the agent a name and description.`]})}),_jsx(Step,{title:`Set instructions and model`,children:_jsx(_components.p,{children:`Write the agent’s system instructions (its role, tone, what it should and shouldn’t do) and pick the generation model.`})}),_jsx(Step,{title:`Attach the Knowledge Base`,children:_jsxs(_components.p,{children:[`In the agent’s `,_jsx(_components.strong,{children:`Capabilities`}),` section, connect the Knowledge Base you created in Step 2. From now on, the agent will retrieve relevant chunks from that Knowledge Base each time a user asks a question.`]})})]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/prismeai/lMXKFWJK_MIfLR0E/images/tutorials/agent-creator-create.png?fit=max\u0026auto=format\u0026n=lMXKFWJK_MIfLR0E\u0026q=85\u0026s=2c1201179c49e08a8e2322bdf70f9629`,alt:`Agent Creator Create Agent wizard with From Scratch / Import AGENTS.md options`,\"data-og-width\":`1440`,width:`1440`,\"data-og-height\":`900`,height:`900`,\"data-path\":`images/tutorials/agent-creator-create.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/prismeai/lMXKFWJK_MIfLR0E/images/tutorials/agent-creator-create.png?w=280\u0026fit=max\u0026auto=format\u0026n=lMXKFWJK_MIfLR0E\u0026q=85\u0026s=6824fcf9d3d70ff1a0cb700b15ea2733 280w, https://mintcdn.com/prismeai/lMXKFWJK_MIfLR0E/images/tutorials/agent-creator-create.png?w=560\u0026fit=max\u0026auto=format\u0026n=lMXKFWJK_MIfLR0E\u0026q=85\u0026s=6388c4ec11bb6892d9c86d1e461510b0 560w, https://mintcdn.com/prismeai/lMXKFWJK_MIfLR0E/images/tutorials/agent-creator-create.png?w=840\u0026fit=max\u0026auto=format\u0026n=lMXKFWJK_MIfLR0E\u0026q=85\u0026s=c8024de0a1acae1f2276303991bdee7b 840w, https://mintcdn.com/prismeai/lMXKFWJK_MIfLR0E/images/tutorials/agent-creator-create.png?w=1100\u0026fit=max\u0026auto=format\u0026n=lMXKFWJK_MIfLR0E\u0026q=85\u0026s=d57bbce43e66193ae986847163aed4ee 1100w, https://mintcdn.com/prismeai/lMXKFWJK_MIfLR0E/images/tutorials/agent-creator-create.png?w=1650\u0026fit=max\u0026auto=format\u0026n=lMXKFWJK_MIfLR0E\u0026q=85\u0026s=695c733da8c5e6e5edd70a6a8fff744f 1650w, https://mintcdn.com/prismeai/lMXKFWJK_MIfLR0E/images/tutorials/agent-creator-create.png?w=2500\u0026fit=max\u0026auto=format\u0026n=lMXKFWJK_MIfLR0E\u0026q=85\u0026s=16fae562d7f20ee62f2fa00a425729fd 2500w`}),`\n`,_jsx(_components.p,{children:_jsx(_components.em,{children:`The screenshot shows the agent creation wizard. Once your agent exists, attach a Knowledge Base from its capabilities/configuration view.`})}),`\n`,_jsx(Heading,{level:`2`,id:`step-5-chat-with-your-agent-in-the-playground`,children:`Step 5: Chat With Your Agent in the Playground`}),`\n`,_jsx(_components.p,{children:`Time to try it.`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open the Playground`,children:_jsxs(_components.p,{children:[`On the agent’s detail page, open the `,_jsx(_components.strong,{children:`Playground`}),` tab.`]})}),_jsx(Step,{title:`Ask questions`,children:_jsx(_components.p,{children:`Enter questions related to your documents and watch the agent respond.`})}),_jsx(Step,{title:`Inspect the retrieved sources`,children:_jsx(_components.p,{children:`Each response surfaces the document chunks that were pulled from the Knowledge Base to ground the answer. Use this to verify the agent’s reasoning and catch retrieval issues early.`})})]}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`Source transparency is a first-class feature: every answer in the Playground (and in production) shows which chunks were used, so you can audit grounding without leaving the agent’s page.`})}),`\n`,_jsx(Heading,{level:`2`,id:`step-6-evaluations-test-driven-building`,children:`Step 6: Evaluations (Test-Driven Building)`}),`\n`,_jsx(_components.p,{children:`Evaluations live alongside the agent in Agent Creator, which keeps quality checks tied to the thing being tested.`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open the Evaluate tab`,children:_jsxs(_components.p,{children:[`On the agent’s detail page, switch to the `,_jsx(_components.strong,{children:`Evaluate`}),` tab.`]})}),_jsx(Step,{title:`Create an eval suite`,children:_jsx(_components.p,{children:`Add a new evaluation suite for the agent.`})}),_jsx(Step,{title:`Define test cases`,children:_jsxs(_components.p,{children:[`Each test case pairs a `,_jsx(_components.strong,{children:`question`}),` a user might ask with the `,_jsx(_components.strong,{children:`expected answer`}),` the agent should produce.`]})}),_jsx(Step,{title:`Schedule runs`,children:_jsx(_components.p,{children:`Configure how often the suite runs (daily, weekly, on demand) and whether it should fire automatically after agent changes.`})}),_jsx(Step,{title:`Run the suite`,children:_jsx(_components.p,{children:`Execute the suite to evaluate the agent’s current behavior.`})}),_jsxs(Step,{title:`Review results`,children:[_jsx(_components.p,{children:`Each result includes:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Prompt and Context`}),`: the exact prompt and retrieved context used`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Generated Response`}),`: what the agent actually produced`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Response Evaluation`}),`: rating of response quality (poor, correct, good)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Context Evaluation`}),`: rating of retrieved-context relevance and accuracy`]}),`\n`]})]})]}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`Business experts can manually grade responses, context, and hallucinations. Re-run the suite after every meaningful change (instructions, model, retrieval parameters, chunking, or attached Knowledge Base) so regressions surface immediately.`})}),`\n`,_jsx(Heading,{level:`2`,id:`step-7-advanced-customization`,children:`Step 7: Advanced Customization`}),`\n`,_jsx(_components.p,{children:`Once the basics work, you can extend the system with custom logic that reacts to Knowledge Base activity. The pattern is the same in both cases: a Builder automation (or an external service) listens for platform events emitted by the Knowledge Base and runs your custom logic in response.`}),`\n`,_jsxs(Tabs,{children:[_jsx(Tab,{title:`Using Builder Product`,id:`using-builder-product`,children:_jsxs(Steps,{children:[_jsx(Step,{title:`Open Builder`,children:_jsxs(_components.p,{children:[`Open the `,_jsx(_components.strong,{children:`Builder`}),` product (`,_jsx(_components.code,{children:`/builder`}),`), Prisme.ai’s no-code workspace for automations.`]})}),_jsx(Step,{title:`Create an event-triggered automation`,children:_jsxs(_components.p,{children:[`Create an automation whose `,_jsx(_components.code,{children:`when`}),` block subscribes to the Knowledge Base events you care about, for example document add/update/delete or query events. See the `,_jsx(_components.a,{href:`/products/ai-builder/automations`,children:`Automations reference`}),` for the trigger syntax.`]})}),_jsx(Step,{title:`Implement custom logic`,children:_jsxs(_components.p,{children:[`In the automation’s `,_jsx(_components.code,{children:`do`}),` steps, run whatever processing you need: call out to a custom service, write to a Collection, post to Slack, or chain another agent. You can mix YAML instructions with Custom Code (Python or NodeJS) blocks.`]})})]})}),_jsx(Tab,{title:`Using External Code`,id:`using-external-code`,children:_jsxs(Steps,{children:[_jsx(Step,{title:`Build an external service`,children:_jsx(_components.p,{children:`Implement your custom processing as a service that exposes an HTTPS endpoint.`})}),_jsx(Step,{title:`Bridge events with a Builder automation`,children:_jsxs(_components.p,{children:[`Create an automation in Builder that subscribes to the Knowledge Base events you care about, then `,_jsx(_components.code,{children:`fetch`}),`es your external service inside the automation. This keeps event subscription centralized in Builder and uses your service for the heavy lifting.`]})}),_jsx(Step,{title:`Handle events`,children:_jsx(_components.p,{children:`On your service, branch on the event payload received from the automation and run the appropriate handler.`})})]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`step-8-handling-pii-and-safety-controls`,children:`Step 8: Handling PII and Safety Controls`}),`\n`,_jsx(_components.p,{children:`For sensitive content, route Knowledge Base events through your own safety layer.`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Implement PII controls`,children:_jsx(_components.p,{children:`Subscribe a Builder automation to Knowledge Base events (document ingest, query) and run PII detection inside that automation before sensitive content is stored or returned.`})}),_jsx(Step,{title:`Configure data anonymization`,children:_jsx(_components.p,{children:`Decide whether to anonymize personal data based on your use case and compliance requirements.`})}),_jsx(Step,{title:`Add custom safety controls`,children:_jsx(_components.p,{children:`Plug in organization-specific safety measures (content filters, allow/deny lists, audit logging) wherever they belong in the event flow.`})})]}),`\n`,_jsx(Heading,{level:`2`,id:`step-9-monitoring-and-maintenance`,children:`Step 9: Monitoring and Maintenance`}),`\n`,_jsx(_components.p,{children:`Keep the agent healthy with the right monitoring surface for each concern.`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Monitor agent conversations in Insights`,children:_jsxs(_components.p,{children:[`For cross-agent analytics on real user conversations (adoption, topics, feedback, clusters), use the `,_jsx(_components.strong,{children:`Insights`}),` product. See `,_jsx(_components.a,{href:`/products/ai-insights/overview`,children:`Insights overview`}),`.`]})}),_jsx(Step,{title:`Check per-agent usage in Agent Creator`,children:_jsxs(_components.p,{children:[`Open the `,_jsx(_components.strong,{children:`Analytics`}),` tab on the agent itself for usage metrics specific to that agent (volume, latency, token consumption, response quality).`]})}),_jsx(Step,{title:`Set up alerts`,children:_jsx(_components.p,{children:`Use a Builder automation subscribed to Knowledge Base events to push alerts into Slack, Teams, or Jira when something goes wrong.`})}),_jsx(Step,{title:`Maintain the Knowledge Base`,children:_jsx(_components.p,{children:`Refresh documents as content changes, retire stale sources, and keep connectors synced.`})}),_jsx(Step,{title:`Optimize`,children:_jsx(_components.p,{children:`Use evaluations and analytics to drive iterative tuning: instructions, model, chunking, retrieval parameters.`})})]}),`\n`,_jsx(Heading,{level:`2`,id:`best-practices-for-high-performance-rag`,children:`Best Practices for High-Performance RAG`}),`\n`,_jsx(_components.p,{children:`To maximize the effectiveness of your RAG agent, consider these recommendations:`}),`\n`,_jsxs(CardGroup,{cols:`2`,children:[_jsx(Card,{title:`Knowledge Architecture`,icon:`sitemap`,children:_jsx(_components.p,{children:`Design a well-organized structure for easy access and interpretation by AI systems`})}),_jsx(Card,{title:`Data Quality`,icon:`database`,children:_jsx(_components.p,{children:`Ensure data is accurate, well-formatted, and relevant; this accounts for ~80% of success`})}),_jsx(Card,{title:`Hybrid Technologies`,icon:`code-branch`,children:_jsx(_components.p,{children:`Consider combining NLU for tag extraction with LLMs for generation to improve efficiency`})}),_jsx(Card,{title:`Continuous Optimization`,icon:`arrow-trend-up`,children:_jsx(_components.p,{children:`Regularly monitor response times, accuracy, and retrieval effectiveness`})})]}),`\n`,_jsx(Heading,{level:`2`,id:`wrapping-up`,children:`Wrapping Up`}),`\n`,_jsxs(_components.p,{children:[`You’ve built a RAG agent without writing code: documents ingested into a Knowledge Base in `,_jsx(_components.strong,{children:`Knowledges`}),`, an agent configured in `,_jsx(_components.strong,{children:`Agent Creator`}),` that retrieves from that Knowledge Base, and a Playground plus Evaluations workflow for ongoing quality. The clean split between knowledge and agent makes it easy to evolve each side independently (swap models, refine instructions, or replace the Knowledge Base) without rebuilding the rest.`]}),`\n`,_jsx(Heading,{level:`2`,id:`next-steps`,children:`Next Steps`}),`\n`,_jsxs(CardGroup,{cols:`2`,children:[_jsx(Card,{title:`Document Classification`,icon:`file`,href:`/resources/tutorials/data-classification-agent`,children:_jsx(_components.p,{children:`Learn how to automatically classify and organize your documents with AI`})}),_jsx(Card,{title:`AI Contact Routing`,icon:`phone`,href:`/resources/tutorials/ai-contact-routing`,children:_jsx(_components.p,{children:`Create an intelligent contact form that routes inquiries to the right department`})}),_jsx(Card,{title:`Webhook Integration`,icon:`webhook`,href:`/resources/tutorials/webhook-builder`,children:_jsx(_components.p,{children:`Build advanced integrations between your RAG agent and other systems`})}),_jsx(Card,{title:`Website to RAG`,icon:`globe`,href:`/resources/tutorials/website-to-rag-agent`,children:_jsx(_components.p,{children:`Turn website content into a comprehensive knowledge base for your RAG agent`})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Building a No-Code RAG Agent","description":"Learn how to create a powerful retrieval-augmented generation agent without writing code using Knowledges","href":"/resources/tutorials/no-code-rag-agent"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"What You’ll Build","slug":"what-you’ll-build","depth":2,"children":[]},{"title":"Prerequisites","slug":"prerequisites","depth":2,"children":[]},{"title":"Step 1: Understanding the Knowledges Interface","slug":"step-1-understanding-the-knowledges-interface","depth":2,"children":[]},{"title":"Step 2: Create a Knowledge Base","slug":"step-2-create-a-knowledge-base","depth":2,"children":[]},{"title":"Step 3: Add Documents","slug":"step-3-add-documents","depth":2,"children":[]},{"title":"Step 4: Create an Agent in Agent Creator and Connect the Knowledge Base","slug":"step-4-create-an-agent-in-agent-creator-and-connect-the-knowledge-base","depth":2,"children":[]},{"title":"Step 5: Chat With Your Agent in the Playground","slug":"step-5-chat-with-your-agent-in-the-playground","depth":2,"children":[]},{"title":"Step 6: Evaluations (Test-Driven Building)","slug":"step-6-evaluations-test-driven-building","depth":2,"children":[]},{"title":"Step 7: Advanced Customization","slug":"step-7-advanced-customization","depth":2,"children":[]},{"title":"Step 8: Handling PII and Safety Controls","slug":"step-8-handling-pii-and-safety-controls","depth":2,"children":[]},{"title":"Step 9: Monitoring and Maintenance","slug":"step-9-monitoring-and-maintenance","depth":2,"children":[]},{"title":"Best Practices for High-Performance RAG","slug":"best-practices-for-high-performance-rag","depth":2,"children":[]},{"title":"Wrapping Up","slug":"wrapping-up","depth":2,"children":[]},{"title":"Next Steps","slug":"next-steps","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/prismeai/7f6a1ef93dff131f/tutorials/player.js"],"subdomain":"prismeai","siteName":"Prisme.ai","title":"Building a No-Code RAG Agent - Prisme.ai","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-15T07:56:24.211Z","originalFileLocation":"resources/tutorials/no-code-rag-agent.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Learn how to create a powerful retrieval-augmented generation agent without writing code using Knowledges\">\u003cmeta data-mint-head name=\"keywords\" content=\"sovereign agentic platform, plateforme agentique souveraine, AI Information System, enterprise AI platform, AI agents, agent governance, traceable AI, cloud agnostic, LLM agnostic, agentic workflows\">\u003cmeta data-mint-head name=\"application-name\" content=\"Prisme.ai\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003cmeta data-mint-head name=\"robots\" content=\"index, follow\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/prismeai/sbDkziZfjieAR-LF/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/prismeai/sbDkziZfjieAR-LF/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/prismeai/sbDkziZfjieAR-LF/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/prismeai/sbDkziZfjieAR-LF/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/prismeai/sbDkziZfjieAR-LF/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/prismeai/sbDkziZfjieAR-LF/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/prismeai/sbDkziZfjieAR-LF/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/prismeai/sbDkziZfjieAR-LF/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/prismeai/sbDkziZfjieAR-LF/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Building a No-Code RAG Agent - Prisme.ai\">\u003cmeta data-mint-head property=\"og:description\" content=\"Learn how to create a powerful retrieval-augmented generation agent without writing code using Knowledges\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Prisme.ai Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.prisme.ai/resources/tutorials/no-code-rag-agent\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://prismeai.mintlify.site/_mintlify/api/og/v2?division=Tutorials\u0026amp;title=Building+a+No-Code+RAG+Agent\u0026amp;description=Learn+how+to+create+a+powerful+retrieval-augmented+generation+agent+without+writing+code+using+Knowledges\u0026amp;theme=04f9745faa1f89452b755e15\u0026amp;signature=229c798f621b3c304beba727361c24ab89e7687ce67a641dc694402920af4194\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Building a No-Code RAG Agent - Prisme.ai\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Learn how to create a powerful retrieval-augmented generation agent without writing code using Knowledges\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://prismeai.mintlify.site/_mintlify/api/og/v2?division=Tutorials\u0026amp;title=Building+a+No-Code+RAG+Agent\u0026amp;description=Learn+how+to+create+a+powerful+retrieval-augmented+generation+agent+without+writing+code+using+Knowledges\u0026amp;theme=04f9745faa1f89452b755e15\u0026amp;signature=229c798f621b3c304beba727361c24ab89e7687ce67a641dc694402920af4194\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/prismeai/sbDkziZfjieAR-LF/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Prisme.ai\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#255BE0\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.prisme.ai/resources/tutorials/no-code-rag-agent\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/resources/tutorials/no-code-rag-agent.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.prisme.ai/#organization\",\"name\":\"Prisme.ai\",\"url\":\"https://docs.prisme.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/prismeai/_sSeZNUvs7sBNa3K/logo/light.svg?fit=max\u0026auto=format\u0026n=_sSeZNUvs7sBNa3K\u0026q=85\u0026s=4361458c99ac06f7a551020a022b802c\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.prisme.ai#website\",\"name\":\"Prisme.ai\",\"url\":\"https://docs.prisme.ai\",\"publisher\":{\"@id\":\"https://docs.prisme.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.prisme.ai/resources/tutorials/no-code-rag-agent#webpage\",\"url\":\"https://docs.prisme.ai/resources/tutorials/no-code-rag-agent\",\"name\":\"Building a No-Code RAG Agent\",\"description\":\"Learn how to create a powerful retrieval-augmented generation agent without writing code using Knowledges\",\"dateModified\":\"2026-10-15T07:56:24.211Z\",\"isPartOf\":{\"@id\":\"https://docs.prisme.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.prisme.ai/resources/tutorials/no-code-rag-agent#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.prisme.ai/resources/tutorials/no-code-rag-agent#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Tutorials\",\"item\":\"https://docs.prisme.ai/resources/tutorials/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Building a No-Code RAG Agent\",\"item\":\"https://docs.prisme.ai/resources/tutorials/no-code-rag-agent\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.prisme.ai/resources/tutorials/no-code-rag-agent#article\",\"headline\":\"Building a No-Code RAG Agent\",\"name\":\"Building a No-Code RAG Agent\",\"description\":\"Learn how to create a powerful retrieval-augmented generation agent without writing code using Knowledges\",\"url\":\"https://docs.prisme.ai/resources/tutorials/no-code-rag-agent\",\"mainEntityOfPage\":{\"@id\":\"https://docs.prisme.ai/resources/tutorials/no-code-rag-agent#webpage\"},\"dateModified\":\"2026-10-15T07:56:24.211Z\",\"publisher\":{\"@id\":\"https://docs.prisme.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.prisme.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Prisme.ai\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Prisme.ai\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/resources/tutorials/no-code-rag-agent.md","siteName":"Prisme.ai","nav":{"global":{"anchors":[{"anchor":"Blog","icon":"newspaper","href":"https://blog.prisme.ai"},{"anchor":"Legacy Documentation","icon":"clock-rotate-left","href":"https://prismeai-legacy.mintlify.app/"}]},"tabs":[{"tab":"Home","pages":[{"title":"Home","href":"/home"}]},{"tab":"Get Started","pages":[{"title":"Get Started","href":"/get-started/home"}]},{"tab":"Products","pages":[{"title":"Products","href":"/products/overview"}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/introduction"}]},{"tab":"App Store","pages":[{"title":"App Store","href":"/apps-store/overview"}]},{"tab":"Self-Hosting","pages":[{"title":"Self-Hosting","href":"/self-hosting/overview"}]},{"tab":"Resources","groups":[{"group":"Adoption \u0026 Governance","pages":[{"title":"Overview","href":"/resources/adoption-governance/overview"},{"title":"Opening strategies","href":"/resources/adoption-governance/opening-strategies"},{"title":"Who does what","href":"/resources/adoption-governance/operating-model"},{"title":"One organization or several?","href":"/resources/adoption-governance/org-vs-groups"},{"title":"From a use case to production","href":"/resources/adoption-governance/use-case-lifecycle"},{"title":"Deployment strategy","href":"/resources/adoption-governance/deployment"}]},{"group":"Use cases","pages":[{"title":"Overview","href":"/resources/use-cases/overview"},{"title":"Custom portals \u0026 apps","href":"/resources/use-cases/custom-portals"}]},{"group":"DSUL","pages":[{"title":"Overview","href":"/dsul/overview"}]},{"group":"Tutorials","pages":[{"title":"Overview","href":"/resources/tutorials/overview"},{"title":"Building a Data Classification Agent","href":"/resources/tutorials/data-classification-agent"},{"title":"Webhook Builder","href":"/resources/tutorials/webhook-builder"},{"title":"AI Contact Routing","description":"Build an intelligent contact form that automatically routes inquiries to the right department using Gen.AI","href":"/resources/tutorials/ai-contact-routing"},{"title":"Building a No-Code RAG Agent","href":"/resources/tutorials/no-code-rag-agent"},{"title":"Office 365 agent: read and produce Office files","description":"Build one agent that reads Word, Excel, text, PDF, PowerPoint and image files from SharePoint or OneDrive, edits Excel workbooks, and drafts documents and presentations in the canvas.","href":"/resources/tutorials/office-365-agent"},{"title":"Website to RAG Agent","href":"/resources/tutorials/website-to-rag-agent"},{"title":"Upload a file to a Knowledge Base","href":"/resources/tutorials/upload-file-to-knowledge-base"},{"title":"Manage agent conversations via API","href":"/resources/tutorials/manage-agent-conversations-via-api"},{"title":"Building Custom Apps with Builder","href":"/resources/tutorials/ai-builder-custom-apps"},{"title":"Create and Publish a Page App","href":"/resources/tutorials/create-and-publish-a-page"},{"title":"Building a Multi-Agent Orchestrator (A2A)","href":"/resources/tutorials/multi-agent-orchestration"}]},{"group":"Security \u0026 Compliance","pages":[{"title":"Data Privacy","href":"/resources/security/data-privacy"},{"title":"Prisme.ai Data-Retention Posture","href":"/resources/security/prisme-data-retention-posture"},{"title":"LLM Provider Data Retention \u0026 ZDR","href":"/resources/security/llm-provider-data-retention"},{"title":"Single Sign-On (SSO)","href":"/resources/security/sso"},{"title":"Compliance","href":"/resources/security/compliance"}]},{"group":"Support","pages":[{"title":"Frequently Asked Questions","href":"/resources/support/faq"},{"title":"Common Issues","href":"/resources/support/common-issues"},{"title":"Troubleshooting Guide","href":"/resources/support/troubleshooting"},{"title":"Contact Support","href":"/resources/support/contact"},{"title":"Training Programs","href":"/resources/support/training"}]}]}]},"basePath":"","title":"Building a No-Code RAG Agent - Prisme.ai","buildId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","deploymentId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-DTFzvaXJ.js","lightbox-handle-r17bVUz3.js"]}