{"id":7457,"date":"2026-08-19T19:10:05","date_gmt":"2026-08-19T19:10:05","guid":{"rendered":"https:\/\/www.wiven.ai\/wiven-llm\/docs\/presentation\/architecture\/"},"modified":"2026-08-19T20:25:43","modified_gmt":"2026-08-19T20:25:43","slug":"architecture","status":"publish","type":"wvn_doc","link":"https:\/\/www.wiven.ai\/en\/wiven-llm\/docs\/presentation\/architecture\/","title":{"rendered":"Architecture"},"content":{"rendered":"<h1>Architecture<\/h1>\n<p>WivenLLM consists of three cooperating services, and building blocks<br \/>\nInterchangeable units connected to the main service. This page describes<br \/>\nthe whole thing without going into the details of the code.<\/p>\n<hr \/>\n<h2>The three services<\/h2>\n<pre><code>\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u2502 Interface \u2502\u2500\u2500\u2500\u2500\u2500\u25b6\u2502 Server \u2502\u2500\u2500\u2500\u2500\u2500\u25b6\u2502 Extraction Service \u2502 \u2502 (browser \u2502\u25c0\u2500\u2500\u2500\u2500\u2500\u2502 API \u00b7 AI orchestration \u2502\u25c0\u2500\u2500\u2500\u2500\u2500\u2502 text files \u2502 \u2502 or app) \u2502 \u2502 database \u00b7 security \u2502 \u2502 and URLs \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2502 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u25bc \u25bc \u25bc \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u2502 Templates \u2502 \u2502 Embeddings \u2502 \u2502 Base \u2502 \u2502 LLM \u2502 \u2502 \u2502 \u2502 Vector \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n<\/code><\/pre>\n<h3>Interface<\/h3>\n<p>The application you use: workspaces, conversations, documents,<br \/>\nadministration screens. It runs in a browser, or in the application<br \/>\nfrom the office that takes her away. She only speaks to the server.<\/p>\n<h3>Server<\/h3>\n<p>The heart of the product. It contains:<\/p>\n<ul>\n<li>L&#039;\u2019<strong>API<\/strong> consumed by the interface, the web widget, the mobile application,<br \/>\n  browser extension and third-party integrations; ;<\/li>\n<li>L&#039;\u2019<strong>authentication<\/strong> and the roles; ;<\/li>\n<li>L&#039;\u2019<strong>AI orchestration<\/strong> : supplier selection, vector search,<br \/>\n  context construction, agent execution; ;<\/li>\n<li>there <strong>database<\/strong> (spaces, conversations, users, settings); ;<\/li>\n<li>THE <strong>background treatments<\/strong> : indexing, memory extraction,<br \/>\n  Second Brain consolidation, planned tasks.<\/li>\n<\/ul>\n<h3>Extraction service<\/h3>\n<p>A service dedicated to one thing only: converting a file or URL into text<br \/>\nusable. PDF, Word, spreadsheets, presentations, emails, ebooks,<br \/>\nimages (character recognition), audio and video (transcription), web pages,<br \/>\ncode repositories, enterprise wikis.<\/p>\n<p>Separating it from the server has a practical advantage: a large document or a poorly formatted PDF<br \/>\ntrained cannot slow down or disrupt your conversations.<\/p>\n<hr \/>\n<h2>Interchangeable bricks<\/h2>\n<p>Three families of components are chosen by the administrator and can be replaced<br \/>\nwithout touching the rest:<\/p>\n<table>\n<thead>\n<tr>\n<th>Brick<\/th>\n<th>Role<\/th>\n<th>By default<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Language Model (LLM)<\/strong><\/td>\n<td>Write the answers, manage the agents<\/td>\n<td>To be chosen during onboarding \u2014 local model possible<\/td>\n<\/tr>\n<tr>\n<td><strong>Embeddings engine<\/strong><\/td>\n<td>Translates the text into comparable vectors<\/td>\n<td>Integrated engine, running locally<\/td>\n<\/tr>\n<tr>\n<td><strong>Vector base<\/strong><\/td>\n<td>Stores vectors and retrieves nearby passages<\/td>\n<td>Integrated local database, stored on disk<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Two additional optional families are included: the <strong>image generation and<br \/>\nvideos<\/strong>, and the <strong>Speech synthesis\/recognition<\/strong>.<\/p>\n<p>\u2192 <a href=\"\/en\/wiven-llm\/docs\/reference\/fournisseurs\/\">Supported providers<\/a><\/p>\n<hr \/>\n<h2>The journey of a document<\/h2>\n<ol>\n<li><strong>Deposit.<\/strong> You drag a file into a workspace, or you<br \/>\n   Please provide a URL.<\/li>\n<li><strong>Extraction.<\/strong> The extraction service identifies the format, extracts the text, and the<br \/>\n   metadata (title, source, date, author when they exist).<\/li>\n<li><strong>Available.<\/strong> The extracted text is saved as a document<br \/>\n   Available. It is not yet queryable.<\/li>\n<li><strong>Cutting.<\/strong> When added to a space, the text is broken into fragments.<br \/>\n   Configurable size, with overlap between fragments to prevent breakage<br \/>\n   the sentences on horseback.<\/li>\n<li><strong>Vectorization.<\/strong> Each fragment is transformed into a vector by the engine.<br \/>\n   embeddings.<\/li>\n<li><strong>Indexing.<\/strong> Vectors are written in the vector basis, in a<br \/>\n   namespace specific to the workspace.<\/li>\n<\/ol>\n<p>The document can then be searched. The same document can be added to<br \/>\nmultiple workspaces: it is only extracted once, but indexed in<br \/>\neach.<\/p>\n<hr \/>\n<h2>The path of a question<\/h2>\n<ol>\n<li><strong>Sending.<\/strong> You write a question in a conversation.<\/li>\n<li><strong>Orders.<\/strong> If the message begins with a command (<code>\/reset<\/code>, <code>\/picture<\/code>,<br \/>\n   <code>\/video<\/code>, <code>\/note<\/code>, (or a command you have defined), it is processed<br \/>\n   above all else.<\/li>\n<li><strong>Agent mode.<\/strong> If the message begins with <code>@agent<\/code>, the hand passes to the agent<br \/>\n   and the sequence becomes that of <a href=\"\/en\/wiven-llm\/docs\/agents\/\">agents<\/a>.<\/li>\n<li><strong>Research.<\/strong> Your question is vectorized, then compared to the fragments of<br \/>\n   The space. The closest are selected, up to the limit of the number of results.<br \/>\n   and the configured similarity threshold.<\/li>\n<li><strong>Context construction.<\/strong> The server assembles: the system prompt of<br \/>\n   space, pinned documents, recovered fragments, your memories and<br \/>\n   Relevant elements from Second Brain, then the latest messages from the<br \/>\n   conversation.<\/li>\n<li><strong>Generation.<\/strong> The entire set of data is sent to the model, which responds in a continuous stream \u2014<br \/>\n   The text appears as it is being generated.<\/li>\n<li><strong>Restitution.<\/strong> The response is recorded in the history along with its<br \/>\n   Sources, displayed below the message.<\/li>\n<\/ol>\n<hr \/>\n<h2>Where is the data stored?<\/h2>\n<p>Everything produced by an installation lives in a <strong>storage directory<br \/>\nunique<\/strong> :<\/p>\n<ul>\n<li>the application&#039;s database; ;<\/li>\n<li>the extracted documents; ;<\/li>\n<li>vector indices, when the vector basis is local; ;<\/li>\n<li>downloaded models, when you run models locally; ;<\/li>\n<li>the files produced by the agents.<\/li>\n<\/ul>\n<p>Backing up an installation therefore means backing up this directory and the<br \/>\nconfiguration file. Moving it to another machine moves the instance<br \/>\nentire.<\/p>\n<p>\u2192 <a href=\"\/en\/wiven-llm\/docs\/administration\/securite\/\">Security and confidentiality<\/a><\/p>\n<hr \/>\n<h2>What comes out of the network, and when<\/h2>\n<table>\n<thead>\n<tr>\n<th>Situation<\/th>\n<th>Network output<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Local model, native embeddings, local vector database<\/td>\n<td>None<\/td>\n<\/tr>\n<tr>\n<td>External model provider<\/td>\n<td>The messages and context are sent to this provider.<\/td>\n<\/tr>\n<tr>\n<td>Hosted vector database<\/td>\n<td>The vectors and metadata are sent to this hosting provider.<\/td>\n<\/tr>\n<tr>\n<td>Web research agent skills\u00ab<\/td>\n<td>The query is sent to the chosen search engine.<\/td>\n<\/tr>\n<tr>\n<td>Importing a URL or a repository<\/td>\n<td>Request to the requested address<\/td>\n<\/tr>\n<tr>\n<td>Downloading a local template<\/td>\n<td>Once, during the download<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>The screen <code>Settings \u2192 Privacy<\/code> reflects this state for your instance.<\/p>\n<hr \/>\n<h2>Governance, compliance and business integration<\/h2>\n<p>The services described above define where the processing takes place. Three layers<br \/>\nThese factors are added to the mix, and they are what make the difference in operation.<\/p>\n<h3>Governance roles<\/h3>\n<p>Three role levels: administrator, unit manager, user.<br \/>\nAuthentication is done through the existing company directory, using single sign-on.<br \/>\nEach role opens up a distinct perimeter of workspaces, documents, and settings.<\/p>\n<h3>nLPD Processing Register<\/h3>\n<p>The processing log is exportable, and the event log is nominative and<br \/>\ntime-stamped. The solutions are designed for the nLPD; the compliance of a processing operation depends on<br \/>\nalso the purposes and the client&#039;s records, and Wiven provides support on this point rather than<br \/>\nto guarantee it in its place.<\/p>\n<h3>Agent&#039;s perimeter<\/h3>\n<p>An agent only works within the area assigned to them: the workspaces,<br \/>\nthe documents and skills explicitly assigned to him. The client decides to<br \/>\nThis includes everything that leaves this perimeter, and each exit is logged. The table above indicates,<br \/>\nsituation by situation, what this entails at the network level.<\/p>\n<h3>Business connectors<\/h3>\n<p>The integration is done with the existing tools, without replacing them: Abacus, bexio,<br \/>\nSAP Business One, Odoo, WINBIZ, Teams, M-Files.<\/p>\n<p>\u2192 <a href=\"\/en\/securite-wivenllm\/\">WivenLLM security<\/a> \u00b7 <a href=\"\/en\/integrations\/\">Integrations<\/a><\/p>","protected":false},"parent":7454,"menu_order":103,"template":"","meta":[],"class_list":["post-7457","wvn_doc","type-wvn_doc","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Architecture \u2014 Documentation WivenLLM<\/title>\n<meta name=\"description\" content=\"Les trois services de WivenLLM, les briques interchangeables, et le trajet exact d&#039;un document puis d&#039;une question.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.wiven.ai\/en\/wiven-llm\/docs\/presentation\/architecture\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Architecture \u2014 Documentation WivenLLM\" \/>\n<meta property=\"og:description\" content=\"Les trois services de WivenLLM, les briques interchangeables, et le trajet exact d&#039;un document puis d&#039;une question.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.wiven.ai\/en\/wiven-llm\/docs\/presentation\/architecture\/\" \/>\n<meta property=\"og:site_name\" content=\"Wiven AI\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-19T20:25:43+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.wiven.ai\\\/wiven-llm\\\/docs\\\/presentation\\\/architecture\\\/\",\"url\":\"https:\\\/\\\/www.wiven.ai\\\/wiven-llm\\\/docs\\\/presentation\\\/architecture\\\/\",\"name\":\"Architecture \u2014 Documentation WivenLLM\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.wiven.ai\\\/#website\"},\"datePublished\":\"2026-08-19T19:10:05+00:00\",\"dateModified\":\"2026-08-19T20:25:43+00:00\",\"description\":\"Les trois services de WivenLLM, les briques interchangeables, et le trajet exact d'un document puis d'une question.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.wiven.ai\\\/wiven-llm\\\/docs\\\/presentation\\\/architecture\\\/#breadcrumb\"},\"inLanguage\":\"en\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.wiven.ai\\\/wiven-llm\\\/docs\\\/presentation\\\/architecture\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.wiven.ai\\\/wiven-llm\\\/docs\\\/presentation\\\/architecture\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.wiven.ai\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Documentation\",\"item\":\"https:\\\/\\\/www.wiven.ai\\\/wiven-llm\\\/docs\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Qu&rsquo;est-ce que WivenLLM\",\"item\":\"https:\\\/\\\/www.wiven.ai\\\/wiven-llm\\\/docs\\\/presentation\\\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Architecture\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.wiven.ai\\\/#website\",\"url\":\"https:\\\/\\\/www.wiven.ai\\\/\",\"name\":\"Wiven AI\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.wiven.ai\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Architecture \u2014 WivenLLM Documentation","description":"The three services of WivenLLM, the interchangeable building blocks, and the exact path of a document then a question.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.wiven.ai\/en\/wiven-llm\/docs\/presentation\/architecture\/","og_locale":"en_US","og_type":"article","og_title":"Architecture \u2014 Documentation WivenLLM","og_description":"Les trois services de WivenLLM, les briques interchangeables, et le trajet exact d'un document puis d'une question.","og_url":"https:\/\/www.wiven.ai\/en\/wiven-llm\/docs\/presentation\/architecture\/","og_site_name":"Wiven AI","article_modified_time":"2026-08-19T20:25:43+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.wiven.ai\/wiven-llm\/docs\/presentation\/architecture\/","url":"https:\/\/www.wiven.ai\/wiven-llm\/docs\/presentation\/architecture\/","name":"Architecture \u2014 WivenLLM Documentation","isPartOf":{"@id":"https:\/\/www.wiven.ai\/#website"},"datePublished":"2026-08-19T19:10:05+00:00","dateModified":"2026-08-19T20:25:43+00:00","description":"The three services of WivenLLM, the interchangeable building blocks, and the exact path of a document then a question.","breadcrumb":{"@id":"https:\/\/www.wiven.ai\/wiven-llm\/docs\/presentation\/architecture\/#breadcrumb"},"inLanguage":"en","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.wiven.ai\/wiven-llm\/docs\/presentation\/architecture\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.wiven.ai\/wiven-llm\/docs\/presentation\/architecture\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.wiven.ai\/"},{"@type":"ListItem","position":2,"name":"Documentation","item":"https:\/\/www.wiven.ai\/wiven-llm\/docs\/"},{"@type":"ListItem","position":3,"name":"Qu&rsquo;est-ce que WivenLLM","item":"https:\/\/www.wiven.ai\/wiven-llm\/docs\/presentation\/"},{"@type":"ListItem","position":4,"name":"Architecture"}]},{"@type":"WebSite","@id":"https:\/\/www.wiven.ai\/#website","url":"https:\/\/www.wiven.ai\/","name":"Wiven AI","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.wiven.ai\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en"}]}},"_links":{"self":[{"href":"https:\/\/www.wiven.ai\/en\/wp-json\/wp\/v2\/wvn_doc\/7457","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.wiven.ai\/en\/wp-json\/wp\/v2\/wvn_doc"}],"about":[{"href":"https:\/\/www.wiven.ai\/en\/wp-json\/wp\/v2\/types\/wvn_doc"}],"up":[{"embeddable":true,"href":"https:\/\/www.wiven.ai\/en\/wp-json\/wp\/v2\/wvn_doc\/7454"}],"wp:attachment":[{"href":"https:\/\/www.wiven.ai\/en\/wp-json\/wp\/v2\/media?parent=7457"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}