Skip to main content
Knowledges Configuration

Configuring Knowledges

Knowledges is Prisme.ai’s product for agentic assistants powered by tools and retrieval-augmented generation (RAG). It enables teams to build agents that leverage internal knowledge across various formats, interact with APIs via tools, and collaborate with other agents through context sharing — enabling true multi-agent workflows with robust LLM support and enterprise-grade configuration options. This guide explains how to configure Knowledges in a self-hosted environment.

Core Capabilities

  • Configure multi-model support with failover and fine-tuned prompts
  • Automate agent provisioning via Builder
  • Enforce limits, security, and monitoring
  • Enable builtin tools like summarization, search, code interpreter, web browsing
  • Integrate with OpenSearch, Redis, or other vector stores

LLM Providers

Configure the llm.openai.openai.models field :
Configure the llm.openai.azure.resources.*.deployments field.
Multiple resources can be added by appending additional entries to the llm.openai.azure.resources array :
Configure the llm.bedrock.*.models and llm.bedrock.*.region fields.
Multiple regions can be used by appending additional entries to the llm.bedrock array :
Configure the llm.openai.vertex field :
While deploying a model through Vertex the name of the model should represent the full endpoint name as in the above example.The modelAliases feature comes really handy for this provider! In order to provide better readability to your users the above can be transformed into:
Note that the service_account credentials should be ommitted if you deployed your platform on GCP and rely on IAM authentication. Also, the service_account value should either be :
  • JSON
  • Stringified JSON (handy if you save it within a secret)
To configure third-party models on Vertex (for example, Claude), please specify the format tag.
Configure the llm.openailike field :
Optional Parameters:
  • provider: The provider name used in analytics metrics and dashboards.
  • options.excludeParameters: Allows exclusion of certain OpenAI generic parameters not supported by the given model.
  • options.headers: Custom HTTP headers sent with every request to this provider. Values can be static strings or use {correlationId} / {userId} as the full value to inject runtime context.
Gemini integration :

Global Configuration

Set base models for completions, embeddings, and query enhancement.
Configure the following fields at the root of the configuration :
Rate limits can currently be applied at two stages in messages processing :
  1. When a message is received (requestsPerMinute limits for projects or users).
  2. After RAG stages and before the LLM call (tokensPerMinute limits for projects, users, models, or requestsPerMinute limits for models).
Embedding model rate limits are applied before vectorizing a document, per project or model.This is how to configure token and request limits globally or per user/project:
  • limits.llm.users: Defines per-user message/token limits across all projects.
  • limits.llm.projects: Defines default message/token limits per project. These limits can be overridden per project via the /admin page in Knowledges.
  • limits.files_count: Specifies the maximum number of documents allowed in Knowledges projects. This number can also be overridden per project via the /admin page.
See Models specifications for rate limits per model.
If you have multiple LLM Providers or regions with the same model names (for example gpt-4), you can use custom names:
And you can map them to the name expected by the provider with the following:
As a reminder, here is how modelsSpecifications could look like :
If you have your own SSO configured, you need to explicitly allow SSO authenticated users to access Knowledges pages :
  1. Open Knowledges workspace
  2. Open Settings > Advanced
  3. Manage roles
  4. Add your SSO provider technical name after prismeai: {} at the very beginning :
By default, sharing an agent with an external email will automatically send an invitation mail to let the external user create an account and access the agent.You can disable this to enforce user control :
Only existing users will be able to access shared agents.
Knowledges supports onboarding flows, multilingual statuses, and customizable notifications:

Models Configuration

Configure all available models with descriptions, rate limits, and failover:
  • All LLM models (excluding those with type: embeddings) will automatically appear in the Agent Creator menu unless disabled at the agent level, with the configured titles and descriptions.
  • displayName specifies the user-facing name of the model, replacing the technical or original model name to ensure a more intuitive and user-friendly experience.
  • isHiddenFromEndUser specifies that a model in the configuration will be hidden from end users. This feature allows administrators to temporarily disable a model or conceal it from the end-user interface without permanently removing it from the configuration.
  • maxContext specifies the maximum token size of the context that can be passed to the model, applicable to both LLMs (full prompt size) and embedding models (maximum chunk size for vectorization).
  • maxResponseTokens defines the maximum completion size requested from the LLM, which can be overridden in individual agent settings.
  • additionalRequestBody.completions and additionalRequestBody.embeddings specify custom parameters which will be sent within all HTTP request bodies for the given model, used to enable AWS Guardrails in above example
By default, documents paragraphs are vectorized in batches of 96.
You can customize this batchSize per model :
Or globally :
When modelsSpecifications.*.rateLimits.requestsPerMinute or modelsSpecifications.*.rateLimits.tokensPerMinute are defined, an error (customizable via toasts.i18n.*.rateLimit) is returned to any user attempting to exceed the configured limits. These limits are shared across all projects/users using the models.If these limits are reached and modelsSpecifications.*.failoverModel is specified, projects with failover.enabled activated (disabled by default) will automatically switch to the failover model.Notes:
  • tokensPerMinute limits apply to the entire prompt sent to the LLM, including the user question, system prompt, project prompt, and RAG context.
  • Failover and tokensPerMinute limits also apply to intermediate queries during response construction (e.g., question suggestions, self-query, enhanced query, source filtering).
Environmental metric can be calculated when using models by setting the region where the model is hosted :
energy consumed per token (in kWh) and PUE (Power Usage Effectiveness) profile :
The display section defines the model’s brand, name, icon, eco-score, and cost information:
The capabilities section lists which modalities the model supports:
Notes:
  • Models from OpenAI, Gemini, and Bedrock currently support the file capability.
  • Azure OpenAI does not yet provide this feature, although a community feature request is in progress.
  • When file.enabled is set to true and the file size is within supported limits, the file is sent directly in Base64 to the LLM.
  • Upcoming releases will introduce support for passing a file ID instead of raw Base64 data, using the storageProvider parameter (prisme, gcs, or s3). This will enable seamless handling of larger documents by referencing files stored in connected cloud storage rather than embedding their content directly.
  • the file.maxSize parameter is in Octet.
Some Bedrock models support static prompt caching.
You can enable this with promptCache.system option :

Vector Store Configuration

To enable retrieval-based answers, configure a vector store:
Or with OpenSearch:
Or with ElasticSearch:

Tools and Capabilities

Knowledges enables advanced agents via tools.

file_search

RAG tool for semantic search within indexed documents.

file_summary

Summarize entire files when explicitly requested.

documents_rag

Used to extract context from project knowledge collections.

web_search

Optional tool enabled via Serper API key:

code_interpreter

Python tool for data manipulation and document-based computation.

image_generation

Uses DALL-E or equivalant if enabled in LLM config.

Advanced Features

Knowledges projects and agents can be provisioned programmatically via Builder workflows.
Specify a backup model to switch to if the main one is overloaded:
Make sure to enable failover in your workspace.
Assign costs per million tokens to track model usage:
This can be used with usage-based dashboards in Insights.

Operations - ES/OS

Knowledges creates between 1 and 2 indices per agent (so 2 - 4 shards with default redundacy settings).

1. Crawler Storage

The crawler stores the full text content of crawled documents. This includes the raw extracted text from web pages, PDFs, and other document types that have been processed.

2. Vector Store

The vector store (when using ES/OS as your vector database) stores the embeddings for each paragraph/chunk extracted from documents. These vectors enable semantic search and RAG retrieval.

Index Structure

These two types of data are stored in separate indexes:
  • vectorIndexPrefix is the prefix configured in Knowledges configuration at vectorStore.vectorIndexPrefix key
  • AIK_ID is the Knowledges workspace id
  • crawlerPrefix is the ELASTIC_INDICES_PREFIX environment variable configured in prismeai-searchengine and prismeai-crawler services

Cleanup

Indexes are created automatically when the first document is added to an Knowledges project. As documents are deleted over time, these indexes may eventually contain zero documents—this can happen for both the crawler index and the vector store index. Important: Empty indexes still consume shards. To free up resources, it is recommended to delete empty indexes either:
  • Manually via Kibana / OpenSearch Dashboards
  • Through an automated cleanup task
This helps maintain optimal cluster performance and avoid hitting shard limits.

Next Steps

Chat

Create a ChatGPT-like agent within your organization — but secure, customizable, and connected to your tools and knowledge.

Monitoring & Logs

Monitor usage and LLM activity

Create an agent

Learn more about agent creation