From 9bad12968fa5fcfea41fcdcd18f7ef7494550d91 Mon Sep 17 00:00:00 2001 From: Evan Lohn Date: Tue, 28 Jan 2025 12:30:44 -0800 Subject: [PATCH] removed unused files --- Untitled-12 | 1 - backend/chat_packets.log | 370 --------------------------------------- 2 files changed, 371 deletions(-) delete mode 100644 Untitled-12 delete mode 100644 backend/chat_packets.log diff --git a/Untitled-12 b/Untitled-12 deleted file mode 100644 index 0519ecba6..000000000 --- a/Untitled-12 +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/backend/chat_packets.log b/backend/chat_packets.log deleted file mode 100644 index 5b04d89a7..000000000 --- a/backend/chat_packets.log +++ /dev/null @@ -1,370 +0,0 @@ -"{\"user_message_id\": 416, \"reserved_assistant_message_id\": 417}\n" -"{\"tool_name\": \"run_search\", \"tool_args\": {\"query\": \"what is onyx\"}}\n" -"{\"top_documents\": [{\"document_id\": \"https://docs.onyx.app/introduction\", \"chunk_ind\": 0, \"semantic_identifier\": \"Introduction - Onyx Documentation\", \"link\": \"https://docs.onyx.app/introduction\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into any LLM of your choice. Onyx can be deployed anywhere and for any scale - on a laptop, on-premise, or to cloud. Since you own the deployment, your user data and chats are fully in your own control. Onyx is MIT licensed and designed to be modular and easily extensible.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.9024941496066027, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29659}, {\"document_id\": \"https://www.onyx.app/\", \"chunk_ind\": 0, \"semantic_identifier\": \"Onyx\", \"link\": \"https://www.onyx.app/\", \"blurb\": \"Help your \\u00b0\\nEng\\nSupport\\nSales\\nProduct\\nOps team\\nfind information faster\\nThe open source AI connected to your company's docs, apps, and people Book a demo\\nYour browser does not support the video tag.\\nAI Workplace Search\\nFind answers across all your teams' applications\\nYour browser does not support the video tag.\\nAI Assistant\\nCreate AI Assistants powered by your org's unique knowledge, available right where you work\\nYour browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.8072171933213044, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \" browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\\nOnyx connects to all your apps\\nWorks out of the box, syncs in real time, with document level access.\\n40+ integrations available, with more being built every day.\\nBuilt for\\nEnterprise\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29660}, {\"document_id\": \"https://docs.onyx.app/system_overview\", \"chunk_ind\": 0, \"semantic_identifier\": \"System Overview - Onyx Documentation\", \"link\": \"https://docs.onyx.app/system_overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking to customize the system or become an open source contributors, this is a great place to start.\\n\\nSystem Architecture\\nWhether deploying Onyx on a single instance or a container orchestration platform, the flow of data is the same.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7924310953280626, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29661}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/ai_platform\", \"chunk_ind\": 0, \"semantic_identifier\": \"AI Platform - Onyx Documentation\", \"link\": \"https://docs.onyx.app/more/use_cases/ai_platform\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user chat sessions, attaching custom tools, handling LLM reasoning, code execution, data analysis, referencing internal knowledge, and much more.\\nOnyx as a platform is not a no-code agent builder.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7653010776974102, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29662}, {\"document_id\": \"https://docs.onyx.app/tools/overview\", \"chunk_ind\": 0, \"semantic_identifier\": \"Tools Overview - Onyx Documentation\", \"link\": \"https://docs.onyx.app/tools/overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform actions (e.g. write to a database, send an email, etc.)\\n- Generate content (e.g. generate an Image, create a plot, etc.)\\nBy default, we have a three tools built-in to Onyx.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.758139797757738, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29663}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/overview\", \"chunk_ind\": 0, \"semantic_identifier\": \"Use Cases Overview - Onyx Documentation\", \"link\": \"https://docs.onyx.app/more/use_cases/overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI more versatile for work by enabling new types of questions like What is the most common feature request weve heard from customers this month. Whereas other AI systems have no context of your team and are generally unhelpful with work related questions, Onyx makes it possible to ask these questions in natural language and get back answers in seconds.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7522153117466748, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29664}, {\"document_id\": \"https://docs.onyx.app/backend_apis/ingestion\", \"chunk_ind\": 0, \"semantic_identifier\": \"Ingestion API - Onyx Documentation\", \"link\": \"https://docs.onyx.app/backend_apis/ingestion\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nBackend APIs\\nIngestion API\\nBackend APIs\\nIngestion API\\nIngest Arbitrary Documents\\n\\nTypical uses for the Ingestion API\\nA set of backend APIs are provided to take in and process arbitrary document data sent directly to the backend API server. This is generally used for:\\n- Creating arbitrary documents that may not exist in any actual sources but contain useful information.\\n- Programmatically passing in documents to Onyx. This is sometimes simpler than creating a connector.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7502034621757927, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nBackend APIs\\nIngestion API\\nBackend APIs\\nIngestion API\\nIngest Arbitrary Documents\", \"API server. This is generally used for:\\n- Creating arbitrary documents that may not exist in any actual sources but contain useful information.\\n- Programmatically passing in documents to Onyx. This is sometimes simpler than creating a connector.\\n...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29665}, {\"document_id\": \"https://docs.onyx.app/quickstart\", \"chunk_ind\": 0, \"semantic_identifier\": \"Quickstart - Onyx Documentation\", \"link\": \"https://docs.onyx.app/quickstart\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nQuickstart\\nWelcome to Onyx\\nQuickstart\\nHow to deploy Onyx on your local machine\\n\\nRequirements\\n- git\\n- Docker with compose (docker version >= 1.13.0)\\n- System requirements found here\\n\\nSetup\\nThe most common source of issues is under-resourcing. Before beginning, check the system requirements here .\\n- Clone the Onyx repo:\\ngit clone https://github.com/onyx-dot-app/onyx.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7393553026196382, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nQuickstart\\nWelcome to Onyx\\nQuickstart\\nHow to deploy Onyx on your local machine\\n\\nRequirements\\n- git\\n- Docker with compose (docker version >= 1.13.0)\\n- System requirements found here\\n\\nSetup\\nThe most common source of issues is under-resourcing\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29666}, {\"document_id\": \"https://docs.onyx.app/configuration_guide\", \"chunk_ind\": 0, \"semantic_identifier\": \"Configuring Onyx - Onyx Documentation\", \"link\": \"https://docs.onyx.app/configuration_guide\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nConfiguring Onyx\\nWelcome to Onyx\\nConfiguring Onyx\\nHow to customize your deployment environment.\\n\\nCommon Environment Variables\\nAll of the global configuration options that are not built into the UI are set via environment variables. This page contains an exhaustive list of all the options.\\nThere are defaults set in the code so changing/settings these values is not required to use Onyx.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7282780971737022, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nConfiguring Onyx\\nWelcome to Onyx\\nConfiguring Onyx\\nHow to customize\", \"variables. This page contains an exhaustive list of all the options.\\nThere are defaults set in the code so changing/settings these values is not required to use Onyx. A few notable settings that are more...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29667}, {\"document_id\": \"https://docs.onyx.app/connectors/egnyte\", \"chunk_ind\": 0, \"semantic_identifier\": \"Egnyte Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/egnyte\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nEgnyte Connector\\nConnectors\\nEgnyte Connector\\nAccess files stored in Egnyte\\n\\nHow it works\\nThe Egnyte connector pulls in files stored in Egnyte. The Egnyte connector indexes the file name, file type, and contents of the file.\\nNew files are pulled every 10 minutes.\\n\\nSetup\\n\\nConfigure your Egnyte Application + Onyx env variables\\nThis is only necessary if self-hosting Onyx. If using Onyx Cloud , you can skip this step.\\n- Create an Egnyte Application.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7215166761549535, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nEgnyte Connector\\nConnectors\\nEgnyte Connector\\nAccess files stored in \", \"connector indexes the file name, file type, and contents of the file.\\nNew files are pulled every 10 minutes.\\n\\nSetup\\n\\nConfigure your Egnyte Application + Onyx env variables\\nThis is only necessary if self-hosting Onyx. If using OnyxOnyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nNotion Connector\\nConnectors\\nNotion Connector\\nAccess knowledge from your Notion workspace\", \"since the last indexing attempt. Indexing is configured to run every 10 minutes , so page updates should appear within 10 minutes.\\n\\nSetting up\\n\\nAuthorization\\nIn order to authorize Onyx to connect to your Notion workspace, youll...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29669}, {\"document_id\": \"https://docs.onyx.app/connectors/overview\", \"chunk_ind\": 0, \"semantic_identifier\": \"Connector Overview - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nConnector Overview\\nConnectors\\nConnector Overview\\nBasic Information about Connectors\\n\\nWhat are Connectors\\nConnectors hook up Onyx to your data sources so that answers are grounded in your organizations knowledge.\\n\\nConnectors help you\\n- Choose Sources so you can include only the data you want indexed.\\n- Configure Access so Onyx can securely access data with your permission.\\n- Set Up Fetching options to keep Onyxs answers up to date.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7201961746907908, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nConnector Overview\\nConnectors\\nConnector Overview\\nBasic Information about Connectors\\n\\nWhat are Connectors\\nConnectors hook up Onyx to your data sources so that answers are grounded in your organizations knowledge.\\n\\nConnectors help you\\n- Choose Sources so you can include only the data you want indexed.\\n- Configure\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29670}, {\"document_id\": \"https://docs.onyx.app/oidc_saml\", \"chunk_ind\": 0, \"semantic_identifier\": \"OIDC/SAML Setup - Onyx Documentation\", \"link\": \"https://docs.onyx.app/oidc_saml\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nAuth\\nOIDC/SAML Setup\\nAuth\\nOIDC/SAML Setup\\nIntegrating Onyx with your IdP\\nAs part of the Enterprise Edition, Onyx adds support for OIDC / SAML and integrates with popular IdPs (e.g. Okta, Microsoft Entra ID, etc). We also have and will continue to add new integrations with custom, in-house IdPs on request.\\nIf this is something you are looking for, please reach to us directly and wed be happy to work with you to set this up.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7192145648070943, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nAuth\\nOIDC/SAML Setup\\nAuth\\nOIDC/SAML Setup\\nIntegrating Onyx with your IdP\\nAs part of the Enterprise Edition, Onyx adds support for OIDC / SAML and integrates with popular IdPs (e.g. Okta, Microsoft Entra ID, etc). We also have and will continue to add new integrations\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29671}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/operations\", \"chunk_ind\": 0, \"semantic_identifier\": \"Operations - Onyx Documentation\", \"link\": \"https://docs.onyx.app/more/use_cases/operations\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nOperations\\nUse Cases\\nOperations\\nDouble the productivity of your Ops teams like IT, HR, etc.\\n\\nAutomatically Resolve Tickets\\nModern teams are leveraging AI to auto-resolve up to 50% of tickets. Whether it is an employee asking about benefits details or how to set up the VPN for remote work, Onyx can help your team help themselves. This frees up your team to do the real impactful work of landing star candidates or improving your internal processes.\\n\\nAI Aided Onboarding\\nOne of the periods where your team needs the most help is when theyre just ramping up.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7151213942903248, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nOperations\\nUse Cases\\nOperations\\nDouble the productivity of your Ops teams like IT\", \"Modern teams are leveraging AI to auto-resolve up to 50% of tickets. Whether it is an employee asking about benefits details or how to set up the VPN for remote work, Onyx can help your team help themselves. This frees up your team to do...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29672}, {\"document_id\": \"https://docs.onyx.app/contact_us\", \"chunk_ind\": 0, \"semantic_identifier\": \"Contact Us - Onyx Documentation\", \"link\": \"https://docs.onyx.app/contact_us\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nContact Us\\nWelcome to Onyx\\nContact Us\\nWe would love to hear from you!\\n\\nPlease dont hesitate to reach out!\\nShoot us a message at founders@onyx.app\\nOr join our Slack or Discord\\nSystem Overview Connector Overview\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7132714505463654, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nContact Us\\nWelcome to Onyx\\nContact Us\\nWe would love to hear from you!\\n\\nPlease dont hesitate to reach out!\\nShoot us a message at founders@onyx.app\\nOr join our Slack or Discord\\nSystem Overview Connector Overview\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29673}, {\"document_id\": \"https://docs.onyx.app/production/gcp\", \"chunk_ind\": 2, \"semantic_identifier\": \"Deploy on GCP - Onyx Documentation\", \"link\": \"https://docs.onyx.app/production/gcp\", \"blurb\": \"First, lets clone the repo:\\ngit clone https://github.com/onyx-dot-app/onyx.git\\nNext, lets set the necessary env variables:\\ncd onyx/deployment/docker_compose touch .env touch .env.nginx\\nIn the .env file, you can copy past the following (filling in the missing fields as needed):\\nWEB_DOMAIN= # something like \\\"onyx.app\\\" # if your email is something like \\\"chris@onyx.app\\\",\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7128376286382025, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"First, lets clone the repo:\\ngit clone https://github.com/onyx-dot-app/onyx.git\\nNext, lets set the necessary env variables:\\ncd onyx/deployment/docker_compose touch .env\", \"PASSWORD=password\\nIn the .env.nginx file, put the following:\\nDOMAIN= # something like \\\"onyx.app\\\"\\nNext, lets get our SSL certificate from letsencrypt . To do this, we can simply...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29674}, {\"document_id\": \"https://docs.onyx.app/multilingual_setup\", \"chunk_ind\": 0, \"semantic_identifier\": \"Multilingual Setup - Onyx Documentation\", \"link\": \"https://docs.onyx.app/multilingual_setup\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nMultilingual Setup\\nWelcome to Onyx\\nMultilingual Setup\\nHow to set up Onyx to support languages other than English\\nFor the majority of use cases, Onyx provides an easy way to configure the system for multilingual use. To skip the details and just go to setup, see the Configuration section below.\\n\\nHow it works\\nOnyx has two main flows that assume English as a default. To use Onyx in multilingual or non-english cases, these must be handled.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7125777081442082, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nMultilingual Setup\\nWelcome to Onyx\\nMultilingual Setup\\nHow to set up Onyx to support languages other than English\\nFor the majority of use cases, Onyx provides an easy way to configure the system for multilingual use. To skip the details and just go to setup\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29675}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/enterprise_search\", \"chunk_ind\": 0, \"semantic_identifier\": \"Enterprise Search - Onyx Documentation\", \"link\": \"https://docs.onyx.app/more/use_cases/enterprise_search\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nEnterprise Search\\nUse Cases\\nEnterprise Search\\nValue of Enterprise Search with Onyx\\n\\nWhat is Enterprise Search and why is it Important?\\nAn Enterprise Search system gives team members a single place to access all of the disparate knowledge of an organization. Critical information is saved across a host of channels like call transcripts with prospects, engineering design docs, IT runbooks, customer support email exchanges, project management tickets, and more. As fast moving teams scale up, information gets spread out and more disorganized.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7109292870963285, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nEnterprise Search\\nUse Cases\\nEnterprise Search\\nValue of Enterprise Search with Onyx\\n\\nWhat is Enterprise Search and why is it Important?\\nAn Enterprise Search system gives team members a single place to access all of the disparate knowledge of an organization\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29676}, {\"document_id\": \"https://docs.onyx.app/production/azure\", \"chunk_ind\": 2, \"semantic_identifier\": \"Deploy on Azure - Onyx Documentation\", \"link\": \"https://docs.onyx.app/production/azure\", \"blurb\": \"First, lets clone the repo:\\ngit clone https://github.com/onyx-dot-app/onyx.git\\nNext, lets set the necessary env variables:\\ncd onyx/deployment/docker_compose touch .env touch .env.nginx\\nIn the .env file, you can copy past the following (filling in the missing fields as needed):\\nWEB_DOMAIN= # something like \\\"https://www.onyx.app\\\" # if your email is something like \\\"chris@onyx.app\\\",\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7013592754904788, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"First, lets clone the repo:\\ngit clone https://github.com/onyx-dot-app/onyx.git\\nNext, lets set the necessary env variables:\\ncd onyx/deployment/docker_compose touch .env\", \"PASSWORD=password\\nIn the .env.nginx file, put the following:\\nDOMAIN= # something like \\\"onyx.app\\\"\\nNext, lets get our SSL certificate from letsencrypt . To do this, we can simply...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29677}, {\"document_id\": \"https://docs.onyx.app/google_oauth_setup\", \"chunk_ind\": 1, \"semantic_identifier\": \"Google OAuth Setup - Onyx Documentation\", \"link\": \"https://docs.onyx.app/google_oauth_setup\", \"blurb\": \"To turn the feature on set:\\n- AUTH_TYPE=google_oauth\\n- OAUTH_CLIENT_ID=\\n- OAUTH_CLIENT_SECRET=\\n- If setting up in production, then:\\n- WEB_DOMAIN=\\n\\nNon Containerized\\nSimply set the above environment variables when running the different Onyx processes.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6976622785843751, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"=\\n- OAUTH_CLIENT_SECRET=\\n- If setting up in production, then:\\n- WEB_DOMAIN=onyx.app>\\n\\nNon Containerized\\nSimply set the above environment variables when running the different Onyx processes.\\n- The backend api server uses the 3 environment variables\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29678}, {\"document_id\": \"https://docs.onyx.app/production/aws/eks\", \"chunk_ind\": 2, \"semantic_identifier\": \"EKS - Onyx Documentation\", \"link\": \"https://docs.onyx.app/production/aws/eks\", \"blurb\": \"This can be done by running the following command:\\nkubectl patch storageclass gp2 -p '{\\\"metadata\\\": {\\\"annotations\\\":{\\\"storageclass.kubernetes.io/is-default-class\\\":\\\"true\\\"}}}' -n onyx\\nNavigate to the onyx/deployment/kubernetes directory in the repository that you have cloned down\\nAfterwards, you can run the installation of the yaml files\\nkubectl apply -f . -n onyx\\nIt may take a few minutes for the all the services to come online.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6964974733584897, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"This can be done by running the following command:\\nkubectl patch storageclass gp2 -p '{\\\"metadata\\\": {\\\"annotations\\\":{\\\"storageclass.kubernetes.io/is-default-class\\\":\\\"true\\\"}}}' -n onyx\\nNavigate to the onyx/deployment/kubernetes directory in the repository that you have cloned down\\nAfterwards, you can run the installation of the yaml files\\nkubectl apply -f . -n onyx\\n\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29679}, {\"document_id\": \"https://docs.onyx.app/connectors/file\", \"chunk_ind\": 0, \"semantic_identifier\": \"File Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/file\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nFile Connector\\nConnectors\\nFile Connector\\nAccess knowledge from Local Files\\n\\nHow it works\\nThe File Connector indexes user uploaded files. Currently supports .txt , .pdf , .docx , .pptx , .xlsx , .csv , .md , .mdx , .conf , .log , .json , .tsv , .xml , .yml , .yaml , .eml , and .epub files.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.695102663531755, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nFile Connector\\nConnectors\\nFile Connector\\nAccess knowledge from Local Files\\n\\nHow\", \"there are other file types in the zip, the other file types are ignored. There is also an optional metadata line that supports links, document owners, and time updated as metadata for Onyxs retrieval and AI Answer.\\n\\nAdding Metadata\\nThe...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29680}, {\"document_id\": \"https://docs.onyx.app/more/telemetry\", \"chunk_ind\": 0, \"semantic_identifier\": \"Telemetry - Onyx Documentation\", \"link\": \"https://docs.onyx.app/more/telemetry\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nMore\\nTelemetry\\nMore\\nTelemetry\\nHelp us improve Onyx\\n\\nOverview\\nThe term telemetry here refers to the collection of anonymous data that is limited in scope and for the purpose of improving the quality of a piece of software.\\nThis page describes our philosophy towards telemetry, what kind of data is collected and how to easily opt-out of all data collection.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6942952057910301, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nMore\\nTelemetry\\nMore\\nTelemetry\\nHelp us improve Onyx\\n\\nOverview\\nThe term telemetry here refers\", \"collection.\\n\\nWhy do we collect telemetry\\nAs a software that uses a combination of deep-learning models and LLMs as well as interfacing with a variety of external SaaS tools for data collection, Onyxs performance is strongly...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29681}, {\"document_id\": \"https://docs.onyx.app/gen_ai_configs/custom_server\", \"chunk_ind\": 0, \"semantic_identifier\": \"Custom Model Server - Onyx Documentation\", \"link\": \"https://docs.onyx.app/gen_ai_configs/custom_server\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nCustom Model Server\\nGen AI Configs\\nCustom Model Server\\nConfigure Onyx to use a Custom Model Server via requests\\nOnyx can also make requests to an arbitrary model server via REST requests. Optionally an access token can be passed in. To customize the request format and handling of the response, it may be necessary to update/rebuild the Onyx containers.\\n\\nExtending Onyx to be compatible with your custom model server\\nTheres a very minimal interface to be implemented which can support any arbitrary LLM Model Server. Simply update the code here and rebuild .\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6928127854498938, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nCustom Model Server\\nGen AI Configs\\nCustom Model Server\\nConfigure Onyx to use a Custom Model Server via requests\\nOnyx can also make requests to an arbitrary model server via REST requests. Optionally an access token can be passed\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29682}, {\"document_id\": \"https://docs.onyx.app/production/aws/ec2\", \"chunk_ind\": 2, \"semantic_identifier\": \"[Recommended] EC2 - Onyx Documentation\", \"link\": \"https://docs.onyx.app/production/aws/ec2\", \"blurb\": \"First, lets clone the repo:\\ngit clone https://github.com/onyx-dot-app/onyx.git\\nNext, lets set the necessary env variables:\\ncd onyx/deployment/docker_compose touch .env touch .env.nginx\\nIn the .env file, you can copy past the following (filling in the missing fields as needed):\\nWEB_DOMAIN= # something like \\\"onyx.app\\\" # if your email is something like \\\"chris@onyx.app\\\",\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6916220002377707, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"First, lets clone the repo:\\ngit clone https://github.com/onyx-dot-app/onyx.git\\nNext, lets set the necessary env variables:\\ncd onyx/deployment/docker_compose touch .env\", \"PASSWORD=password\\nIn the .env.nginx file, put the following:\\nDOMAIN= # something like \\\"onyx.app\\\"\\nNext, lets get our SSL certificate from letsencrypt . To do this, we can simply...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29683}, {\"document_id\": \"https://docs.onyx.app/tools/custom\", \"chunk_ind\": 2, \"semantic_identifier\": \"Custom Tools - Onyx Documentation\", \"link\": \"https://docs.onyx.app/tools/custom\", \"blurb\": \"\\\"prompt_ids\\\", \\\"document_set_ids\\\", \\\"tool_ids\\\" ] } } } } } } } }\\nTools Overview Ingestion API\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6912730356920992, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\\\"prompt_ids\\\", \\\"document_set_ids\\\", \\\"tool_ids\\\" ] } } } } } } } }\\nTools Overview Ingestion API\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29684}, {\"document_id\": \"https://docs.onyx.app/enterprise_edition/permissioning\", \"chunk_ind\": 0, \"semantic_identifier\": \"Permissioning - Onyx Documentation\", \"link\": \"https://docs.onyx.app/enterprise_edition/permissioning\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nPermissioning\\nEnterprise\\nPermissioning\\nPermissions for what documents users can and cannot access in Onyx are determined by the access level set for each connector.\\n\\nConnector Access Types:\\n\\n1. Public\\n- Any user can access the documents in the connector\\n\\n2. Private\\n- All documents from connectors that are private are only accessible to users in the group(s) that the connector is attached to.\\n\\n3. Sync\\n- When one a connector is created with syncing access enabled, the permissions are inhereted from the source.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6872557362213396, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nPermissioning\\nEnterprise\\nPermissioning\\nPermissions for what documents users can and cannot access in Onyx are determined by the access level set for each connector.\\n\\nConnector Access Types:\\n\\n1. Public\\n- Any user can access the documents in the connector\\n\\n2. Private\\n- \", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29685}, {\"document_id\": \"https://docs.onyx.app/production/digitalocean\", \"chunk_ind\": 2, \"semantic_identifier\": \"Deploy on Digital Ocean - Onyx Documentation\", \"link\": \"https://docs.onyx.app/production/digitalocean\", \"blurb\": \"Clone the repo:\\ngit clone https://github.com/onyx-dot-app/onyx.git\\nNext, lets set the necessary env variables:\\ncd onyx/deployment/docker_compose touch .env touch .env.nginx\\nIn the .env file, you can copy past the following (filling in the missing fields as needed):\\nWEB_DOMAIN= # something like \\\"onyx.app\\\" # if your email is something like \\\"chris@onyx.app\\\", then this should be \\\"onyx.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6862527948641421, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Clone the repo:\\ngit clone https://github.com/onyx-dot-app/onyx.git\\nNext, lets set the necessary env variables:\\ncd onyx/deployment/docker_compose touch .env touch .env\", \"POSTGRES_PASSWORD=password\\nIn the .env.nginx file, put the following:\\nDOMAIN= # something like \\\"onyx.app\\\"\\nNext, lets get our SSL certificate from letsencrypt . To do this, we can...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29686}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/sales\", \"chunk_ind\": 0, \"semantic_identifier\": \"Sales - Onyx Documentation\", \"link\": \"https://docs.onyx.app/more/use_cases/sales\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nSales\\nUse Cases\\nSales\\nKeep your team up to date on every conversation and update so they can close.\\n\\nRecall Every Detail\\nBeing able to instantly revisit every detail of any call without reading transcripts is helping Sales teams provide more tailored pitches, build stronger relationships, and close more deals. Instead of searching and reading through hours of transcripts in preparation for a call, your team can now ask Onyx What specific features was ACME interested in seeing for the demo.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6791961104699576, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nSales\\nUse Cases\\nSales\\nKeep your team up to date on every conversation and update so they can close.\\n\\nRecall\", \"tailored pitches, build stronger relationships, and close more deals. Instead of searching and reading through hours of transcripts in preparation for a call, your team can now ask Onyx What specific features was...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29687}, {\"document_id\": \"https://docs.onyx.app/enterprise_edition/theming\", \"chunk_ind\": 0, \"semantic_identifier\": \"Theming - Onyx Documentation\", \"link\": \"https://docs.onyx.app/enterprise_edition/theming\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nTheming\\nEnterprise\\nTheming\\nCustomize the look of Onyx\\nAs part of the Enterprise Edition, we provide the ability to easily customize the look of Onyx. This comes in two forms:\\n- Adding in your own custom application name / logo.\\n- Customizing every color in the UI.\\n\\nCustomizing the Application Name / Logo\\nTo provide your own application name / logo, you can use the Whitelabelling tab in the admin panel. Here, we provide a way to input a name of your choice, as well as an optional logo.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6770674867110508, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nTheming\\nEnterprise\\nTheming\\nCustomize the look of Onyx\\nAs part of the Enterprise Edition, we provide the ability to easily customize the look of Onyx. This comes in two forms:\\n- Adding in your own custom application name / logo.\\n- Customizing every color in the UI.\\n\\nCustomizing the Application Name / Logo\\nTo\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29688}, {\"document_id\": \"https://docs.onyx.app/guides/assistants\", \"chunk_ind\": 0, \"semantic_identifier\": \"Creating Assistants - Onyx Documentation\", \"link\": \"https://docs.onyx.app/guides/assistants\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGuides\\nCreating Assistants\\nGuides\\nCreating Assistants\\nA comprehensive guide to creating and configuring AI assistants in Onyx\\n\\nIntroduction\\nOnyx empowers you to create custom AI assistants tailored to your specific needs. These assistants can be configured to handle a wide range of tasks, from answering HR queries to assisting with technical support. This guide will walk you through the process of creating an effective assistant using Onyxs platform.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6745692694910385, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nGuides\\nCreating Assistants\\nGuides\\nCreating Assistants\\nA comprehensive guide to creating and configuring AI assistants in Onyx\\n\\nIntroduction\\nOnyx empowers you to create custom AI assistants tailored to your specific needs. These assistants can be configured to handle a wide range of tasks\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29689}, {\"document_id\": \"https://docs.onyx.app/gen_ai_configs/anthropic\", \"chunk_ind\": 0, \"semantic_identifier\": \"Anthropic - Onyx Documentation\", \"link\": \"https://docs.onyx.app/gen_ai_configs/anthropic\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nAnthropic\\nGen AI Configs\\nAnthropic\\nConfigure Onyx to use different Anthropic models\\nAnthropic is quite straightforward. Grab an API key from the developer platform, then put it into the API Key field and youll be good to go!\\nOpenAI Azure OpenAI\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6671637273436749, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nAnthropic\\nGen AI Configs\\nAnthropic\\nConfigure Onyx to use different Anthropic models\\nAnthropic is quite straightforward. Grab an API key from the developer platform, then put it into the API Key field and youll be good to go!\\nOpenAI Azure OpenAI\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29690}, {\"document_id\": \"https://docs.onyx.app/connectors/s3\", \"chunk_ind\": 1, \"semantic_identifier\": \"S3 Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/s3\", \"blurb\": \"Request Tracker Connector Salesforce Connector\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6658536288953573, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Request Tracker Connector Salesforce Connector\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29691}, {\"document_id\": \"https://docs.onyx.app/connectors/discourse\", \"chunk_ind\": 0, \"semantic_identifier\": \"Discourse Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/discourse\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nDiscourse Connector\\nConnectors\\nDiscourse Connector\\nAccess knowledge from your Discourse Topics\\n\\nHow it works\\nThe Discourse connector indexes documents from your Discourse Topics .\\n\\nSetting up\\n\\nAuthorization\\n- Log into your Discourse account\\nThis Discourse user must have admin priveleges\\n- Click the Admin menu from the home page.\\n- Open the Advanced sub-menu and select API keys .\\n- Click New API Key , name it Onyx. Select All Users for User Level and Read-only for Scope .\\n- Click Save . Copy the key and put it into Onyx.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6594126632296665, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nDiscourse Connector\\nConnectors\\nDiscourse Connector\\nAccess knowledge from your Discourse\", \"user must have admin priveleges\\n- Click the Admin menu from the home page.\\n- Open the Advanced sub-menu and select API keys .\\n- Click New API Key , name it Onyx. Select All Users for User Level and Read-only for Scope .\\n- Click Save...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29692}, {\"document_id\": \"https://docs.onyx.app/gen_ai_configs/ollama\", \"chunk_ind\": 0, \"semantic_identifier\": \"Ollama - Onyx Documentation\", \"link\": \"https://docs.onyx.app/gen_ai_configs/ollama\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nOllama\\nGen AI Configs\\nOllama\\nConfigure Onyx to use Ollama\\nRefer to Model Configs for how to set the environment variables for your particular deployment.\\nNote : While we support self hosted LLMs, you will get significantly better responses with a more powerful model like GPT-4.\\n\\nWhat is Ollama\\nOllama provides an easy way to host LLMs locally and to provide a REST API for the model.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6583577817850584, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nOllama\\nGen AI Configs\\nOllama\\nConfigure Onyx to use Ollama\", \"ollama\\nOnce you start a model with a command like ollama run llama2 , you can verify that the API works with a curl request:\\ncurl http://localhost:11434/api/generate -d '{ \\\"model\\\": \\\"llama2\\\", \\\"prompt\\\":\\\"Why is the sky blue?\\\" }'\\n\\nSet Onyx to use...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29693}, {\"document_id\": \"https://docs.onyx.app/connectors/productboard\", \"chunk_ind\": 0, \"semantic_identifier\": \"Productboard Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/productboard\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nProductboard Connector\\nConnectors\\nProductboard Connector\\nSync knowledge from Productboard\\n\\nHow it works\\nThe Productboard connector pulls in all the Features , Components , Products , and Objectives into Onyx. At this time, the Productboard APIs does not support pulling in Releases or Notes .\\nEverything is updated every 10 minutes.\\n\\nSetting up\\n\\nAuthorization\\n- Follow the Getting a token guide here to get an Access Token.\\n\\nIndexing\\n- Navigate to the Admin Dashboard and select the Productboard Connector\\n- In Step 1 , provide your Access Token\\n- Click Connect to begin indexing\\nOracle Storage Connector R2 Connector\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6580499219935222, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nProductboard Connector\\nConnectors\\nProductboard Connector\\nSync knowledge from Productboard\\n\\nHow it works\\nThe Productboard connector pulls in all the Features , Components , Products , and Objectives into Onyx. At this time, the Productboard APIs does not support pulling in Releases or Notes .\\nEverything is updated every...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29694}, {\"document_id\": \"https://docs.onyx.app/resourcing\", \"chunk_ind\": 0, \"semantic_identifier\": \"Resourcing - Onyx Documentation\", \"link\": \"https://docs.onyx.app/resourcing\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nResourcing\\nWelcome to Onyx\\nResourcing\\nRecommended CPU / RAM / Disk to run Onyx\\n\\nRunning Locally\\nWhen running locally through Docker, we recommend making at least 4vCPU cores and 10GB of RAM available to Docker (16GB is preferred). This can be controlled in the Resources section of the Docker Desktop settings menu.\\n\\nSingle Cloud Instance\\nWe generally recommend setting everything up on a single instance (e.g. an AWS EC2 instance, a Google Compute Engine instance, an Azure VM, etc.)\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6568652658428978, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nResourcing\\nWelcome to Onyx\\nResourcing\\nRecommended CPU / RAM / Disk to run Onyx\\n\\nRunning Locally\\nWhen running locally through Docker, we recommend making at least 4vCPU cores and 10GB of RAM available to Docker (16GB is preferred). This\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29695}, {\"document_id\": \"https://docs.onyx.app/basic_auth\", \"chunk_ind\": 0, \"semantic_identifier\": \"Basic Auth Setup - Onyx Documentation\", \"link\": \"https://docs.onyx.app/basic_auth\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nAuth\\nBasic Auth Setup\\nAuth\\nBasic Auth Setup\\nHow to set up Username/Password account creation\\nBelow details how to setup Onyx with basic username/password auth. While this is the easiest way to get started, we recommend picking Google OAuth / OIDC / SAML in the long term (if possible). If you have any questions, dont hesitate to reach out to us - were more than happy to help you pick which auth approach is best for your organization.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6566112827741304, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nAuth\\nBasic Auth Setup\\nAuth\\nBasic Auth Setup\\nHow to set up Username/Password account creation\\nBelow details how to setup Onyx with basic username/password auth. While this is the easiest way to get started, we recommend picking Google OAuth / OIDC / SAML in the long term (if possible). If you have any questions\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29696}, {\"document_id\": \"https://docs.onyx.app/slack_bot_setup\", \"chunk_ind\": 0, \"semantic_identifier\": \"Slack Bot Setup - Onyx Documentation\", \"link\": \"https://docs.onyx.app/slack_bot_setup\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSlack Bot Setup\\nWelcome to Onyx\\nSlack Bot Setup\\nHow to set up a Slack bot to automatically answer questions\\n\\nOnyxBot Introduction\\nOnyx will connect to your Slack and listen for messages to answer.\\nYou can easily configure rules for what channels Onyx should respond in, what knowledge sets should back each configured channel, and set filters to respond or not respond to different types of messages.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6530593635215387, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSlack Bot Setup\\nWelcome to Onyx\\nSlack Bot Setup\\nHow to set up a Slack bot to automatically answer questions\\n\\nOnyxBot Introduction\\nOnyx will connect to your Slack and listen for messages to answer.\\nYou can easily configure rules for what channels Onyx should respond in, what knowledge...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29697}, {\"document_id\": \"https://docs.onyx.app/connectors/web\", \"chunk_ind\": 0, \"semantic_identifier\": \"Web Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/web\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nWeb Connector\\nConnectors\\nWeb Connector\\nAccess knowledge from Web Pages\\n\\nHow it works\\nThe Web Connector scrapes sites based on a base URL.\\n- It only indexes files from the same domain and containing the same base path.\\n- It will index pages reachable via hyperlinks from the base URL.\\n- The text contents are cleaned up via some heuristics and some metadata such as the page Title is extracted.\\n\\nSetting up\\n\\nAuthorization\\n- As long as the page is reachable, no additional authorization is necessary.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6484128248869832, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nWeb Connector\\nConnectors\\nWeb Connector\\nAccess knowledge from Web Pages\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29698}], \"rephrased_query\": \"what is onyx\", \"predicted_flow\": \"question-answer\", \"predicted_search\": \"semantic\", \"applied_source_filters\": null, \"applied_time_cutoff\": null, \"recency_bias_multiplier\": 0.5}\n" -"{\"llm_selected_doc_indices\": [0, 1, 2, 3, 4, 5, 6, 11, 12, 13, 17]}\n" -"{\"final_context_docs\": [{\"document_id\": \"https://docs.onyx.app/introduction\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into any LLM of your choice. Onyx can be deployed anywhere and for any scale - on a laptop, on-premise, or to cloud. Since you own the deployment, your user data and chats are fully in your own control. Onyx is MIT licensed and designed to be modular and easily extensible. The system also comes fully ready for production usage with user authentication, role management (admin/basic users), chat persistence, and a UI for configuring Personas (AI Assistants) and their Prompts.\\nOnyx also serves as a Unified Search across all common workplace tools such as Slack, Google Drive, Confluence, etc. By combining LLMs and team specific knowledge, Onyx becomes a subject matter expert for the team. Its like ChatGPT if it had access to your teams unique knowledge! It enables questions such as A customer wants feature X, is this already supported? or Wheres the pull request for feature Y?\\nOnyx can also be plugged into existing tools like Slack to get answers and AI chats directly in Slack.\\n\\nDemo\\n\\nMain Features \\n- Chat UI with the ability to select documents to chat with.\\n- Create custom AI Assistants with different prompts and backing knowledge sets.\\n- Connect Onyx with LLM of your choice (self-host for a fully airgapped solution).\\n- Document Search + AI Answers for natural language queries.\\n- Connectors to all common workplace tools like Google Drive, Confluence, Slack, etc.\\n- Slack integration to get answers and search results directly in Slack.\\n\\nUpcoming\\n- Chat/Prompt sharing with specific teammates and user groups.\\n- Multi-modal model support, chat with images, video etc.\\n- Choosing between LLMs and parameters during chat session.\\n- Tool calling and agent configurations options.\\n- Organizational understanding and ability to locate and suggest experts from your team.\\n\\nOther Noteable Benefits of Onyx\\n- User Authentication with document level access management.\\n- Best in class Hybrid Search across all sources (BM-25 + prefix aware embedding models).\\n- Admin Dashboard to configure connectors, document-sets, access, etc.\\n- Custom deep learning models + learn from user feedback.\\n- Easy deployment and ability to host Onyx anywhere of your choosing.\\nQuickstart\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into any LLM of your choice. Onyx can be deployed anywhere and for any scale - on a laptop, on-premise, or to cloud. Since you own the deployment, your user data and chats are fully in your own control. Onyx is MIT licensed and designed to be modular and easily extensible.\", \"semantic_identifier\": \"Introduction - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/introduction\", \"source_links\": {\"0\": \"https://docs.onyx.app/introduction\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into\", \"\"]}, {\"document_id\": \"https://www.onyx.app/\", \"content\": \"Help your \\u00b0\\nEng\\nSupport\\nSales\\nProduct\\nOps team\\nfind information faster\\nThe open source AI connected to your company's docs, apps, and people Book a demo\\nYour browser does not support the video tag.\\nAI Workplace Search\\nFind answers across all your teams' applications\\nYour browser does not support the video tag.\\nAI Assistant\\nCreate AI Assistants powered by your org's unique knowledge, available right where you work\\nYour browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\\nOnyx connects to all your apps\\nWorks out of the box, syncs in real time, with document level access.\\n40+ integrations available, with more being built every day.\\nBuilt for\\nEnterprise\\nIt's been great to partner and work with the Onyx team ... it's an easy to set up, intuitive product that finds natural product market fit by meeting your team where they're already collaborating.\\nTony Rios\\nDirector, Product Ops at Ramp\\nData\\nSecurity\\nRun Onyx fully air gapped in your VPC or even on-premise.\\nNo data needs to ever leave your deployment.\\nAdvanced\\nPermission\\nDocument level permissions automatically inherited from connected sources.\\nEasily create advanced access rules directly within Onyx.\\nMost\\nExtensible\\nModular, open-source, and easy to customize.\\nPlug in custom tools, processing modules, and UI elements to make Onyx work the way you need it to.\\nModel\\nAgnostic\\nChoose any model provider, or plug in your own self-hosted LLM.\\nPick the model that works for your use case, swap them at will. Control is yours.\\nInternal Search\\nThe average worker spends 9.3 hours a week looking for information. Unblock your team with GenAI.\\nCustomer Support\\nInstantly answer questions across your entire product.\\nDevelopers\\nEmpower your devs to ship with speed and confidence.\\nSales\\nClose deals faster with instant access to every customer conversation and prodpuct update.\\nWe use cookies to enhance your experience and analyze our site usage. Do you accept?\\nAccept Reject\", \"blurb\": \"Help your \\u00b0\\nEng\\nSupport\\nSales\\nProduct\\nOps team\\nfind information faster\\nThe open source AI connected to your company's docs, apps, and people Book a demo\\nYour browser does not support the video tag.\\nAI Workplace Search\\nFind answers across all your teams' applications\\nYour browser does not support the video tag.\\nAI Assistant\\nCreate AI Assistants powered by your org's unique knowledge, available right where you work\\nYour browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\", \"semantic_identifier\": \"Onyx\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://www.onyx.app/\", \"source_links\": {\"0\": \"https://www.onyx.app/\"}, \"match_highlights\": [\"\", \" browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\\nOnyx connects to all your apps\\nWorks out of the box, syncs in real time, with document level access.\\n40+ integrations available, with more being built every day.\\nBuilt for\\nEnterprise\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/system_overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking to customize the system or become an open source contributors, this is a great place to start.\\n\\nSystem Architecture\\nWhether deploying Onyx on a single instance or a container orchestration platform, the flow of data is the same. Documents are pulled and processed via connectors and then persisted in Vespa/Postgres which run in containers within your system.\\nThe only time sensitive data leaves your Onyx setup is when it makes a call to an LLM to generate an answer. The communications to the LLM are encrypted. The data persistence at the LLM API depends on the terms of the LLM hosting service you are using.\\nWe also note that Onyx has some very limited and anonymous telemetry to help us improve the system by identifying bottlenecks and flaky data connectors. You can turn off the telemetry with by setting the DISABLE_TELEMETRY env variable to True.\\n\\nEmbedding Flow\\nEach document is split into smaller sections called Chunks.\\nBy passing chunks to the LLM instead of full documents, we are able to reduce noise to the model by only passing in the relevant sections of the document. Additionally this is significantly more cost efficient as LLM services generally charge per token. Finally by embedding chunks rather than full documents, we are able to retain more detail as each vector embedding is only capable of encoding a limited amount of information.\\nThe addition of mini-chunks takes this concept even further. By embedding at different sizes, Onyx can retrieve both high level context and details. Mini-chunks can also be turned on/off via environment variables as generating multiple vectors per chunk can slow down document indexing if deployed on less capable hardware.\\nIn choosing our embedding model, we use the latest state-of-the-art biencoder that is small enough to run on CPU while maintaining subsecond document retrieval times.\\n\\nQuery Flow\\nThis flow is often updated as were constantly striving to push the capabilities of the retrieval pipeline with the most recent advancements coming out of research and the opensource community.\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking to customize the system or become an open source contributors, this is a great place to start.\\n\\nSystem Architecture\\nWhether deploying Onyx on a single instance or a container orchestration platform, the flow of data is the same.\", \"semantic_identifier\": \"System Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/system_overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/system_overview\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking...\"]}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/ai_platform\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user chat sessions, attaching custom tools, handling LLM reasoning, code execution, data analysis, referencing internal knowledge, and much more.\\nOnyx as a platform is not a no-code agent builder. We are made by developers for developers and this gives your team the full flexibility and power to create agents not constrained by blocks and simple logic paths.\\n\\nFlexibility and Extensibility\\nOnyx is open source and completely whitebox. This not only gives transparency to what happens within the system but also means that your team can directly modify the source code to suit your unique needs.\\nEnterprise Search Customer Support\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user chat sessions, attaching custom tools, handling LLM reasoning, code execution, data analysis, referencing internal knowledge, and much more.\\nOnyx as a platform is not a no-code agent builder.\", \"semantic_identifier\": \"AI Platform - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/more/use_cases/ai_platform\", \"source_links\": {\"0\": \"https://docs.onyx.app/more/use_cases/ai_platform\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user...\"]}, {\"document_id\": \"https://docs.onyx.app/tools/overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform actions (e.g. write to a database, send an email, etc.)\\n- Generate content (e.g. generate an Image, create a plot, etc.)\\nBy default, we have a three tools built-in to Onyx. These are:\\n-\\nSearchTool . This is the core of Onyx. Adding this tool to an Assistant allows it to search over the knowledge youve connected up to Onyx through Connectors . This is the only tool available to the default Onyx assistant.\\n-\\nImageGenerationTool . This leverages DALLE-3 to generate images.\\n-\\nInternetSearchTool . This uses Bing to search the internet. To enable this as an option, set the BING_API_KEY environment variable.\\nEmbedding Models Custom Tools\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform actions (e.g. write to a database, send an email, etc.)\\n- Generate content (e.g. generate an Image, create a plot, etc.)\\nBy default, we have a three tools built-in to Onyx.\", \"semantic_identifier\": \"Tools Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/tools/overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/tools/overview\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI more versatile for work by enabling new types of questions like What is the most common feature request weve heard from customers this month. Whereas other AI systems have no context of your team and are generally unhelpful with work related questions, Onyx makes it possible to ask these questions in natural language and get back answers in seconds.\\nOnyx can connect to +30 different tools and the use cases are not limited to the ones in the following pages. The highlighted use cases are for inspiration and come from feedback gathered from our users and customers.\\n\\nCommon Getting Started Questions:\\n\\nWhy are these docs connected in my Onyx deployment?\\nAnswer: This is just an example of how connectors work in Onyx. You can connect up your own teams knowledge and you will be able to ask questions unique to your organization. Onyx will keep all of the knowledge up to date and in sync with your connected applications.\\n\\nIs my data being sent anywhere when I connect it up to Onyx?\\nAnswer: No! Onyx is built with data security as our highest priority. We open sourced it so our users can know exactly what is going on with their data. By default all of the document processing happens within Onyx. The only time it is sent outward is for the GenAI call to generate answers.\\n\\nWhere is the feature for auto sync-ing document level access permissions from all connected sources?\\nAnswer: This falls under the Enterprise Edition set of Onyx features built on top of the MIT/community edition. If you are on Onyx Cloud, you have access to them by default. If youre running it yourself, reach out to the Onyx team to receive access.\\nAdvanced Curator Examples Enterprise Search\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI more versatile for work by enabling new types of questions like What is the most common feature request weve heard from customers this month. Whereas other AI systems have no context of your team and are generally unhelpful with work related questions, Onyx makes it possible to ask these questions in natural language and get back answers in seconds.\", \"semantic_identifier\": \"Use Cases Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/more/use_cases/overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/more/use_cases/overview\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/backend_apis/ingestion\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nBackend APIs\\nIngestion API\\nBackend APIs\\nIngestion API\\nIngest Arbitrary Documents\\n\\nTypical uses for the Ingestion API\\nA set of backend APIs are provided to take in and process arbitrary document data sent directly to the backend API server. This is generally used for:\\n- Creating arbitrary documents that may not exist in any actual sources but contain useful information.\\n- Programmatically passing in documents to Onyx. This is sometimes simpler than creating a connector.\\n- Editing specific documents in Onyx when the Onyx admin either does not want to or does not have permission to update the original document in the source.\\n- Supplementing existing connector functionalities. For example, passing in README file contents and attributing it to the GitHub or GitLab source type.\\n\\nExample Document Ingestion\\nThis example creates a new Document in Onyx of the Web type. This document will now show up in Onyxs search flows like any other webpage pulled in by a Web connector.\\ncurl --location 'localhost:8080/onyx-api/ingestion' \\\\ --header 'Content-Type: application/json' \\\\ --header 'Authorization: Bearer dn_qODmg9r8Nl9PR4R9GF_z1UA0smcwVIcj58Ei0zWA' \\\\ --data '{ \\\"document\\\": { \\\"id\\\": \\\"ingestion_document_1\\\", \\\"sections\\\": [ { \\\"text\\\": \\\"This is the contents of the document that will be processed and saved into the vector+keyword document index. \\\", \\\"link\\\": \\\"https://docs.onyx.app/introduction#what-is-onyx\\\" }, { \\\"text\\\": \\\"You can include multiple content sections each with their own link or combine them.\\n\\\", \\\"link\\\": \\\"https://docs.onyx.app/introduction#main-features\\\" } ], \\\"source\\\": \\\"web\\\", \\\"semantic_identifier\\\": \\\"Onyx Ingestion Example\\\", \\\"metadata\\\": { \\\"tag\\\": \\\"informational\\\", \\\"topics\\\": [\\\"onyx\\\", \\\"api\\\"] }, \\\"doc_updated_at\\\": \\\"2024-04-25T08:20:00Z\\\" }, \\\"cc_pair_id\\\": 1 }'\\nNote: The Bearer auth token is generated on server startup in Onyx MIT. There is better API Key support as part of Onyx EE.\\nSee below for a breakdown of the different fields provided:\\n- id : this is the unique ID of the document, if a document of this ID exists it will be updated/replaced. If not provided, a document ID is generated from the semantic_identifier field instead and returned in the response.\\n- sections : list of sections each containing textual content and an optional link. The document chunking tries to avoid splitting sections internally and favors splitting at section borders. Also the link of the document at query time is the link of the best matched section.\\n- source : Source type, full list can be checked by searching for DocumentSource here\\n- semantic_identifier : This is the Title of the document as shown in the UI (see image below)\\n- metadata : Used for the Tags feature which is displayed in the UI. The values can be either strings or list of strings\\n- doc_updated_at : The time that the document was last considered updated. By default there is a time based score decay around this value when the document is considered during search.\\n- cc_pair_id : This is the Connector ID seen on the Connector Status pages. For example, if running locally, it might be http://localhost:3000/admin/connector/2 . This allows attaching the ingestion doc to existing connectors so they can be assigned to groups or deleted together with the connector. If not provided or set to 1 explicitly, it is considered part of the default catch-all connector.\\nFor even more details, the code for the relevant object is found here , called DocumentBase\\n\\nChecking Ingestion Documents\\nAn API is also provided to fetch all of the documents that have been indexed via the Ingestion API\\nCustom Tools Answer with Quote\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nBackend APIs\\nIngestion API\\nBackend APIs\\nIngestion API\\nIngest Arbitrary Documents\\n\\nTypical uses for the Ingestion API\\nA set of backend APIs are provided to take in and process arbitrary document data sent directly to the backend API server. This is generally used for:\\n- Creating arbitrary documents that may not exist in any actual sources but contain useful information.\\n- Programmatically passing in documents to Onyx. This is sometimes simpler than creating a connector.\", \"semantic_identifier\": \"Ingestion API - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/backend_apis/ingestion\", \"source_links\": {\"0\": \"https://docs.onyx.app/backend_apis/ingestion\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nBackend APIs\\nIngestion API\\nBackend APIs\\nIngestion API\\nIngest Arbitrary Documents\", \"API server. This is generally used for:\\n- Creating arbitrary documents that may not exist in any actual sources but contain useful information.\\n- Programmatically passing in documents to Onyx. This is sometimes simpler than creating a connector.\\n...\"]}, {\"document_id\": \"https://docs.onyx.app/connectors/overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nConnector Overview\\nConnectors\\nConnector Overview\\nBasic Information about Connectors\\n\\nWhat are Connectors\\nConnectors hook up Onyx to your data sources so that answers are grounded in your organizations knowledge.\\n\\nConnectors help you\\n- Choose Sources so you can include only the data you want indexed.\\n- Configure Access so Onyx can securely access data with your permission.\\n- Set Up Fetching options to keep Onyxs answers up to date.\\n\\nMonitoring Connectors\\nOpen the Connectors Dashboard (accessible from the profile icon on the top right) At the top there is a Status page which shows which sources have been indexed and the status of the indexing job.\\n\\nMissing a Connector?\\nIs there a Connector that would be useful to you? Let us know via a GitHub Issues page. (Please check if the connector youre interested in is already mentioned).\\nDont forget to thumbs up the issues requesting the connectors that you would like to see built next!\\n\\nContributing a Connector\\nAs Onyx is opensource, one of the best features is that anyone can add to it! We encourage people who need new connectors to contribute it back to the Onyx repo for other people to benefit as well.\\nRefer to this README guide for how to add a new Connector.\\nContact Us Airtable Connector\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nConnector Overview\\nConnectors\\nConnector Overview\\nBasic Information about Connectors\\n\\nWhat are Connectors\\nConnectors hook up Onyx to your data sources so that answers are grounded in your organizations knowledge.\\n\\nConnectors help you\\n- Choose Sources so you can include only the data you want indexed.\\n- Configure Access so Onyx can securely access data with your permission.\\n- Set Up Fetching options to keep Onyxs answers up to date.\", \"semantic_identifier\": \"Connector Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/connectors/overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/connectors/overview\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nConnector Overview\\nConnectors\\nConnector Overview\\nBasic Information about Connectors\\n\\nWhat are Connectors\\nConnectors hook up Onyx to your data sources so that answers are grounded in your organizations knowledge.\\n\\nConnectors help you\\n- Choose Sources so you can include only the data you want indexed.\\n- Configure\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/oidc_saml\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nAuth\\nOIDC/SAML Setup\\nAuth\\nOIDC/SAML Setup\\nIntegrating Onyx with your IdP\\nAs part of the Enterprise Edition, Onyx adds support for OIDC / SAML and integrates with popular IdPs (e.g. Okta, Microsoft Entra ID, etc). We also have and will continue to add new integrations with custom, in-house IdPs on request.\\nIf this is something you are looking for, please reach to us directly and wed be happy to work with you to set this up.\\nGoogle OAuth Setup Enterprise Edition Overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nAuth\\nOIDC/SAML Setup\\nAuth\\nOIDC/SAML Setup\\nIntegrating Onyx with your IdP\\nAs part of the Enterprise Edition, Onyx adds support for OIDC / SAML and integrates with popular IdPs (e.g. Okta, Microsoft Entra ID, etc). We also have and will continue to add new integrations with custom, in-house IdPs on request.\\nIf this is something you are looking for, please reach to us directly and wed be happy to work with you to set this up.\", \"semantic_identifier\": \"OIDC/SAML Setup - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/oidc_saml\", \"source_links\": {\"0\": \"https://docs.onyx.app/oidc_saml\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nAuth\\nOIDC/SAML Setup\\nAuth\\nOIDC/SAML Setup\\nIntegrating Onyx with your IdP\\nAs part of the Enterprise Edition, Onyx adds support for OIDC / SAML and integrates with popular IdPs (e.g. Okta, Microsoft Entra ID, etc). We also have and will continue to add new integrations\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/operations\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nOperations\\nUse Cases\\nOperations\\nDouble the productivity of your Ops teams like IT, HR, etc.\\n\\nAutomatically Resolve Tickets\\nModern teams are leveraging AI to auto-resolve up to 50% of tickets. Whether it is an employee asking about benefits details or how to set up the VPN for remote work, Onyx can help your team help themselves. This frees up your team to do the real impactful work of landing star candidates or improving your internal processes.\\n\\nAI Aided Onboarding\\nOne of the periods where your team needs the most help is when theyre just ramping up. Instead of feeling lost in dozens of new tools, Onyx gives them a single place where they can ask about anything in natural language. Whether its how to set up their work environment or what their onboarding goals are, Onyx can walk them through every step with the help of Generative AI. This lets your team feel more empowered and gives time back to the more seasoned members of your team to focus on moving the needle.\\nSales FAQ\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nOperations\\nUse Cases\\nOperations\\nDouble the productivity of your Ops teams like IT, HR, etc.\\n\\nAutomatically Resolve Tickets\\nModern teams are leveraging AI to auto-resolve up to 50% of tickets. Whether it is an employee asking about benefits details or how to set up the VPN for remote work, Onyx can help your team help themselves. This frees up your team to do the real impactful work of landing star candidates or improving your internal processes.\\n\\nAI Aided Onboarding\\nOne of the periods where your team needs the most help is when theyre just ramping up.\", \"semantic_identifier\": \"Operations - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/more/use_cases/operations\", \"source_links\": {\"0\": \"https://docs.onyx.app/more/use_cases/operations\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nOperations\\nUse Cases\\nOperations\\nDouble the productivity of your Ops teams like IT\", \"Modern teams are leveraging AI to auto-resolve up to 50% of tickets. Whether it is an employee asking about benefits details or how to set up the VPN for remote work, Onyx can help your team help themselves. This frees up your team to do...\"]}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/enterprise_search\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nEnterprise Search\\nUse Cases\\nEnterprise Search\\nValue of Enterprise Search with Onyx\\n\\nWhat is Enterprise Search and why is it Important?\\nAn Enterprise Search system gives team members a single place to access all of the disparate knowledge of an organization. Critical information is saved across a host of channels like call transcripts with prospects, engineering design docs, IT runbooks, customer support email exchanges, project management tickets, and more. As fast moving teams scale up, information gets spread out and more disorganized.\\nSince it quickly becomes infeasible to check across every source, decisions get made on incomplete information, employee satisfaction decreases, and the most valuable members of your team are tied up with constant distractions as junior teammates are unable to unblock themselves. Onyx solves this problem by letting anyone on the team access all of the knowledge across your organization in a permissioned and secure way. Users can ask questions in natural language and get back answers and documents across all of the connected sources instantly.\\n\\nWhats the Real Cost?\\nA typical knowledge worker spends over 2 hours a week on search, but more than that, the cost of incomplete or incorrect information can be extremely high. Customer support/success that isnt able to find the reference to similar cases could cause hours or even days of delay leading to lower customer satisfaction or in the worst case - churn. An account exec not realizing that a prospect had previously mentioned a specific need could lead to lost deals. An engineer not realizing a similar feature had previously been built could result in weeks of wasted development time and tech debt with duplicate implementation. With a lack of knowledge, your whole organization is navigating in the dark - inefficient and mistake prone.\\n\\nMore than Search\\nWhen analyzing the entire corpus of knowledge within your company is as easy as asking a question in a search bar, your entire team can stay informed and up to date. Onyx also makes it trivial to identify where knowledge is well documented and where it is lacking. Team members who are centers of knowledge can begin to effectively document their expertise since it is no longer being thrown into a black hole. All of this allows the organization to achieve higher efficiency and drive business outcomes.\\nWith Generative AI, the entire user experience has evolved as well. For example, instead of just finding similar cases for your customer support team to reference, Onyx breaks down the issue and explains it so that even the most junior members can understand it.\\nThis in turn lets them give the most holistic and technically accurate response possible to your customers. On the other end, even the super stars of your sales team will not be able to review 10 hours of transcripts before hopping on that critical call, but Onyx can easily parse through it in mere seconds and give crucial context to help your team close.\\nUse Cases Overview AI Platform\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nEnterprise Search\\nUse Cases\\nEnterprise Search\\nValue of Enterprise Search with Onyx\\n\\nWhat is Enterprise Search and why is it Important?\\nAn Enterprise Search system gives team members a single place to access all of the disparate knowledge of an organization. Critical information is saved across a host of channels like call transcripts with prospects, engineering design docs, IT runbooks, customer support email exchanges, project management tickets, and more. As fast moving teams scale up, information gets spread out and more disorganized.\", \"semantic_identifier\": \"Enterprise Search - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/more/use_cases/enterprise_search\", \"source_links\": {\"0\": \"https://docs.onyx.app/more/use_cases/enterprise_search\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nEnterprise Search\\nUse Cases\\nEnterprise Search\\nValue of Enterprise Search with Onyx\\n\\nWhat is Enterprise Search and why is it Important?\\nAn Enterprise Search system gives team members a single place to access all of the disparate knowledge of an organization\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/quickstart\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nQuickstart\\nWelcome to Onyx\\nQuickstart\\nHow to deploy Onyx on your local machine\\n\\nRequirements\\n- git\\n- Docker with compose (docker version >= 1.13.0)\\n- System requirements found here\\n\\nSetup\\nThe most common source of issues is under-resourcing. Before beginning, check the system requirements here .\\n- Clone the Onyx repo:\\ngit clone https://github.com/onyx-dot-app/onyx.git\\n- Navigate to onyx/deployment/docker_compose\\ncd onyx/deployment/docker_compose\\n-\\n(Optional) configure Onyx\\n-\\nBring up your docker engine and run:\\n- To pull images from DockerHub and run Onyx:\\ndocker compose -f docker-compose.dev.yml -p onyx-stack up -d --pull always --force-recreate\\n- Alternatively, to build the containers from source and start Onyx, run:\\ndocker compose -f docker-compose.dev.yml -p onyx-stack up -d --build --force-recreate\\n- This may take 15+ minutes depending on your internet speed.\\n- Additionally, once the images have been pulled / built, the initial startup of the api_server may take some time (we download embedding models from HuggingFace to power the search). If you see This site cant be reached in your browser despite all containers being up and running, check the api_server logs and make sure you see Application startup complete .\\n- If you see Killed in the logs, you may need to increase the amount of memory given to Docker. For recommendations, check the system requirements here .\\nThese commands are also used to redeploy if any .env variables are updated\\n- Onyx will now be running on http://localhost:3000 .\\n\\nGenerative AI API Key\\nNote: On the initial visit, Onyx will prompt for an OpenAI API key.\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nQuickstart\\nWelcome to Onyx\\nQuickstart\\nHow to deploy Onyx on your local machine\\n\\nRequirements\\n- git\\n- Docker with compose (docker version >= 1.13.0)\\n- System requirements found here\\n\\nSetup\\nThe most common source of issues is under-resourcing. Before beginning, check the system requirements here .\\n- Clone the Onyx repo:\\ngit clone https://github.com/onyx-dot-app/onyx.\", \"semantic_identifier\": \"Quickstart - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/quickstart\", \"source_links\": {\"0\": \"https://docs.onyx.app/quickstart\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nQuickstart\\nWelcome to Onyx\\nQuickstart\\nHow to deploy Onyx on your local machine\\n\\nRequirements\\n- git\\n- Docker with compose (docker version >= 1.13.0)\\n- System requirements found here\\n\\nSetup\\nThe most common source of issues is under-resourcing\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/configuration_guide\", \"content\": \"onyx documentation home page search... navigation welcome to onyx configuring onyx welcome to onyx configuring onyx how to customize your deployment environment. common environment variables all of the global configuration options that are not built into the ui are set via environment variables. this page contains an exhaustive list of all the options. there are defaults set in the code so changing / settings these values\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nConfiguring Onyx\\nWelcome to Onyx\\nConfiguring Onyx\\nHow to customize your deployment environment.\\n\\nCommon Environment Variables\\nAll of the global configuration options that are not built into the UI are set via environment variables. This page contains an exhaustive list of all the options.\\nThere are defaults set in the code so changing/settings these values is not required to use Onyx.\", \"semantic_identifier\": \"Configuring Onyx - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/configuration_guide\", \"source_links\": {\"0\": \"https://docs.onyx.app/configuration_guide\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nConfiguring Onyx\\nWelcome to Onyx\\nConfiguring Onyx\\nHow to customize\", \"variables. This page contains an exhaustive list of all the options.\\nThere are defaults set in the code so changing/settings these values is not required to use Onyx. A few notable settings that are more...\"]}]}\n" -"{\"tool_name\": \"run_search\", \"tool_args\": {\"query\": \"what is onyx\"}, \"tool_result\": [{\"document_id\": \"https://docs.onyx.app/introduction\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into any LLM of your choice. Onyx can be deployed anywhere and for any scale - on a laptop, on-premise, or to cloud. Since you own the deployment, your user data and chats are fully in your own control. Onyx is MIT licensed and designed to be modular and easily extensible. The system also comes fully ready for production usage with user authentication, role management (admin/basic users), chat persistence, and a UI for configuring Personas (AI Assistants) and their Prompts.\\nOnyx also serves as a Unified Search across all common workplace tools such as Slack, Google Drive, Confluence, etc. By combining LLMs and team specific knowledge, Onyx becomes a subject matter expert for the team. Its like ChatGPT if it had access to your teams unique knowledge! It enables questions such as A customer wants feature X, is this already supported? or Wheres the pull request for feature Y?\\nOnyx can also be plugged into existing tools like Slack to get answers and AI chats directly in Slack.\\n\\nDemo\\n\\nMain Features \\n- Chat UI with the ability to select documents to chat with.\\n- Create custom AI Assistants with different prompts and backing knowledge sets.\\n- Connect Onyx with LLM of your choice (self-host for a fully airgapped solution).\\n- Document Search + AI Answers for natural language queries.\\n- Connectors to all common workplace tools like Google Drive, Confluence, Slack, etc.\\n- Slack integration to get answers and search results directly in Slack.\\n\\nUpcoming\\n- Chat/Prompt sharing with specific teammates and user groups.\\n- Multi-modal model support, chat with images, video etc.\\n- Choosing between LLMs and parameters during chat session.\\n- Tool calling and agent configurations options.\\n- Organizational understanding and ability to locate and suggest experts from your team.\\n\\nOther Noteable Benefits of Onyx\\n- User Authentication with document level access management.\\n- Best in class Hybrid Search across all sources (BM-25 + prefix aware embedding models).\\n- Admin Dashboard to configure connectors, document-sets, access, etc.\\n- Custom deep learning models + learn from user feedback.\\n- Easy deployment and ability to host Onyx anywhere of your choosing.\\nQuickstart\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into any LLM of your choice. Onyx can be deployed anywhere and for any scale - on a laptop, on-premise, or to cloud. Since you own the deployment, your user data and chats are fully in your own control. Onyx is MIT licensed and designed to be modular and easily extensible.\", \"semantic_identifier\": \"Introduction - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/introduction\", \"source_links\": {\"0\": \"https://docs.onyx.app/introduction\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into\", \"\"]}, {\"document_id\": \"https://www.onyx.app/\", \"content\": \"Help your \\u00b0\\nEng\\nSupport\\nSales\\nProduct\\nOps team\\nfind information faster\\nThe open source AI connected to your company's docs, apps, and people Book a demo\\nYour browser does not support the video tag.\\nAI Workplace Search\\nFind answers across all your teams' applications\\nYour browser does not support the video tag.\\nAI Assistant\\nCreate AI Assistants powered by your org's unique knowledge, available right where you work\\nYour browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\\nOnyx connects to all your apps\\nWorks out of the box, syncs in real time, with document level access.\\n40+ integrations available, with more being built every day.\\nBuilt for\\nEnterprise\\nIt's been great to partner and work with the Onyx team ... it's an easy to set up, intuitive product that finds natural product market fit by meeting your team where they're already collaborating.\\nTony Rios\\nDirector, Product Ops at Ramp\\nData\\nSecurity\\nRun Onyx fully air gapped in your VPC or even on-premise.\\nNo data needs to ever leave your deployment.\\nAdvanced\\nPermission\\nDocument level permissions automatically inherited from connected sources.\\nEasily create advanced access rules directly within Onyx.\\nMost\\nExtensible\\nModular, open-source, and easy to customize.\\nPlug in custom tools, processing modules, and UI elements to make Onyx work the way you need it to.\\nModel\\nAgnostic\\nChoose any model provider, or plug in your own self-hosted LLM.\\nPick the model that works for your use case, swap them at will. Control is yours.\\nInternal Search\\nThe average worker spends 9.3 hours a week looking for information. Unblock your team with GenAI.\\nCustomer Support\\nInstantly answer questions across your entire product.\\nDevelopers\\nEmpower your devs to ship with speed and confidence.\\nSales\\nClose deals faster with instant access to every customer conversation and prodpuct update.\\nWe use cookies to enhance your experience and analyze our site usage. Do you accept?\\nAccept Reject\", \"blurb\": \"Help your \\u00b0\\nEng\\nSupport\\nSales\\nProduct\\nOps team\\nfind information faster\\nThe open source AI connected to your company's docs, apps, and people Book a demo\\nYour browser does not support the video tag.\\nAI Workplace Search\\nFind answers across all your teams' applications\\nYour browser does not support the video tag.\\nAI Assistant\\nCreate AI Assistants powered by your org's unique knowledge, available right where you work\\nYour browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\", \"semantic_identifier\": \"Onyx\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://www.onyx.app/\", \"source_links\": {\"0\": \"https://www.onyx.app/\"}, \"match_highlights\": [\"\", \" browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\\nOnyx connects to all your apps\\nWorks out of the box, syncs in real time, with document level access.\\n40+ integrations available, with more being built every day.\\nBuilt for\\nEnterprise\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/system_overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking to customize the system or become an open source contributors, this is a great place to start.\\n\\nSystem Architecture\\nWhether deploying Onyx on a single instance or a container orchestration platform, the flow of data is the same. Documents are pulled and processed via connectors and then persisted in Vespa/Postgres which run in containers within your system.\\nThe only time sensitive data leaves your Onyx setup is when it makes a call to an LLM to generate an answer. The communications to the LLM are encrypted. The data persistence at the LLM API depends on the terms of the LLM hosting service you are using.\\nWe also note that Onyx has some very limited and anonymous telemetry to help us improve the system by identifying bottlenecks and flaky data connectors. You can turn off the telemetry with by setting the DISABLE_TELEMETRY env variable to True.\\n\\nEmbedding Flow\\nEach document is split into smaller sections called Chunks.\\nBy passing chunks to the LLM instead of full documents, we are able to reduce noise to the model by only passing in the relevant sections of the document. Additionally this is significantly more cost efficient as LLM services generally charge per token. Finally by embedding chunks rather than full documents, we are able to retain more detail as each vector embedding is only capable of encoding a limited amount of information.\\nThe addition of mini-chunks takes this concept even further. By embedding at different sizes, Onyx can retrieve both high level context and details. Mini-chunks can also be turned on/off via environment variables as generating multiple vectors per chunk can slow down document indexing if deployed on less capable hardware.\\nIn choosing our embedding model, we use the latest state-of-the-art biencoder that is small enough to run on CPU while maintaining subsecond document retrieval times.\\n\\nQuery Flow\\nThis flow is often updated as were constantly striving to push the capabilities of the retrieval pipeline with the most recent advancements coming out of research and the opensource community.\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking to customize the system or become an open source contributors, this is a great place to start.\\n\\nSystem Architecture\\nWhether deploying Onyx on a single instance or a container orchestration platform, the flow of data is the same.\", \"semantic_identifier\": \"System Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/system_overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/system_overview\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking...\"]}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/ai_platform\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user chat sessions, attaching custom tools, handling LLM reasoning, code execution, data analysis, referencing internal knowledge, and much more.\\nOnyx as a platform is not a no-code agent builder. We are made by developers for developers and this gives your team the full flexibility and power to create agents not constrained by blocks and simple logic paths.\\n\\nFlexibility and Extensibility\\nOnyx is open source and completely whitebox. This not only gives transparency to what happens within the system but also means that your team can directly modify the source code to suit your unique needs.\\nEnterprise Search Customer Support\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user chat sessions, attaching custom tools, handling LLM reasoning, code execution, data analysis, referencing internal knowledge, and much more.\\nOnyx as a platform is not a no-code agent builder.\", \"semantic_identifier\": \"AI Platform - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/more/use_cases/ai_platform\", \"source_links\": {\"0\": \"https://docs.onyx.app/more/use_cases/ai_platform\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user...\"]}, {\"document_id\": \"https://docs.onyx.app/tools/overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform actions (e.g. write to a database, send an email, etc.)\\n- Generate content (e.g. generate an Image, create a plot, etc.)\\nBy default, we have a three tools built-in to Onyx. These are:\\n-\\nSearchTool . This is the core of Onyx. Adding this tool to an Assistant allows it to search over the knowledge youve connected up to Onyx through Connectors . This is the only tool available to the default Onyx assistant.\\n-\\nImageGenerationTool . This leverages DALLE-3 to generate images.\\n-\\nInternetSearchTool . This uses Bing to search the internet. To enable this as an option, set the BING_API_KEY environment variable.\\nEmbedding Models Custom Tools\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform actions (e.g. write to a database, send an email, etc.)\\n- Generate content (e.g. generate an Image, create a plot, etc.)\\nBy default, we have a three tools built-in to Onyx.\", \"semantic_identifier\": \"Tools Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/tools/overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/tools/overview\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI more versatile for work by enabling new types of questions like What is the most common feature request weve heard from customers this month. Whereas other AI systems have no context of your team and are generally unhelpful with work related questions, Onyx makes it possible to ask these questions in natural language and get back answers in seconds.\\nOnyx can connect to +30 different tools and the use cases are not limited to the ones in the following pages. The highlighted use cases are for inspiration and come from feedback gathered from our users and customers.\\n\\nCommon Getting Started Questions:\\n\\nWhy are these docs connected in my Onyx deployment?\\nAnswer: This is just an example of how connectors work in Onyx. You can connect up your own teams knowledge and you will be able to ask questions unique to your organization. Onyx will keep all of the knowledge up to date and in sync with your connected applications.\\n\\nIs my data being sent anywhere when I connect it up to Onyx?\\nAnswer: No! Onyx is built with data security as our highest priority. We open sourced it so our users can know exactly what is going on with their data. By default all of the document processing happens within Onyx. The only time it is sent outward is for the GenAI call to generate answers.\\n\\nWhere is the feature for auto sync-ing document level access permissions from all connected sources?\\nAnswer: This falls under the Enterprise Edition set of Onyx features built on top of the MIT/community edition. If you are on Onyx Cloud, you have access to them by default. If youre running it yourself, reach out to the Onyx team to receive access.\\nAdvanced Curator Examples Enterprise Search\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI more versatile for work by enabling new types of questions like What is the most common feature request weve heard from customers this month. Whereas other AI systems have no context of your team and are generally unhelpful with work related questions, Onyx makes it possible to ask these questions in natural language and get back answers in seconds.\", \"semantic_identifier\": \"Use Cases Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/more/use_cases/overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/more/use_cases/overview\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/backend_apis/ingestion\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nBackend APIs\\nIngestion API\\nBackend APIs\\nIngestion API\\nIngest Arbitrary Documents\\n\\nTypical uses for the Ingestion API\\nA set of backend APIs are provided to take in and process arbitrary document data sent directly to the backend API server. This is generally used for:\\n- Creating arbitrary documents that may not exist in any actual sources but contain useful information.\\n- Programmatically passing in documents to Onyx. This is sometimes simpler than creating a connector.\\n- Editing specific documents in Onyx when the Onyx admin either does not want to or does not have permission to update the original document in the source.\\n- Supplementing existing connector functionalities. For example, passing in README file contents and attributing it to the GitHub or GitLab source type.\\n\\nExample Document Ingestion\\nThis example creates a new Document in Onyx of the Web type. This document will now show up in Onyxs search flows like any other webpage pulled in by a Web connector.\\ncurl --location 'localhost:8080/onyx-api/ingestion' \\\\ --header 'Content-Type: application/json' \\\\ --header 'Authorization: Bearer dn_qODmg9r8Nl9PR4R9GF_z1UA0smcwVIcj58Ei0zWA' \\\\ --data '{ \\\"document\\\": { \\\"id\\\": \\\"ingestion_document_1\\\", \\\"sections\\\": [ { \\\"text\\\": \\\"This is the contents of the document that will be processed and saved into the vector+keyword document index. \\\", \\\"link\\\": \\\"https://docs.onyx.app/introduction#what-is-onyx\\\" }, { \\\"text\\\": \\\"You can include multiple content sections each with their own link or combine them.\\n\\\", \\\"link\\\": \\\"https://docs.onyx.app/introduction#main-features\\\" } ], \\\"source\\\": \\\"web\\\", \\\"semantic_identifier\\\": \\\"Onyx Ingestion Example\\\", \\\"metadata\\\": { \\\"tag\\\": \\\"informational\\\", \\\"topics\\\": [\\\"onyx\\\", \\\"api\\\"] }, \\\"doc_updated_at\\\": \\\"2024-04-25T08:20:00Z\\\" }, \\\"cc_pair_id\\\": 1 }'\\nNote: The Bearer auth token is generated on server startup in Onyx MIT. There is better API Key support as part of Onyx EE.\\nSee below for a breakdown of the different fields provided:\\n- id : this is the unique ID of the document, if a document of this ID exists it will be updated/replaced. If not provided, a document ID is generated from the semantic_identifier field instead and returned in the response.\\n- sections : list of sections each containing textual content and an optional link. The document chunking tries to avoid splitting sections internally and favors splitting at section borders. Also the link of the document at query time is the link of the best matched section.\\n- source : Source type, full list can be checked by searching for DocumentSource here\\n- semantic_identifier : This is the Title of the document as shown in the UI (see image below)\\n- metadata : Used for the Tags feature which is displayed in the UI. The values can be either strings or list of strings\\n- doc_updated_at : The time that the document was last considered updated. By default there is a time based score decay around this value when the document is considered during search.\\n- cc_pair_id : This is the Connector ID seen on the Connector Status pages. For example, if running locally, it might be http://localhost:3000/admin/connector/2 . This allows attaching the ingestion doc to existing connectors so they can be assigned to groups or deleted together with the connector. If not provided or set to 1 explicitly, it is considered part of the default catch-all connector.\\nFor even more details, the code for the relevant object is found here , called DocumentBase\\n\\nChecking Ingestion Documents\\nAn API is also provided to fetch all of the documents that have been indexed via the Ingestion API\\nCustom Tools Answer with Quote\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nBackend APIs\\nIngestion API\\nBackend APIs\\nIngestion API\\nIngest Arbitrary Documents\\n\\nTypical uses for the Ingestion API\\nA set of backend APIs are provided to take in and process arbitrary document data sent directly to the backend API server. This is generally used for:\\n- Creating arbitrary documents that may not exist in any actual sources but contain useful information.\\n- Programmatically passing in documents to Onyx. This is sometimes simpler than creating a connector.\", \"semantic_identifier\": \"Ingestion API - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/backend_apis/ingestion\", \"source_links\": {\"0\": \"https://docs.onyx.app/backend_apis/ingestion\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nBackend APIs\\nIngestion API\\nBackend APIs\\nIngestion API\\nIngest Arbitrary Documents\", \"API server. This is generally used for:\\n- Creating arbitrary documents that may not exist in any actual sources but contain useful information.\\n- Programmatically passing in documents to Onyx. This is sometimes simpler than creating a connector.\\n...\"]}, {\"document_id\": \"https://docs.onyx.app/connectors/overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nConnector Overview\\nConnectors\\nConnector Overview\\nBasic Information about Connectors\\n\\nWhat are Connectors\\nConnectors hook up Onyx to your data sources so that answers are grounded in your organizations knowledge.\\n\\nConnectors help you\\n- Choose Sources so you can include only the data you want indexed.\\n- Configure Access so Onyx can securely access data with your permission.\\n- Set Up Fetching options to keep Onyxs answers up to date.\\n\\nMonitoring Connectors\\nOpen the Connectors Dashboard (accessible from the profile icon on the top right) At the top there is a Status page which shows which sources have been indexed and the status of the indexing job.\\n\\nMissing a Connector?\\nIs there a Connector that would be useful to you? Let us know via a GitHub Issues page. (Please check if the connector youre interested in is already mentioned).\\nDont forget to thumbs up the issues requesting the connectors that you would like to see built next!\\n\\nContributing a Connector\\nAs Onyx is opensource, one of the best features is that anyone can add to it! We encourage people who need new connectors to contribute it back to the Onyx repo for other people to benefit as well.\\nRefer to this README guide for how to add a new Connector.\\nContact Us Airtable Connector\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nConnector Overview\\nConnectors\\nConnector Overview\\nBasic Information about Connectors\\n\\nWhat are Connectors\\nConnectors hook up Onyx to your data sources so that answers are grounded in your organizations knowledge.\\n\\nConnectors help you\\n- Choose Sources so you can include only the data you want indexed.\\n- Configure Access so Onyx can securely access data with your permission.\\n- Set Up Fetching options to keep Onyxs answers up to date.\", \"semantic_identifier\": \"Connector Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/connectors/overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/connectors/overview\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nConnector Overview\\nConnectors\\nConnector Overview\\nBasic Information about Connectors\\n\\nWhat are Connectors\\nConnectors hook up Onyx to your data sources so that answers are grounded in your organizations knowledge.\\n\\nConnectors help you\\n- Choose Sources so you can include only the data you want indexed.\\n- Configure\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/oidc_saml\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nAuth\\nOIDC/SAML Setup\\nAuth\\nOIDC/SAML Setup\\nIntegrating Onyx with your IdP\\nAs part of the Enterprise Edition, Onyx adds support for OIDC / SAML and integrates with popular IdPs (e.g. Okta, Microsoft Entra ID, etc). We also have and will continue to add new integrations with custom, in-house IdPs on request.\\nIf this is something you are looking for, please reach to us directly and wed be happy to work with you to set this up.\\nGoogle OAuth Setup Enterprise Edition Overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nAuth\\nOIDC/SAML Setup\\nAuth\\nOIDC/SAML Setup\\nIntegrating Onyx with your IdP\\nAs part of the Enterprise Edition, Onyx adds support for OIDC / SAML and integrates with popular IdPs (e.g. Okta, Microsoft Entra ID, etc). We also have and will continue to add new integrations with custom, in-house IdPs on request.\\nIf this is something you are looking for, please reach to us directly and wed be happy to work with you to set this up.\", \"semantic_identifier\": \"OIDC/SAML Setup - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/oidc_saml\", \"source_links\": {\"0\": \"https://docs.onyx.app/oidc_saml\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nAuth\\nOIDC/SAML Setup\\nAuth\\nOIDC/SAML Setup\\nIntegrating Onyx with your IdP\\nAs part of the Enterprise Edition, Onyx adds support for OIDC / SAML and integrates with popular IdPs (e.g. Okta, Microsoft Entra ID, etc). We also have and will continue to add new integrations\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/operations\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nOperations\\nUse Cases\\nOperations\\nDouble the productivity of your Ops teams like IT, HR, etc.\\n\\nAutomatically Resolve Tickets\\nModern teams are leveraging AI to auto-resolve up to 50% of tickets. Whether it is an employee asking about benefits details or how to set up the VPN for remote work, Onyx can help your team help themselves. This frees up your team to do the real impactful work of landing star candidates or improving your internal processes.\\n\\nAI Aided Onboarding\\nOne of the periods where your team needs the most help is when theyre just ramping up. Instead of feeling lost in dozens of new tools, Onyx gives them a single place where they can ask about anything in natural language. Whether its how to set up their work environment or what their onboarding goals are, Onyx can walk them through every step with the help of Generative AI. This lets your team feel more empowered and gives time back to the more seasoned members of your team to focus on moving the needle.\\nSales FAQ\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nOperations\\nUse Cases\\nOperations\\nDouble the productivity of your Ops teams like IT, HR, etc.\\n\\nAutomatically Resolve Tickets\\nModern teams are leveraging AI to auto-resolve up to 50% of tickets. Whether it is an employee asking about benefits details or how to set up the VPN for remote work, Onyx can help your team help themselves. This frees up your team to do the real impactful work of landing star candidates or improving your internal processes.\\n\\nAI Aided Onboarding\\nOne of the periods where your team needs the most help is when theyre just ramping up.\", \"semantic_identifier\": \"Operations - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/more/use_cases/operations\", \"source_links\": {\"0\": \"https://docs.onyx.app/more/use_cases/operations\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nOperations\\nUse Cases\\nOperations\\nDouble the productivity of your Ops teams like IT\", \"Modern teams are leveraging AI to auto-resolve up to 50% of tickets. Whether it is an employee asking about benefits details or how to set up the VPN for remote work, Onyx can help your team help themselves. This frees up your team to do...\"]}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/enterprise_search\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nEnterprise Search\\nUse Cases\\nEnterprise Search\\nValue of Enterprise Search with Onyx\\n\\nWhat is Enterprise Search and why is it Important?\\nAn Enterprise Search system gives team members a single place to access all of the disparate knowledge of an organization. Critical information is saved across a host of channels like call transcripts with prospects, engineering design docs, IT runbooks, customer support email exchanges, project management tickets, and more. As fast moving teams scale up, information gets spread out and more disorganized.\\nSince it quickly becomes infeasible to check across every source, decisions get made on incomplete information, employee satisfaction decreases, and the most valuable members of your team are tied up with constant distractions as junior teammates are unable to unblock themselves. Onyx solves this problem by letting anyone on the team access all of the knowledge across your organization in a permissioned and secure way. Users can ask questions in natural language and get back answers and documents across all of the connected sources instantly.\\n\\nWhats the Real Cost?\\nA typical knowledge worker spends over 2 hours a week on search, but more than that, the cost of incomplete or incorrect information can be extremely high. Customer support/success that isnt able to find the reference to similar cases could cause hours or even days of delay leading to lower customer satisfaction or in the worst case - churn. An account exec not realizing that a prospect had previously mentioned a specific need could lead to lost deals. An engineer not realizing a similar feature had previously been built could result in weeks of wasted development time and tech debt with duplicate implementation. With a lack of knowledge, your whole organization is navigating in the dark - inefficient and mistake prone.\\n\\nMore than Search\\nWhen analyzing the entire corpus of knowledge within your company is as easy as asking a question in a search bar, your entire team can stay informed and up to date. Onyx also makes it trivial to identify where knowledge is well documented and where it is lacking. Team members who are centers of knowledge can begin to effectively document their expertise since it is no longer being thrown into a black hole. All of this allows the organization to achieve higher efficiency and drive business outcomes.\\nWith Generative AI, the entire user experience has evolved as well. For example, instead of just finding similar cases for your customer support team to reference, Onyx breaks down the issue and explains it so that even the most junior members can understand it.\\nThis in turn lets them give the most holistic and technically accurate response possible to your customers. On the other end, even the super stars of your sales team will not be able to review 10 hours of transcripts before hopping on that critical call, but Onyx can easily parse through it in mere seconds and give crucial context to help your team close.\\nUse Cases Overview AI Platform\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nEnterprise Search\\nUse Cases\\nEnterprise Search\\nValue of Enterprise Search with Onyx\\n\\nWhat is Enterprise Search and why is it Important?\\nAn Enterprise Search system gives team members a single place to access all of the disparate knowledge of an organization. Critical information is saved across a host of channels like call transcripts with prospects, engineering design docs, IT runbooks, customer support email exchanges, project management tickets, and more. As fast moving teams scale up, information gets spread out and more disorganized.\", \"semantic_identifier\": \"Enterprise Search - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/more/use_cases/enterprise_search\", \"source_links\": {\"0\": \"https://docs.onyx.app/more/use_cases/enterprise_search\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nEnterprise Search\\nUse Cases\\nEnterprise Search\\nValue of Enterprise Search with Onyx\\n\\nWhat is Enterprise Search and why is it Important?\\nAn Enterprise Search system gives team members a single place to access all of the disparate knowledge of an organization\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/quickstart\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nQuickstart\\nWelcome to Onyx\\nQuickstart\\nHow to deploy Onyx on your local machine\\n\\nRequirements\\n- git\\n- Docker with compose (docker version >= 1.13.0)\\n- System requirements found here\\n\\nSetup\\nThe most common source of issues is under-resourcing. Before beginning, check the system requirements here .\\n- Clone the Onyx repo:\\ngit clone https://github.com/onyx-dot-app/onyx.git\\n- Navigate to onyx/deployment/docker_compose\\ncd onyx/deployment/docker_compose\\n-\\n(Optional) configure Onyx\\n-\\nBring up your docker engine and run:\\n- To pull images from DockerHub and run Onyx:\\ndocker compose -f docker-compose.dev.yml -p onyx-stack up -d --pull always --force-recreate\\n- Alternatively, to build the containers from source and start Onyx, run:\\ndocker compose -f docker-compose.dev.yml -p onyx-stack up -d --build --force-recreate\\n- This may take 15+ minutes depending on your internet speed.\\n- Additionally, once the images have been pulled / built, the initial startup of the api_server may take some time (we download embedding models from HuggingFace to power the search). If you see This site cant be reached in your browser despite all containers being up and running, check the api_server logs and make sure you see Application startup complete .\\n- If you see Killed in the logs, you may need to increase the amount of memory given to Docker. For recommendations, check the system requirements here .\\nThese commands are also used to redeploy if any .env variables are updated\\n- Onyx will now be running on http://localhost:3000 .\\n\\nGenerative AI API Key\\nNote: On the initial visit, Onyx will prompt for an OpenAI API key.\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nQuickstart\\nWelcome to Onyx\\nQuickstart\\nHow to deploy Onyx on your local machine\\n\\nRequirements\\n- git\\n- Docker with compose (docker version >= 1.13.0)\\n- System requirements found here\\n\\nSetup\\nThe most common source of issues is under-resourcing. Before beginning, check the system requirements here .\\n- Clone the Onyx repo:\\ngit clone https://github.com/onyx-dot-app/onyx.\", \"semantic_identifier\": \"Quickstart - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/quickstart\", \"source_links\": {\"0\": \"https://docs.onyx.app/quickstart\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nQuickstart\\nWelcome to Onyx\\nQuickstart\\nHow to deploy Onyx on your local machine\\n\\nRequirements\\n- git\\n- Docker with compose (docker version >= 1.13.0)\\n- System requirements found here\\n\\nSetup\\nThe most common source of issues is under-resourcing\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/configuration_guide\", \"content\": \"onyx documentation home page search... navigation welcome to onyx configuring onyx welcome to onyx configuring onyx how to customize your deployment environment. common environment variables all of the global configuration options that are not built into the ui are set via environment variables. this page contains an exhaustive list of all the options. there are defaults set in the code so changing / settings these values\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nConfiguring Onyx\\nWelcome to Onyx\\nConfiguring Onyx\\nHow to customize your deployment environment.\\n\\nCommon Environment Variables\\nAll of the global configuration options that are not built into the UI are set via environment variables. This page contains an exhaustive list of all the options.\\nThere are defaults set in the code so changing/settings these values is not required to use Onyx.\", \"semantic_identifier\": \"Configuring Onyx - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/configuration_guide\", \"source_links\": {\"0\": \"https://docs.onyx.app/configuration_guide\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nConfiguring Onyx\\nWelcome to Onyx\\nConfiguring Onyx\\nHow to customize\", \"variables. This page contains an exhaustive list of all the options.\\nThere are defaults set in the code so changing/settings these values is not required to use Onyx. A few notable settings that are more...\"]}]}\n" -"{\"sub_query\": \"on\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 0}\n" -"{\"sub_query\": \"yx mineral properties\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 0}\n" -"{\"sub_query\": \"onyx gem\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 1}\n" -"{\"sub_query\": \"stone uses history\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 1}\n" -"{\"sub_query\": \"onyx software technology\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 2}\n" -"{\"sub_query\": \" products\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 2}\n" -"{\"sub_query\": \"\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 2}\n" -"{\"sub_question\": \"what\", \"level\": 0, \"level_question_nr\": 1}\n" -"{\"sub_question\": \" is the Apache Onyx software framework an\", \"level\": 0, \"level_question_nr\": 1}\n" -"{\"sub_question\": \"d its main purpose\", \"level\": 0, \"level_question_nr\": 1}\n" -"{\"sub_question\": \"what are the key components\", \"level\": 0, \"level_question_nr\": 2}\n" -"{\"sub_question\": \" and architecture of Onyx\", \"level\": 0, \"level_question_nr\": 2}\n" -"{\"sub_question\": \"what are\", \"level\": 0, \"level_question_nr\": 3}\n" -"{\"sub_question\": \" the primary use cases and applications of Onyx\", \"level\": 0, \"level_question_nr\": 3}\n" -"{\"sub_question\": \"\", \"level\": 0, \"level_question_nr\": 3}\n" -"{\"sub_question\": \"what are the advantages and features that\", \"level\": 0, \"level_question_nr\": 4}\n" -"{\"sub_question\": \" distinguish Onyx from similar distribute\", \"level\": 0, \"level_question_nr\": 4}\n" -"{\"sub_question\": \"d computing platforms\", \"level\": 0, \"level_question_nr\": 4}\n" -"{\"sub_question\": \"\", \"level\": 0, \"level_question_nr\": 4}\n" -"{\"sub_query\": \"Onyx software applications and use cases\", \"level\": 0, \"level_question_nr\": 2, \"query_id\": 0}\n" -"{\"sub_query\": \"Onyx system architecture components diagram\", \"level\": 0, \"level_question_nr\": 1, \"query_id\": 0}\n" -"{\"sub_query\": \"key\", \"level\": 0, \"level_question_nr\": 3, \"query_id\": 0}\n" -"{\"sub_query\": \"\", \"level\": 0, \"level_question_nr\": 2, \"query_id\": 0}\n" -"{\"sub_query\": \"Onyx gemstone properties and uses\", \"level\": 0, \"level_question_nr\": 2, \"query_id\": 1}\n" -"{\"sub_query\": \"\", \"level\": 0, \"level_question_nr\": 1, \"query_id\": 0}\n" -"{\"sub_query\": \"Apache\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 0}\n" -"{\"sub_query\": \"Onyx data flow and processing model\", \"level\": 0, \"level_question_nr\": 1, \"query_id\": 1}\n" -"{\"sub_query\": \"\", \"level\": 0, \"level_question_nr\": 2, \"query_id\": 1}\n" -"{\"sub_query\": \"Apache Onyx distributed computing\", \"level\": 0, \"level_question_nr\": 2, \"query_id\": 2}\n" -"{\"sub_query\": \" features and benefits of Onyx distribute\", \"level\": 0, \"level_question_nr\": 3, \"query_id\": 0}\n" -"{\"sub_query\": \" Onyx framework overview\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 0}\n" -"{\"sub_query\": \" platform features\", \"level\": 0, \"level_question_nr\": 2, \"query_id\": 2}\n" -"{\"sub_query\": \"\", \"level\": 0, \"level_question_nr\": 1, \"query_id\": 1}\n" -"{\"sub_query\": \"Onyx distributed coordination\", \"level\": 0, \"level_question_nr\": 1, \"query_id\": 2}\n" -"{\"sub_query\": \"\", \"level\": 0, \"level_question_nr\": 2, \"query_id\": 2}\n" -"{\"sub_query\": \" mechanism\", \"level\": 0, \"level_question_nr\": 1, \"query_id\": 2}\n" -"{\"sub_query\": \" architecture\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 0}\n" -"{\"sub_query\": \"d computing\", \"level\": 0, \"level_question_nr\": 3, \"query_id\": 0}\n" -"{\"sub_query\": \"Apache Onyx use\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 1}\n" -"{\"sub_query\": \"comparison between Onyx vs\", \"level\": 0, \"level_question_nr\": 3, \"query_id\": 1}\n" -"{\"sub_query\": \"\", \"level\": 0, \"level_question_nr\": 1, \"query_id\": 2}\n" -"{\"sub_query\": \" cases and applications\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 1}\n" -"{\"sub_query\": \"key\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 2}\n" -"{\"sub_query\": \" Spark Storm Flink\", \"level\": 0, \"level_question_nr\": 3, \"query_id\": 1}\n" -"{\"sub_query\": \" features and purpose of Onyx distribute\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 2}\n" -"{\"sub_query\": \"\", \"level\": 0, \"level_question_nr\": 3, \"query_id\": 1}\n" -"{\"sub_query\": \"Onyx architecture unique technical advantages\", \"level\": 0, \"level_question_nr\": 3, \"query_id\": 2}\n" -"{\"sub_query\": \"\", \"level\": 0, \"level_question_nr\": 3, \"query_id\": 2}\n" -"{\"sub_query\": \"d computing\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 2}\n" -"{\"sub_query\": \"\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 2}\n" -"{\"user_message_id\": 419, \"reserved_assistant_message_id\": 420}\n" -"{\"tool_name\": \"run_search\", \"tool_args\": {\"query\": \"what is onyx?\"}}\n" -"{\"top_documents\": [{\"document_id\": \"https://docs.onyx.app/introduction\", \"chunk_ind\": 0, \"semantic_identifier\": \"Introduction - Onyx Documentation\", \"link\": \"https://docs.onyx.app/introduction\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into any LLM of your choice. Onyx can be deployed anywhere and for any scale - on a laptop, on-premise, or to cloud. Since you own the deployment, your user data and chats are fully in your own control. Onyx is MIT licensed and designed to be modular and easily extensible.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.9026810042167634, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29699}, {\"document_id\": \"https://www.onyx.app/\", \"chunk_ind\": 0, \"semantic_identifier\": \"Onyx\", \"link\": \"https://www.onyx.app/\", \"blurb\": \"Help your \\u00b0\\nEng\\nSupport\\nSales\\nProduct\\nOps team\\nfind information faster\\nThe open source AI connected to your company's docs, apps, and people Book a demo\\nYour browser does not support the video tag.\\nAI Workplace Search\\nFind answers across all your teams' applications\\nYour browser does not support the video tag.\\nAI Assistant\\nCreate AI Assistants powered by your org's unique knowledge, available right where you work\\nYour browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.8056632521951976, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \" browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\\nOnyx connects to all your apps\\nWorks out of the box, syncs in real time, with document level access.\\n40+ integrations available, with more being built every day.\\nBuilt for\\nEnterprise\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29700}, {\"document_id\": \"https://docs.onyx.app/system_overview\", \"chunk_ind\": 0, \"semantic_identifier\": \"System Overview - Onyx Documentation\", \"link\": \"https://docs.onyx.app/system_overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking to customize the system or become an open source contributors, this is a great place to start.\\n\\nSystem Architecture\\nWhether deploying Onyx on a single instance or a container orchestration platform, the flow of data is the same.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7892747358432723, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29701}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/ai_platform\", \"chunk_ind\": 0, \"semantic_identifier\": \"AI Platform - Onyx Documentation\", \"link\": \"https://docs.onyx.app/more/use_cases/ai_platform\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user chat sessions, attaching custom tools, handling LLM reasoning, code execution, data analysis, referencing internal knowledge, and much more.\\nOnyx as a platform is not a no-code agent builder.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7639399205048066, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29702}, {\"document_id\": \"https://docs.onyx.app/tools/overview\", \"chunk_ind\": 0, \"semantic_identifier\": \"Tools Overview - Onyx Documentation\", \"link\": \"https://docs.onyx.app/tools/overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform actions (e.g. write to a database, send an email, etc.)\\n- Generate content (e.g. generate an Image, create a plot, etc.)\\nBy default, we have a three tools built-in to Onyx.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7601396596625618, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29703}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/overview\", \"chunk_ind\": 0, \"semantic_identifier\": \"Use Cases Overview - Onyx Documentation\", \"link\": \"https://docs.onyx.app/more/use_cases/overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI more versatile for work by enabling new types of questions like What is the most common feature request weve heard from customers this month. Whereas other AI systems have no context of your team and are generally unhelpful with work related questions, Onyx makes it possible to ask these questions in natural language and get back answers in seconds.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7553540483174169, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29704}, {\"document_id\": \"https://docs.onyx.app/backend_apis/ingestion\", \"chunk_ind\": 0, \"semantic_identifier\": \"Ingestion API - Onyx Documentation\", \"link\": \"https://docs.onyx.app/backend_apis/ingestion\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nBackend APIs\\nIngestion API\\nBackend APIs\\nIngestion API\\nIngest Arbitrary Documents\\n\\nTypical uses for the Ingestion API\\nA set of backend APIs are provided to take in and process arbitrary document data sent directly to the backend API server. This is generally used for:\\n- Creating arbitrary documents that may not exist in any actual sources but contain useful information.\\n- Programmatically passing in documents to Onyx. This is sometimes simpler than creating a connector.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7486567600291429, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nBackend APIs\\nIngestion API\\nBackend APIs\\nIngestion API\\nIngest Arbitrary Documents\", \"API server. This is generally used for:\\n- Creating arbitrary documents that may not exist in any actual sources but contain useful information.\\n- Programmatically passing in documents to Onyx. This is sometimes simpler than creating a connector.\\n...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29705}, {\"document_id\": \"https://docs.onyx.app/quickstart\", \"chunk_ind\": 0, \"semantic_identifier\": \"Quickstart - Onyx Documentation\", \"link\": \"https://docs.onyx.app/quickstart\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nQuickstart\\nWelcome to Onyx\\nQuickstart\\nHow to deploy Onyx on your local machine\\n\\nRequirements\\n- git\\n- Docker with compose (docker version >= 1.13.0)\\n- System requirements found here\\n\\nSetup\\nThe most common source of issues is under-resourcing. Before beginning, check the system requirements here .\\n- Clone the Onyx repo:\\ngit clone https://github.com/onyx-dot-app/onyx.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7387293203547967, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nQuickstart\\nWelcome to Onyx\\nQuickstart\\nHow to deploy Onyx on your local machine\\n\\nRequirements\\n- git\\n- Docker with compose (docker version >= 1.13.0)\\n- System requirements found here\\n\\nSetup\\nThe most common source of issues is under-resourcing\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29706}, {\"document_id\": \"https://docs.onyx.app/configuration_guide\", \"chunk_ind\": 0, \"semantic_identifier\": \"Configuring Onyx - Onyx Documentation\", \"link\": \"https://docs.onyx.app/configuration_guide\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nConfiguring Onyx\\nWelcome to Onyx\\nConfiguring Onyx\\nHow to customize your deployment environment.\\n\\nCommon Environment Variables\\nAll of the global configuration options that are not built into the UI are set via environment variables. This page contains an exhaustive list of all the options.\\nThere are defaults set in the code so changing/settings these values is not required to use Onyx.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7266591123501576, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nConfiguring Onyx\\nWelcome to Onyx\\nConfiguring Onyx\\nHow to customize\", \"variables. This page contains an exhaustive list of all the options.\\nThere are defaults set in the code so changing/settings these values is not required to use Onyx. A few notable settings that are more...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29707}, {\"document_id\": \"https://docs.onyx.app/connectors/overview\", \"chunk_ind\": 0, \"semantic_identifier\": \"Connector Overview - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nConnector Overview\\nConnectors\\nConnector Overview\\nBasic Information about Connectors\\n\\nWhat are Connectors\\nConnectors hook up Onyx to your data sources so that answers are grounded in your organizations knowledge.\\n\\nConnectors help you\\n- Choose Sources so you can include only the data you want indexed.\\n- Configure Access so Onyx can securely access data with your permission.\\n- Set Up Fetching options to keep Onyxs answers up to date.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7223411004125049, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nConnector Overview\\nConnectors\\nConnector Overview\\nBasic Information about Connectors\\n\\nWhat are Connectors\\nConnectors hook up Onyx to your data sources so that answers are grounded in your organizations knowledge.\\n\\nConnectors help you\\n- Choose Sources so you can include only the data you want indexed.\\n- Configure\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29708}, {\"document_id\": \"https://docs.onyx.app/connectors/notion\", \"chunk_ind\": 0, \"semantic_identifier\": \"Notion Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/notion\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nNotion Connector\\nConnectors\\nNotion Connector\\nAccess knowledge from your Notion workspace\\n\\nHow it works\\nThe Notion connector uses the Notion search API to fetch all pages that the connector has access to within a workspace. For follow up indexing runs, the connector only retrieves pages that have been updated since the last indexing attempt. Indexing is configured to run every 10 minutes , so page updates should appear within 10 minutes.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7203770894941635, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nNotion Connector\\nConnectors\\nNotion Connector\\nAccess knowledge from your Notion workspace\", \"since the last indexing attempt. Indexing is configured to run every 10 minutes , so page updates should appear within 10 minutes.\\n\\nSetting up\\n\\nAuthorization\\nIn order to authorize Onyx to connect to your Notion workspace, youll...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29709}, {\"document_id\": \"https://docs.onyx.app/connectors/egnyte\", \"chunk_ind\": 0, \"semantic_identifier\": \"Egnyte Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/egnyte\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nEgnyte Connector\\nConnectors\\nEgnyte Connector\\nAccess files stored in Egnyte\\n\\nHow it works\\nThe Egnyte connector pulls in files stored in Egnyte. The Egnyte connector indexes the file name, file type, and contents of the file.\\nNew files are pulled every 10 minutes.\\n\\nSetup\\n\\nConfigure your Egnyte Application + Onyx env variables\\nThis is only necessary if self-hosting Onyx. If using Onyx Cloud , you can skip this step.\\n- Create an Egnyte Application.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7196107284616616, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nEgnyte Connector\\nConnectors\\nEgnyte Connector\\nAccess files stored in \", \"connector indexes the file name, file type, and contents of the file.\\nNew files are pulled every 10 minutes.\\n\\nSetup\\n\\nConfigure your Egnyte Application + Onyx env variables\\nThis is only necessary if self-hosting Onyx. If using OnyxOnyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nOperations\\nUse Cases\\nOperations\\nDouble the productivity of your Ops teams like IT\", \"Modern teams are leveraging AI to auto-resolve up to 50% of tickets. Whether it is an employee asking about benefits details or how to set up the VPN for remote work, Onyx can help your team help themselves. This frees up your team to do...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29711}, {\"document_id\": \"https://docs.onyx.app/contact_us\", \"chunk_ind\": 0, \"semantic_identifier\": \"Contact Us - Onyx Documentation\", \"link\": \"https://docs.onyx.app/contact_us\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nContact Us\\nWelcome to Onyx\\nContact Us\\nWe would love to hear from you!\\n\\nPlease dont hesitate to reach out!\\nShoot us a message at founders@onyx.app\\nOr join our Slack or Discord\\nSystem Overview Connector Overview\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7184741232321845, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nContact Us\\nWelcome to Onyx\\nContact Us\\nWe would love to hear from you!\\n\\nPlease dont hesitate to reach out!\\nShoot us a message at founders@onyx.app\\nOr join our Slack or Discord\\nSystem Overview Connector Overview\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29712}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/enterprise_search\", \"chunk_ind\": 0, \"semantic_identifier\": \"Enterprise Search - Onyx Documentation\", \"link\": \"https://docs.onyx.app/more/use_cases/enterprise_search\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nEnterprise Search\\nUse Cases\\nEnterprise Search\\nValue of Enterprise Search with Onyx\\n\\nWhat is Enterprise Search and why is it Important?\\nAn Enterprise Search system gives team members a single place to access all of the disparate knowledge of an organization. Critical information is saved across a host of channels like call transcripts with prospects, engineering design docs, IT runbooks, customer support email exchanges, project management tickets, and more. As fast moving teams scale up, information gets spread out and more disorganized.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7180051820166152, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nEnterprise Search\\nUse Cases\\nEnterprise Search\\nValue of Enterprise Search with Onyx\\n\\nWhat is Enterprise Search and why is it Important?\\nAn Enterprise Search system gives team members a single place to access all of the disparate knowledge of an organization\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29713}, {\"document_id\": \"https://docs.onyx.app/oidc_saml\", \"chunk_ind\": 0, \"semantic_identifier\": \"OIDC/SAML Setup - Onyx Documentation\", \"link\": \"https://docs.onyx.app/oidc_saml\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nAuth\\nOIDC/SAML Setup\\nAuth\\nOIDC/SAML Setup\\nIntegrating Onyx with your IdP\\nAs part of the Enterprise Edition, Onyx adds support for OIDC / SAML and integrates with popular IdPs (e.g. Okta, Microsoft Entra ID, etc). We also have and will continue to add new integrations with custom, in-house IdPs on request.\\nIf this is something you are looking for, please reach to us directly and wed be happy to work with you to set this up.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7124074155844737, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nAuth\\nOIDC/SAML Setup\\nAuth\\nOIDC/SAML Setup\\nIntegrating Onyx with your IdP\\nAs part of the Enterprise Edition, Onyx adds support for OIDC / SAML and integrates with popular IdPs (e.g. Okta, Microsoft Entra ID, etc). We also have and will continue to add new integrations\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29714}, {\"document_id\": \"https://docs.onyx.app/multilingual_setup\", \"chunk_ind\": 0, \"semantic_identifier\": \"Multilingual Setup - Onyx Documentation\", \"link\": \"https://docs.onyx.app/multilingual_setup\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nMultilingual Setup\\nWelcome to Onyx\\nMultilingual Setup\\nHow to set up Onyx to support languages other than English\\nFor the majority of use cases, Onyx provides an easy way to configure the system for multilingual use. To skip the details and just go to setup, see the Configuration section below.\\n\\nHow it works\\nOnyx has two main flows that assume English as a default. To use Onyx in multilingual or non-english cases, these must be handled.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7101649180501938, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nMultilingual Setup\\nWelcome to Onyx\\nMultilingual Setup\\nHow to set up Onyx to support languages other than English\\nFor the majority of use cases, Onyx provides an easy way to configure the system for multilingual use. To skip the details and just go to setup\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29715}, {\"document_id\": \"https://docs.onyx.app/production/gcp\", \"chunk_ind\": 2, \"semantic_identifier\": \"Deploy on GCP - Onyx Documentation\", \"link\": \"https://docs.onyx.app/production/gcp\", \"blurb\": \"First, lets clone the repo:\\ngit clone https://github.com/onyx-dot-app/onyx.git\\nNext, lets set the necessary env variables:\\ncd onyx/deployment/docker_compose touch .env touch .env.nginx\\nIn the .env file, you can copy past the following (filling in the missing fields as needed):\\nWEB_DOMAIN= # something like \\\"onyx.app\\\" # if your email is something like \\\"chris@onyx.app\\\",\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7049414807135012, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"First, lets clone the repo:\\ngit clone https://github.com/onyx-dot-app/onyx.git\\nNext, lets set the necessary env variables:\\ncd onyx/deployment/docker_compose touch .env\", \"PASSWORD=password\\nIn the .env.nginx file, put the following:\\nDOMAIN= # something like \\\"onyx.app\\\"\\nNext, lets get our SSL certificate from letsencrypt . To do this, we can simply...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29716}, {\"document_id\": \"https://docs.onyx.app/production/azure\", \"chunk_ind\": 2, \"semantic_identifier\": \"Deploy on Azure - Onyx Documentation\", \"link\": \"https://docs.onyx.app/production/azure\", \"blurb\": \"First, lets clone the repo:\\ngit clone https://github.com/onyx-dot-app/onyx.git\\nNext, lets set the necessary env variables:\\ncd onyx/deployment/docker_compose touch .env touch .env.nginx\\nIn the .env file, you can copy past the following (filling in the missing fields as needed):\\nWEB_DOMAIN= # something like \\\"https://www.onyx.app\\\" # if your email is something like \\\"chris@onyx.app\\\",\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6997549538905291, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"First, lets clone the repo:\\ngit clone https://github.com/onyx-dot-app/onyx.git\\nNext, lets set the necessary env variables:\\ncd onyx/deployment/docker_compose touch .env\", \"PASSWORD=password\\nIn the .env.nginx file, put the following:\\nDOMAIN= # something like \\\"onyx.app\\\"\\nNext, lets get our SSL certificate from letsencrypt . To do this, we can simply...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29717}, {\"document_id\": \"https://docs.onyx.app/more/telemetry\", \"chunk_ind\": 0, \"semantic_identifier\": \"Telemetry - Onyx Documentation\", \"link\": \"https://docs.onyx.app/more/telemetry\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nMore\\nTelemetry\\nMore\\nTelemetry\\nHelp us improve Onyx\\n\\nOverview\\nThe term telemetry here refers to the collection of anonymous data that is limited in scope and for the purpose of improving the quality of a piece of software.\\nThis page describes our philosophy towards telemetry, what kind of data is collected and how to easily opt-out of all data collection.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6934285279478886, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nMore\\nTelemetry\\nMore\\nTelemetry\\nHelp us improve Onyx\\n\\nOverview\\nThe term telemetry here refers\", \"collection.\\n\\nWhy do we collect telemetry\\nAs a software that uses a combination of deep-learning models and LLMs as well as interfacing with a variety of external SaaS tools for data collection, Onyxs performance is strongly...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29718}, {\"document_id\": \"https://docs.onyx.app/tools/custom\", \"chunk_ind\": 2, \"semantic_identifier\": \"Custom Tools - Onyx Documentation\", \"link\": \"https://docs.onyx.app/tools/custom\", \"blurb\": \"\\\"prompt_ids\\\", \\\"document_set_ids\\\", \\\"tool_ids\\\" ] } } } } } } } }\\nTools Overview Ingestion API\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6929760170635282, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\\\"prompt_ids\\\", \\\"document_set_ids\\\", \\\"tool_ids\\\" ] } } } } } } } }\\nTools Overview Ingestion API\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29719}, {\"document_id\": \"https://docs.onyx.app/connectors/file\", \"chunk_ind\": 0, \"semantic_identifier\": \"File Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/file\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nFile Connector\\nConnectors\\nFile Connector\\nAccess knowledge from Local Files\\n\\nHow it works\\nThe File Connector indexes user uploaded files. Currently supports .txt , .pdf , .docx , .pptx , .xlsx , .csv , .md , .mdx , .conf , .log , .json , .tsv , .xml , .yml , .yaml , .eml , and .epub files.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.691564749916014, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nFile Connector\\nConnectors\\nFile Connector\\nAccess knowledge from Local Files\\n\\nHow\", \"there are other file types in the zip, the other file types are ignored. There is also an optional metadata line that supports links, document owners, and time updated as metadata for Onyxs retrieval and AI Answer.\\n\\nAdding Metadata\\nThe...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29720}, {\"document_id\": \"https://docs.onyx.app/google_oauth_setup\", \"chunk_ind\": 1, \"semantic_identifier\": \"Google OAuth Setup - Onyx Documentation\", \"link\": \"https://docs.onyx.app/google_oauth_setup\", \"blurb\": \"To turn the feature on set:\\n- AUTH_TYPE=google_oauth\\n- OAUTH_CLIENT_ID=\\n- OAUTH_CLIENT_SECRET=\\n- If setting up in production, then:\\n- WEB_DOMAIN=\\n\\nNon Containerized\\nSimply set the above environment variables when running the different Onyx processes.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6905121751496421, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"=\\n- OAUTH_CLIENT_SECRET=\\n- If setting up in production, then:\\n- WEB_DOMAIN=onyx.app>\\n\\nNon Containerized\\nSimply set the above environment variables when running the different Onyx processes.\\n- The backend api server uses the 3 environment variables\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29721}, {\"document_id\": \"https://docs.onyx.app/production/aws/ec2\", \"chunk_ind\": 2, \"semantic_identifier\": \"[Recommended] EC2 - Onyx Documentation\", \"link\": \"https://docs.onyx.app/production/aws/ec2\", \"blurb\": \"First, lets clone the repo:\\ngit clone https://github.com/onyx-dot-app/onyx.git\\nNext, lets set the necessary env variables:\\ncd onyx/deployment/docker_compose touch .env touch .env.nginx\\nIn the .env file, you can copy past the following (filling in the missing fields as needed):\\nWEB_DOMAIN= # something like \\\"onyx.app\\\" # if your email is something like \\\"chris@onyx.app\\\",\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.689539275345116, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"First, lets clone the repo:\\ngit clone https://github.com/onyx-dot-app/onyx.git\\nNext, lets set the necessary env variables:\\ncd onyx/deployment/docker_compose touch .env\", \"PASSWORD=password\\nIn the .env.nginx file, put the following:\\nDOMAIN= # something like \\\"onyx.app\\\"\\nNext, lets get our SSL certificate from letsencrypt . To do this, we can simply...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29722}, {\"document_id\": \"https://docs.onyx.app/enterprise_edition/permissioning\", \"chunk_ind\": 0, \"semantic_identifier\": \"Permissioning - Onyx Documentation\", \"link\": \"https://docs.onyx.app/enterprise_edition/permissioning\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nPermissioning\\nEnterprise\\nPermissioning\\nPermissions for what documents users can and cannot access in Onyx are determined by the access level set for each connector.\\n\\nConnector Access Types:\\n\\n1. Public\\n- Any user can access the documents in the connector\\n\\n2. Private\\n- All documents from connectors that are private are only accessible to users in the group(s) that the connector is attached to.\\n\\n3. Sync\\n- When one a connector is created with syncing access enabled, the permissions are inhereted from the source.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6877804231529381, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nPermissioning\\nEnterprise\\nPermissioning\\nPermissions for what documents users can and cannot access in Onyx are determined by the access level set for each connector.\\n\\nConnector Access Types:\\n\\n1. Public\\n- Any user can access the documents in the connector\\n\\n2. Private\\n- \", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29723}, {\"document_id\": \"https://docs.onyx.app/gen_ai_configs/custom_server\", \"chunk_ind\": 0, \"semantic_identifier\": \"Custom Model Server - Onyx Documentation\", \"link\": \"https://docs.onyx.app/gen_ai_configs/custom_server\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nCustom Model Server\\nGen AI Configs\\nCustom Model Server\\nConfigure Onyx to use a Custom Model Server via requests\\nOnyx can also make requests to an arbitrary model server via REST requests. Optionally an access token can be passed in. To customize the request format and handling of the response, it may be necessary to update/rebuild the Onyx containers.\\n\\nExtending Onyx to be compatible with your custom model server\\nTheres a very minimal interface to be implemented which can support any arbitrary LLM Model Server. Simply update the code here and rebuild .\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6857606266478826, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nCustom Model Server\\nGen AI Configs\\nCustom Model Server\\nConfigure Onyx to use a Custom Model Server via requests\\nOnyx can also make requests to an arbitrary model server via REST requests. Optionally an access token can be passed\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29724}, {\"document_id\": \"https://docs.onyx.app/production/aws/eks\", \"chunk_ind\": 2, \"semantic_identifier\": \"EKS - Onyx Documentation\", \"link\": \"https://docs.onyx.app/production/aws/eks\", \"blurb\": \"This can be done by running the following command:\\nkubectl patch storageclass gp2 -p '{\\\"metadata\\\": {\\\"annotations\\\":{\\\"storageclass.kubernetes.io/is-default-class\\\":\\\"true\\\"}}}' -n onyx\\nNavigate to the onyx/deployment/kubernetes directory in the repository that you have cloned down\\nAfterwards, you can run the installation of the yaml files\\nkubectl apply -f . -n onyx\\nIt may take a few minutes for the all the services to come online.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6828737023940806, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"This can be done by running the following command:\\nkubectl patch storageclass gp2 -p '{\\\"metadata\\\": {\\\"annotations\\\":{\\\"storageclass.kubernetes.io/is-default-class\\\":\\\"true\\\"}}}' -n onyx\\nNavigate to the onyx/deployment/kubernetes directory in the repository that you have cloned down\\nAfterwards, you can run the installation of the yaml files\\nkubectl apply -f . -n onyx\\n\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29725}, {\"document_id\": \"https://docs.onyx.app/production/digitalocean\", \"chunk_ind\": 2, \"semantic_identifier\": \"Deploy on Digital Ocean - Onyx Documentation\", \"link\": \"https://docs.onyx.app/production/digitalocean\", \"blurb\": \"Clone the repo:\\ngit clone https://github.com/onyx-dot-app/onyx.git\\nNext, lets set the necessary env variables:\\ncd onyx/deployment/docker_compose touch .env touch .env.nginx\\nIn the .env file, you can copy past the following (filling in the missing fields as needed):\\nWEB_DOMAIN= # something like \\\"onyx.app\\\" # if your email is something like \\\"chris@onyx.app\\\", then this should be \\\"onyx.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6804215670674466, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Clone the repo:\\ngit clone https://github.com/onyx-dot-app/onyx.git\\nNext, lets set the necessary env variables:\\ncd onyx/deployment/docker_compose touch .env touch .env\", \"POSTGRES_PASSWORD=password\\nIn the .env.nginx file, put the following:\\nDOMAIN= # something like \\\"onyx.app\\\"\\nNext, lets get our SSL certificate from letsencrypt . To do this, we can...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29726}, {\"document_id\": \"https://docs.onyx.app/guides/assistants\", \"chunk_ind\": 0, \"semantic_identifier\": \"Creating Assistants - Onyx Documentation\", \"link\": \"https://docs.onyx.app/guides/assistants\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGuides\\nCreating Assistants\\nGuides\\nCreating Assistants\\nA comprehensive guide to creating and configuring AI assistants in Onyx\\n\\nIntroduction\\nOnyx empowers you to create custom AI assistants tailored to your specific needs. These assistants can be configured to handle a wide range of tasks, from answering HR queries to assisting with technical support. This guide will walk you through the process of creating an effective assistant using Onyxs platform.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6778134408621848, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nGuides\\nCreating Assistants\\nGuides\\nCreating Assistants\\nA comprehensive guide to creating and configuring AI assistants in Onyx\\n\\nIntroduction\\nOnyx empowers you to create custom AI assistants tailored to your specific needs. These assistants can be configured to handle a wide range of tasks\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29727}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/sales\", \"chunk_ind\": 0, \"semantic_identifier\": \"Sales - Onyx Documentation\", \"link\": \"https://docs.onyx.app/more/use_cases/sales\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nSales\\nUse Cases\\nSales\\nKeep your team up to date on every conversation and update so they can close.\\n\\nRecall Every Detail\\nBeing able to instantly revisit every detail of any call without reading transcripts is helping Sales teams provide more tailored pitches, build stronger relationships, and close more deals. Instead of searching and reading through hours of transcripts in preparation for a call, your team can now ask Onyx What specific features was ACME interested in seeing for the demo.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6772539162673972, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nSales\\nUse Cases\\nSales\\nKeep your team up to date on every conversation and update so they can close.\\n\\nRecall\", \"tailored pitches, build stronger relationships, and close more deals. Instead of searching and reading through hours of transcripts in preparation for a call, your team can now ask Onyx What specific features was...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29728}, {\"document_id\": \"https://docs.onyx.app/enterprise_edition/theming\", \"chunk_ind\": 0, \"semantic_identifier\": \"Theming - Onyx Documentation\", \"link\": \"https://docs.onyx.app/enterprise_edition/theming\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nTheming\\nEnterprise\\nTheming\\nCustomize the look of Onyx\\nAs part of the Enterprise Edition, we provide the ability to easily customize the look of Onyx. This comes in two forms:\\n- Adding in your own custom application name / logo.\\n- Customizing every color in the UI.\\n\\nCustomizing the Application Name / Logo\\nTo provide your own application name / logo, you can use the Whitelabelling tab in the admin panel. Here, we provide a way to input a name of your choice, as well as an optional logo.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6735474218085831, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nTheming\\nEnterprise\\nTheming\\nCustomize the look of Onyx\\nAs part of the Enterprise Edition, we provide the ability to easily customize the look of Onyx. This comes in two forms:\\n- Adding in your own custom application name / logo.\\n- Customizing every color in the UI.\\n\\nCustomizing the Application Name / Logo\\nTo\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29729}, {\"document_id\": \"https://docs.onyx.app/gen_ai_configs/anthropic\", \"chunk_ind\": 0, \"semantic_identifier\": \"Anthropic - Onyx Documentation\", \"link\": \"https://docs.onyx.app/gen_ai_configs/anthropic\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nAnthropic\\nGen AI Configs\\nAnthropic\\nConfigure Onyx to use different Anthropic models\\nAnthropic is quite straightforward. Grab an API key from the developer platform, then put it into the API Key field and youll be good to go!\\nOpenAI Azure OpenAI\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6667452011962456, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nAnthropic\\nGen AI Configs\\nAnthropic\\nConfigure Onyx to use different Anthropic models\\nAnthropic is quite straightforward. Grab an API key from the developer platform, then put it into the API Key field and youll be good to go!\\nOpenAI Azure OpenAI\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29730}, {\"document_id\": \"https://docs.onyx.app/connectors/s3\", \"chunk_ind\": 1, \"semantic_identifier\": \"S3 Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/s3\", \"blurb\": \"Request Tracker Connector Salesforce Connector\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6649882850649935, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Request Tracker Connector Salesforce Connector\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29731}, {\"document_id\": \"https://docs.onyx.app/connectors/productboard\", \"chunk_ind\": 0, \"semantic_identifier\": \"Productboard Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/productboard\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nProductboard Connector\\nConnectors\\nProductboard Connector\\nSync knowledge from Productboard\\n\\nHow it works\\nThe Productboard connector pulls in all the Features , Components , Products , and Objectives into Onyx. At this time, the Productboard APIs does not support pulling in Releases or Notes .\\nEverything is updated every 10 minutes.\\n\\nSetting up\\n\\nAuthorization\\n- Follow the Getting a token guide here to get an Access Token.\\n\\nIndexing\\n- Navigate to the Admin Dashboard and select the Productboard Connector\\n- In Step 1 , provide your Access Token\\n- Click Connect to begin indexing\\nOracle Storage Connector R2 Connector\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6599678016427722, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nProductboard Connector\\nConnectors\\nProductboard Connector\\nSync knowledge from Productboard\\n\\nHow it works\\nThe Productboard connector pulls in all the Features , Components , Products , and Objectives into Onyx. At this time, the Productboard APIs does not support pulling in Releases or Notes .\\nEverything is updated every...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29732}, {\"document_id\": \"https://docs.onyx.app/resourcing\", \"chunk_ind\": 0, \"semantic_identifier\": \"Resourcing - Onyx Documentation\", \"link\": \"https://docs.onyx.app/resourcing\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nResourcing\\nWelcome to Onyx\\nResourcing\\nRecommended CPU / RAM / Disk to run Onyx\\n\\nRunning Locally\\nWhen running locally through Docker, we recommend making at least 4vCPU cores and 10GB of RAM available to Docker (16GB is preferred). This can be controlled in the Resources section of the Docker Desktop settings menu.\\n\\nSingle Cloud Instance\\nWe generally recommend setting everything up on a single instance (e.g. an AWS EC2 instance, a Google Compute Engine instance, an Azure VM, etc.)\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6564093617396273, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nResourcing\\nWelcome to Onyx\\nResourcing\\nRecommended CPU / RAM / Disk to run Onyx\\n\\nRunning Locally\\nWhen running locally through Docker, we recommend making at least 4vCPU cores and 10GB of RAM available to Docker (16GB is preferred). This\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29733}, {\"document_id\": \"https://docs.onyx.app/basic_auth\", \"chunk_ind\": 0, \"semantic_identifier\": \"Basic Auth Setup - Onyx Documentation\", \"link\": \"https://docs.onyx.app/basic_auth\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nAuth\\nBasic Auth Setup\\nAuth\\nBasic Auth Setup\\nHow to set up Username/Password account creation\\nBelow details how to setup Onyx with basic username/password auth. While this is the easiest way to get started, we recommend picking Google OAuth / OIDC / SAML in the long term (if possible). If you have any questions, dont hesitate to reach out to us - were more than happy to help you pick which auth approach is best for your organization.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6558830030164118, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nAuth\\nBasic Auth Setup\\nAuth\\nBasic Auth Setup\\nHow to set up Username/Password account creation\\nBelow details how to setup Onyx with basic username/password auth. While this is the easiest way to get started, we recommend picking Google OAuth / OIDC / SAML in the long term (if possible). If you have any questions\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29734}, {\"document_id\": \"https://docs.onyx.app/gen_ai_configs/ollama\", \"chunk_ind\": 0, \"semantic_identifier\": \"Ollama - Onyx Documentation\", \"link\": \"https://docs.onyx.app/gen_ai_configs/ollama\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nOllama\\nGen AI Configs\\nOllama\\nConfigure Onyx to use Ollama\\nRefer to Model Configs for how to set the environment variables for your particular deployment.\\nNote : While we support self hosted LLMs, you will get significantly better responses with a more powerful model like GPT-4.\\n\\nWhat is Ollama\\nOllama provides an easy way to host LLMs locally and to provide a REST API for the model.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6540294005964263, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nOllama\\nGen AI Configs\\nOllama\\nConfigure Onyx to use Ollama\", \"ollama\\nOnce you start a model with a command like ollama run llama2 , you can verify that the API works with a curl request:\\ncurl http://localhost:11434/api/generate -d '{ \\\"model\\\": \\\"llama2\\\", \\\"prompt\\\":\\\"Why is the sky blue?\\\" }'\\n\\nSet Onyx to use...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29735}, {\"document_id\": \"https://docs.onyx.app/connectors/discourse\", \"chunk_ind\": 0, \"semantic_identifier\": \"Discourse Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/discourse\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nDiscourse Connector\\nConnectors\\nDiscourse Connector\\nAccess knowledge from your Discourse Topics\\n\\nHow it works\\nThe Discourse connector indexes documents from your Discourse Topics .\\n\\nSetting up\\n\\nAuthorization\\n- Log into your Discourse account\\nThis Discourse user must have admin priveleges\\n- Click the Admin menu from the home page.\\n- Open the Advanced sub-menu and select API keys .\\n- Click New API Key , name it Onyx. Select All Users for User Level and Read-only for Scope .\\n- Click Save . Copy the key and put it into Onyx.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6539653699515349, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nDiscourse Connector\\nConnectors\\nDiscourse Connector\\nAccess knowledge from your Discourse\", \"user must have admin priveleges\\n- Click the Admin menu from the home page.\\n- Open the Advanced sub-menu and select API keys .\\n- Click New API Key , name it Onyx. Select All Users for User Level and Read-only for Scope .\\n- Click Save...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29736}, {\"document_id\": \"https://docs.onyx.app/slack_bot_setup\", \"chunk_ind\": 0, \"semantic_identifier\": \"Slack Bot Setup - Onyx Documentation\", \"link\": \"https://docs.onyx.app/slack_bot_setup\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSlack Bot Setup\\nWelcome to Onyx\\nSlack Bot Setup\\nHow to set up a Slack bot to automatically answer questions\\n\\nOnyxBot Introduction\\nOnyx will connect to your Slack and listen for messages to answer.\\nYou can easily configure rules for what channels Onyx should respond in, what knowledge sets should back each configured channel, and set filters to respond or not respond to different types of messages.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6533628128312725, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSlack Bot Setup\\nWelcome to Onyx\\nSlack Bot Setup\\nHow to set up a Slack bot to automatically answer questions\\n\\nOnyxBot Introduction\\nOnyx will connect to your Slack and listen for messages to answer.\\nYou can easily configure rules for what channels Onyx should respond in, what knowledge...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29737}], \"rephrased_query\": \"what is onyx?\", \"predicted_flow\": \"question-answer\", \"predicted_search\": \"semantic\", \"applied_source_filters\": null, \"applied_time_cutoff\": null, \"recency_bias_multiplier\": 0.5}\n" -"{\"top_documents\": [{\"document_id\": \"https://docs.onyx.app/more/use_cases/overview\", \"chunk_ind\": 0, \"semantic_identifier\": \"Use Cases Overview - Onyx Documentation\", \"link\": \"https://docs.onyx.app/more/use_cases/overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI more versatile for work by enabling new types of questions like What is the most common feature request weve heard from customers this month. Whereas other AI systems have no context of your team and are generally unhelpful with work related questions, Onyx makes it possible to ask these questions in natural language and get back answers in seconds.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.9411343390483015, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"ones in the following pages. The highlighted use cases are for inspiration and come from feedback gathered from our\", \":\\n\\nWhy are these docs connected in my Onyx deployment?\\nAnswer: This is just an example\", \"will keep all of the knowledge up to date and in sync with your connected applications.\\n\\nIs my data being sent anywhere when I connect it up to\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29738}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/ai_platform\", \"chunk_ind\": 0, \"semantic_identifier\": \"AI Platform - Onyx Documentation\", \"link\": \"https://docs.onyx.app/more/use_cases/ai_platform\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user chat sessions, attaching custom tools, handling LLM reasoning, code execution, data analysis, referencing internal knowledge, and much more.\\nOnyx as a platform is not a no-code agent builder.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.9169309079478825, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"make it happen. Onyx provides out of the box user chat sessions, attaching custom tools, handling LLM reasoning, code execution, data analysis, referencing internal knowledge, and much more.\\nOnyx as a platform is not a no-code agent builder. We are made by developers for developers and this gives your team the full flexibility and power to create agents not constrained...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29739}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/support\", \"chunk_ind\": 0, \"semantic_identifier\": \"Customer Support - Onyx Documentation\", \"link\": \"https://docs.onyx.app/more/use_cases/support\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nCustomer Support\\nUse Cases\\nCustomer Support\\nHelp your customer support team instantly answer any question across your entire product.\\n\\nAI Enabled Support\\nCustomer support agents have one of the highest breadth jobs. They field requests that cover the entire surface area of the product and need to help your users find success on extremely short timelines. Because theyre not the same people who designed or built the system, they often lack the depth of understanding needed - resulting in delays and escalations to other teams.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6979334202122565, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"processes into more digestible descriptions and for your team members to be able to chat back and forth with the system to build a better understanding.\\nOnyx takes care of both of these. The system connects up to over 30+ different applications and the knowledge is pulled in constantly so that the information access is always up to date.\\nAI Platform Sales\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29740}, {\"document_id\": \"https://www.onyx.app/\", \"chunk_ind\": 0, \"semantic_identifier\": \"Onyx\", \"link\": \"https://www.onyx.app/\", \"blurb\": \"Help your \\u00b0\\nEng\\nSupport\\nSales\\nProduct\\nOps team\\nfind information faster\\nThe open source AI connected to your company's docs, apps, and people Book a demo\\nYour browser does not support the video tag.\\nAI Workplace Search\\nFind answers across all your teams' applications\\nYour browser does not support the video tag.\\nAI Assistant\\nCreate AI Assistants powered by your org's unique knowledge, available right where you work\\nYour browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6633125492677818, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"customize.\\nPlug in custom tools, processing modules, and UI elements to make Onyx work the way you need it to.\\nModel\\nAgnostic\\nChoose any model provider, or plug in your own self-hosted LLM.\\nPick the model that works for your use case, swap them at will. Control is yours.\\nInternal Search\\nThe average worker spends\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29741}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/operations\", \"chunk_ind\": 0, \"semantic_identifier\": \"Operations - Onyx Documentation\", \"link\": \"https://docs.onyx.app/more/use_cases/operations\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nOperations\\nUse Cases\\nOperations\\nDouble the productivity of your Ops teams like IT, HR, etc.\\n\\nAutomatically Resolve Tickets\\nModern teams are leveraging AI to auto-resolve up to 50% of tickets. Whether it is an employee asking about benefits details or how to set up the VPN for remote work, Onyx can help your team help themselves. This frees up your team to do the real impactful work of landing star candidates or improving your internal processes.\\n\\nAI Aided Onboarding\\nOne of the periods where your team needs the most help is when theyre just ramping up.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6349084103153665, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nOperations\\nUse Cases\\nOperations\\nDouble the productivity of your Ops teams like IT, HR, etc.\\n\\nAutomatically Resolve Tickets\\nModern\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29742}, {\"document_id\": \"https://docs.onyx.app/connectors/slack\", \"chunk_ind\": 0, \"semantic_identifier\": \"Slack Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/slack\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nSlack Connector\\nConnectors\\nSlack Connector\\nAccess knowledge from your Messages\\n\\nHow it works\\nThe Slack connector indexes all public channels for a given workspace.\\n- Upcoming: Support for private channels by tagging/adding the Onyx Slack Bot to private channels.\\n\\nSetting up\\n\\nAuthorization\\n- Note: You must be an admin of the Slack workspace to set up the connector\\n- Navigate and sign in to https://api.slack.com/apps .\\n- Create a new Slack app:\\n- Click the Create New App button in the top right.\\n- Select From an app manifest option.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6007525606296972, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \" .\\n- Select the YAML tab, paste the following manifest into the text box, and click Next :\\ndisplay_information: name: OnyxConnector description: ReadOnly Connector for indexing Onyx features: bot_user: display_name: OnyxConnector always_online: false oauth_config: scopes: bot: - channels:history - channels:read - groups:history - groups:read - channels:join - im:history\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29743}, {\"document_id\": \"https://docs.onyx.app/introduction\", \"chunk_ind\": 0, \"semantic_identifier\": \"Introduction - Onyx Documentation\", \"link\": \"https://docs.onyx.app/introduction\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into any LLM of your choice. Onyx can be deployed anywhere and for any scale - on a laptop, on-premise, or to cloud. Since you own the deployment, your user data and chats are fully in your own control. Onyx is MIT licensed and designed to be modular and easily extensible.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.595929871421807, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"such as A customer wants feature X, is this already supported? or Wheres the pull request for feature Y?\\nOnyx can also be plugged into existing tools like Slack to get answers and AI chats directly in Slack.\\n\\nDemo\\n\\nMain Features \\n- Chat UI with the ability to select documents to chat with.\\n- Create custom AI Assistants\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29744}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/enterprise_search\", \"chunk_ind\": 1, \"semantic_identifier\": \"Enterprise Search - Onyx Documentation\", \"link\": \"https://docs.onyx.app/more/use_cases/enterprise_search\", \"blurb\": \"This in turn lets them give the most holistic and technically accurate response possible to your customers. On the other end, even the super stars of your sales team will not be able to review 10 hours of transcripts before hopping on that critical call, but Onyx can easily parse through it in mere seconds and give crucial context to help your team close.\\nUse Cases Overview AI Platform\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.5913912967286001, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"This in turn lets them give the most holistic and technically accurate response possible to your customers. On the other end, even the super stars of your sales team will not be able to review 10 hours of transcripts before hopping on that critical call, but Onyx can easily parse through it in mere seconds and give crucial context to help your team close.\\nUse Cases Overview AI...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29745}, {\"document_id\": \"https://docs.onyx.app/enterprise_edition/custom_analytics\", \"chunk_ind\": 0, \"semantic_identifier\": \"Bring Your Own Analytics - Onyx Documentation\", \"link\": \"https://docs.onyx.app/enterprise_edition/custom_analytics\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nBring Your Own Analytics\\nEnterprise\\nBring Your Own Analytics\\nAdd your own analytics provider to Onyx\\nAs part of the Enterprise Edition, we provide the ability to bring your own analytics provider. This allows you to get session replays, usage metrics, etc. in the platform youre alraedy familiar with.\\nTo enable this, there are a few steps:\\n- Set the CUSTOM_ANALYTICS_SECRET_KEY environment variable to some random string (e.g. 2uIfMPVgHCTD57HU ). Make sure you have the value saved temporarily somewhere.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.5701018967914655, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"Enterprise\\nBring Your Own Analytics\\nEnterprise\\nBring Your Own Analytics\\nAdd your own analytics provider to Onyx\\nAs part of the Enterprise Edition, we provide the ability to bring your own analytics provider. This allows you to get session replays, usage metrics, etc. in the platform youre alraedy familiar with.\\nTo enable this, there are a few steps:\\n- Set the...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29746}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/sales\", \"chunk_ind\": 0, \"semantic_identifier\": \"Sales - Onyx Documentation\", \"link\": \"https://docs.onyx.app/more/use_cases/sales\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nSales\\nUse Cases\\nSales\\nKeep your team up to date on every conversation and update so they can close.\\n\\nRecall Every Detail\\nBeing able to instantly revisit every detail of any call without reading transcripts is helping Sales teams provide more tailored pitches, build stronger relationships, and close more deals. Instead of searching and reading through hours of transcripts in preparation for a call, your team can now ask Onyx What specific features was ACME interested in seeing for the demo.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.557167536009615, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nSales\\nUse Cases\\nSales\\nKeep your team up to date on every conversation\", \"down the time to respond to the prospect (and as we know, time is the biggest killer of deals). With Onyx, it is even possible to get answers live on call because of how fast accessing information becomes\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29747}, {\"document_id\": \"https://docs.onyx.app/guides/assistants\", \"chunk_ind\": 1, \"semantic_identifier\": \"Creating Assistants - Onyx Documentation\", \"link\": \"https://docs.onyx.app/guides/assistants\", \"blurb\": \"If the query is unclear, ask the user for clarification before providing an answer. 7. If the query is outside your knowledge base, politely direct the user to contact the HR department.\\n\\nTesting and Refinement\\nAfter creating your assistant:\\n- Conduct test runs with various queries\\n- Gather feedback from a small group of users\\n- Use Onyxs analytics tools to identify areas for improvement\\n- Regularly update and refine your assistant based on feedback and changing needs\\n\\nSharing and Permissions\\n- Determine the appropriate access level for the assistant (e.g. specific departments,\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.5445394516635461, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"assistant based on feedback and changing needs\\n\\nSharing and Permissions\\n- Determine the appropriate access level for the assistant (e.g., specific departments, entire organization)\\n- Utilize Onyxs group features to manage access efficiently\\n- Consider creating multiple versions of an assistant for different user groups if needed\\nBy carefully configuring these elements, you\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29748}, {\"document_id\": \"https://docs.onyx.app/slack_bot_setup\", \"chunk_ind\": 1, \"semantic_identifier\": \"Slack Bot Setup - Onyx Documentation\", \"link\": \"https://docs.onyx.app/slack_bot_setup\", \"blurb\": \"should_escape: false oauth_config: scopes: bot: - app_mentions:read - channels:history - channels:join - channels:read - chat:write - commands - groups:history - groups:read - im:history - im:read - mpim:history - reactions:write - users:read.email - users:read settings: event_subscriptions: bot_events: - app_mention - message.channels - message.groups - message.im - message.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.5037336371937029, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"connection to Slack.\\n- In the app page, navigate to the OAuth & Permissions tab under the Features header.\\n- Under OAuth Tokens for Your Workspace , select Install to\", \"will be needed later to enable us to respond to messages as OnyxBot.\\n\\nSetting Onyx to use it\\nStart by finding the admin page in the top right of the Onyx web UI.\\nOn the\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29749}, {\"document_id\": \"https://docs.onyx.app/backend_apis/ingestion\", \"chunk_ind\": 0, \"semantic_identifier\": \"Ingestion API - Onyx Documentation\", \"link\": \"https://docs.onyx.app/backend_apis/ingestion\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nBackend APIs\\nIngestion API\\nBackend APIs\\nIngestion API\\nIngest Arbitrary Documents\\n\\nTypical uses for the Ingestion API\\nA set of backend APIs are provided to take in and process arbitrary document data sent directly to the backend API server. This is generally used for:\\n- Creating arbitrary documents that may not exist in any actual sources but contain useful information.\\n- Programmatically passing in documents to Onyx. This is sometimes simpler than creating a connector.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.4841536289346713, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"document data sent directly to the backend API server. This is generally used for:\\n- Creating arbitrary documents that may not exist in any\", \"useful information.\\n- Programmatically passing in documents to Onyx. This is sometimes simpler than creating a \", \"localhost:8080/onyx-api/ingestion' \\\\ --header 'Content-Type: application/json' \\\\ --header 'Authorization: Bearer...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29750}, {\"document_id\": \"https://docs.onyx.app/connectors/overview\", \"chunk_ind\": 0, \"semantic_identifier\": \"Connector Overview - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nConnector Overview\\nConnectors\\nConnector Overview\\nBasic Information about Connectors\\n\\nWhat are Connectors\\nConnectors hook up Onyx to your data sources so that answers are grounded in your organizations knowledge.\\n\\nConnectors help you\\n- Choose Sources so you can include only the data you want indexed.\\n- Configure Access so Onyx can securely access data with your permission.\\n- Set Up Fetching options to keep Onyxs answers up to date.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.4735536275600272, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"interested in is already mentioned).\\nDont forget to thumbs up the issues requesting the connectors that you would like to see built next!\\n\\nContributing a Connector\\nAs Onyx is opensource, one of the best features is that anyone can add to it! We encourage people who need new connectors to contribute it back to the Onyx repo for other people to benefit as well.\\nRefer to...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29751}, {\"document_id\": \"https://docs.onyx.app/tools/overview\", \"chunk_ind\": 0, \"semantic_identifier\": \"Tools Overview - Onyx Documentation\", \"link\": \"https://docs.onyx.app/tools/overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform actions (e.g. write to a database, send an email, etc.)\\n- Generate content (e.g. generate an Image, create a plot, etc.)\\nBy default, we have a three tools built-in to Onyx.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.4230812112828109, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29752}, {\"document_id\": \"https://docs.onyx.app/connectors/teams\", \"chunk_ind\": 0, \"semantic_identifier\": \"Teams Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/teams\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nTeams Connector\\nConnectors\\nTeams Connector\\nAccess knowledge from your Teams Posts\\n\\nHow it works\\nThe Teams connector will go through all requested sites belonging to an organization and index all the files available to that site.\\n\\nSetting up\\n\\nAuthorization\\n-\\nLog in to azure portal for your organization.\\n- This page .\\n-\\nNavigate to app registrations using the search bar.\\n-\\nClick New Registration .\\n-\\nName it something like Onyx Teams Connector, leave everything else as default, and click Register .\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.3924577594508351, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"organization.\\n- This page .\\n-\\nNavigate to app registrations using the search bar.\\n-\\nClick New Registration .\\n-\\nName it something like Onyx Teams Connector, leave everything else as default, and click Register\", \"add a permission .\\n-\\nClick Microsoft Graph , then click on Application permissions .\\n-\\nNavigate to the Team permission group and\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29753}, {\"document_id\": \"https://docs.onyx.app/oidc_saml\", \"chunk_ind\": 0, \"semantic_identifier\": \"OIDC/SAML Setup - Onyx Documentation\", \"link\": \"https://docs.onyx.app/oidc_saml\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nAuth\\nOIDC/SAML Setup\\nAuth\\nOIDC/SAML Setup\\nIntegrating Onyx with your IdP\\nAs part of the Enterprise Edition, Onyx adds support for OIDC / SAML and integrates with popular IdPs (e.g. Okta, Microsoft Entra ID, etc). We also have and will continue to add new integrations with custom, in-house IdPs on request.\\nIf this is something you are looking for, please reach to us directly and wed be happy to work with you to set this up.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.3164584509247638, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nAuth\\nOIDC/SAML Setup\\nAuth\\nOIDC/SAML Setup\\nIntegrating Onyx with your IdP\\nAs part of the Enterprise Edition, Onyx adds support for OIDC / SAML and integrates with popular IdPs (e.g. Okta, Microsoft Entra ID, etc). We also have and will continue to add new integrations\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29754}, {\"document_id\": \"https://docs.onyx.app/gen_ai_configs/custom_server\", \"chunk_ind\": 0, \"semantic_identifier\": \"Custom Model Server - Onyx Documentation\", \"link\": \"https://docs.onyx.app/gen_ai_configs/custom_server\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nCustom Model Server\\nGen AI Configs\\nCustom Model Server\\nConfigure Onyx to use a Custom Model Server via requests\\nOnyx can also make requests to an arbitrary model server via REST requests. Optionally an access token can be passed in. To customize the request format and handling of the response, it may be necessary to update/rebuild the Onyx containers.\\n\\nExtending Onyx to be compatible with your custom model server\\nTheres a very minimal interface to be implemented which can support any arbitrary LLM Model Server. Simply update the code here and rebuild .\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.3124901947536352, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nCustom Model Server\\nGen AI Configs\\nCustom Model Server\\nConfigure Onyx to use a Custom Model Server via requests\\nOnyx can also make requests to an arbitrary model server via REST requests. Optionally an access token can be passed\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29755}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/customer_support\", \"chunk_ind\": 0, \"semantic_identifier\": \"Customer Support\", \"link\": \"https://docs.onyx.app/more/use_cases/customer_support\", \"blurb\": \"Help your customer support team instantly answer any question across your entire product\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.27404749510278054, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"system to break down difficult concepts and convoluted processes into more digestible descriptions and for your team members to be able to chat back and forth with the system to build a better understanding.\\n\\nOnyx takes care of both of these. The system connects up to over 30+ different applications and the knowledge is pulled in constantly so that the information access is...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29756}], \"rephrased_query\": \"what are the primary use cases and applications of Onyx\", \"predicted_flow\": \"question-answer\", \"predicted_search\": \"keyword\", \"applied_source_filters\": null, \"applied_time_cutoff\": null, \"recency_bias_multiplier\": 0.5}\n" -"{\"llm_selected_doc_indices\": [0, 1, 2, 3, 4, 5, 7, 9, 12, 14, 15, 16, 18]}\n" -"{\"final_context_docs\": [{\"document_id\": \"https://docs.onyx.app/introduction\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into any LLM of your choice. Onyx can be deployed anywhere and for any scale - on a laptop, on-premise, or to cloud. Since you own the deployment, your user data and chats are fully in your own control. Onyx is MIT licensed and designed to be modular and easily extensible. The system also comes fully ready for production usage with user authentication, role management (admin/basic users), chat persistence, and a UI for configuring Personas (AI Assistants) and their Prompts.\\nOnyx also serves as a Unified Search across all common workplace tools such as Slack, Google Drive, Confluence, etc. By combining LLMs and team specific knowledge, Onyx becomes a subject matter expert for the team. Its like ChatGPT if it had access to your teams unique knowledge! It enables questions such as A customer wants feature X, is this already supported? or Wheres the pull request for feature Y?\\nOnyx can also be plugged into existing tools like Slack to get answers and AI chats directly in Slack.\\n\\nDemo\\n\\nMain Features \\n- Chat UI with the ability to select documents to chat with.\\n- Create custom AI Assistants with different prompts and backing knowledge sets.\\n- Connect Onyx with LLM of your choice (self-host for a fully airgapped solution).\\n- Document Search + AI Answers for natural language queries.\\n- Connectors to all common workplace tools like Google Drive, Confluence, Slack, etc.\\n- Slack integration to get answers and search results directly in Slack.\\n\\nUpcoming\\n- Chat/Prompt sharing with specific teammates and user groups.\\n- Multi-modal model support, chat with images, video etc.\\n- Choosing between LLMs and parameters during chat session.\\n- Tool calling and agent configurations options.\\n- Organizational understanding and ability to locate and suggest experts from your team.\\n\\nOther Noteable Benefits of Onyx\\n- User Authentication with document level access management.\\n- Best in class Hybrid Search across all sources (BM-25 + prefix aware embedding models).\\n- Admin Dashboard to configure connectors, document-sets, access, etc.\\n- Custom deep learning models + learn from user feedback.\\n- Easy deployment and ability to host Onyx anywhere of your choosing.\\nQuickstart\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into any LLM of your choice. Onyx can be deployed anywhere and for any scale - on a laptop, on-premise, or to cloud. Since you own the deployment, your user data and chats are fully in your own control. Onyx is MIT licensed and designed to be modular and easily extensible.\", \"semantic_identifier\": \"Introduction - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/introduction\", \"source_links\": {\"0\": \"https://docs.onyx.app/introduction\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into\", \"\"]}, {\"document_id\": \"https://www.onyx.app/\", \"content\": \"Help your \\u00b0\\nEng\\nSupport\\nSales\\nProduct\\nOps team\\nfind information faster\\nThe open source AI connected to your company's docs, apps, and people Book a demo\\nYour browser does not support the video tag.\\nAI Workplace Search\\nFind answers across all your teams' applications\\nYour browser does not support the video tag.\\nAI Assistant\\nCreate AI Assistants powered by your org's unique knowledge, available right where you work\\nYour browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\\nOnyx connects to all your apps\\nWorks out of the box, syncs in real time, with document level access.\\n40+ integrations available, with more being built every day.\\nBuilt for\\nEnterprise\\nIt's been great to partner and work with the Onyx team ... it's an easy to set up, intuitive product that finds natural product market fit by meeting your team where they're already collaborating.\\nTony Rios\\nDirector, Product Ops at Ramp\\nData\\nSecurity\\nRun Onyx fully air gapped in your VPC or even on-premise.\\nNo data needs to ever leave your deployment.\\nAdvanced\\nPermission\\nDocument level permissions automatically inherited from connected sources.\\nEasily create advanced access rules directly within Onyx.\\nMost\\nExtensible\\nModular, open-source, and easy to customize.\\nPlug in custom tools, processing modules, and UI elements to make Onyx work the way you need it to.\\nModel\\nAgnostic\\nChoose any model provider, or plug in your own self-hosted LLM.\\nPick the model that works for your use case, swap them at will. Control is yours.\\nInternal Search\\nThe average worker spends 9.3 hours a week looking for information. Unblock your team with GenAI.\\nCustomer Support\\nInstantly answer questions across your entire product.\\nDevelopers\\nEmpower your devs to ship with speed and confidence.\\nSales\\nClose deals faster with instant access to every customer conversation and prodpuct update.\\nWe use cookies to enhance your experience and analyze our site usage. Do you accept?\\nAccept Reject\", \"blurb\": \"Help your \\u00b0\\nEng\\nSupport\\nSales\\nProduct\\nOps team\\nfind information faster\\nThe open source AI connected to your company's docs, apps, and people Book a demo\\nYour browser does not support the video tag.\\nAI Workplace Search\\nFind answers across all your teams' applications\\nYour browser does not support the video tag.\\nAI Assistant\\nCreate AI Assistants powered by your org's unique knowledge, available right where you work\\nYour browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\", \"semantic_identifier\": \"Onyx\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://www.onyx.app/\", \"source_links\": {\"0\": \"https://www.onyx.app/\"}, \"match_highlights\": [\"\", \" browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\\nOnyx connects to all your apps\\nWorks out of the box, syncs in real time, with document level access.\\n40+ integrations available, with more being built every day.\\nBuilt for\\nEnterprise\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/system_overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking to customize the system or become an open source contributors, this is a great place to start.\\n\\nSystem Architecture\\nWhether deploying Onyx on a single instance or a container orchestration platform, the flow of data is the same. Documents are pulled and processed via connectors and then persisted in Vespa/Postgres which run in containers within your system.\\nThe only time sensitive data leaves your Onyx setup is when it makes a call to an LLM to generate an answer. The communications to the LLM are encrypted. The data persistence at the LLM API depends on the terms of the LLM hosting service you are using.\\nWe also note that Onyx has some very limited and anonymous telemetry to help us improve the system by identifying bottlenecks and flaky data connectors. You can turn off the telemetry with by setting the DISABLE_TELEMETRY env variable to True.\\n\\nEmbedding Flow\\nEach document is split into smaller sections called Chunks.\\nBy passing chunks to the LLM instead of full documents, we are able to reduce noise to the model by only passing in the relevant sections of the document. Additionally this is significantly more cost efficient as LLM services generally charge per token. Finally by embedding chunks rather than full documents, we are able to retain more detail as each vector embedding is only capable of encoding a limited amount of information.\\nThe addition of mini-chunks takes this concept even further. By embedding at different sizes, Onyx can retrieve both high level context and details. Mini-chunks can also be turned on/off via environment variables as generating multiple vectors per chunk can slow down document indexing if deployed on less capable hardware.\\nIn choosing our embedding model, we use the latest state-of-the-art biencoder that is small enough to run on CPU while maintaining subsecond document retrieval times.\\n\\nQuery Flow\\nThis flow is often updated as were constantly striving to push the capabilities of the retrieval pipeline with the most recent advancements coming out of research and the opensource community.\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking to customize the system or become an open source contributors, this is a great place to start.\\n\\nSystem Architecture\\nWhether deploying Onyx on a single instance or a container orchestration platform, the flow of data is the same.\", \"semantic_identifier\": \"System Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/system_overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/system_overview\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking...\"]}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/ai_platform\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user chat sessions, attaching custom tools, handling LLM reasoning, code execution, data analysis, referencing internal knowledge, and much more.\\nOnyx as a platform is not a no-code agent builder. We are made by developers for developers and this gives your team the full flexibility and power to create agents not constrained by blocks and simple logic paths.\\n\\nFlexibility and Extensibility\\nOnyx is open source and completely whitebox. This not only gives transparency to what happens within the system but also means that your team can directly modify the source code to suit your unique needs.\\nEnterprise Search Customer Support\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user chat sessions, attaching custom tools, handling LLM reasoning, code execution, data analysis, referencing internal knowledge, and much more.\\nOnyx as a platform is not a no-code agent builder.\", \"semantic_identifier\": \"AI Platform - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/more/use_cases/ai_platform\", \"source_links\": {\"0\": \"https://docs.onyx.app/more/use_cases/ai_platform\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user...\"]}, {\"document_id\": \"https://docs.onyx.app/tools/overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform actions (e.g. write to a database, send an email, etc.)\\n- Generate content (e.g. generate an Image, create a plot, etc.)\\nBy default, we have a three tools built-in to Onyx. These are:\\n-\\nSearchTool . This is the core of Onyx. Adding this tool to an Assistant allows it to search over the knowledge youve connected up to Onyx through Connectors . This is the only tool available to the default Onyx assistant.\\n-\\nImageGenerationTool . This leverages DALLE-3 to generate images.\\n-\\nInternetSearchTool . This uses Bing to search the internet. To enable this as an option, set the BING_API_KEY environment variable.\\nEmbedding Models Custom Tools\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform actions (e.g. write to a database, send an email, etc.)\\n- Generate content (e.g. generate an Image, create a plot, etc.)\\nBy default, we have a three tools built-in to Onyx.\", \"semantic_identifier\": \"Tools Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/tools/overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/tools/overview\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI more versatile for work by enabling new types of questions like What is the most common feature request weve heard from customers this month. Whereas other AI systems have no context of your team and are generally unhelpful with work related questions, Onyx makes it possible to ask these questions in natural language and get back answers in seconds.\\nOnyx can connect to +30 different tools and the use cases are not limited to the ones in the following pages. The highlighted use cases are for inspiration and come from feedback gathered from our users and customers.\\n\\nCommon Getting Started Questions:\\n\\nWhy are these docs connected in my Onyx deployment?\\nAnswer: This is just an example of how connectors work in Onyx. You can connect up your own teams knowledge and you will be able to ask questions unique to your organization. Onyx will keep all of the knowledge up to date and in sync with your connected applications.\\n\\nIs my data being sent anywhere when I connect it up to Onyx?\\nAnswer: No! Onyx is built with data security as our highest priority. We open sourced it so our users can know exactly what is going on with their data. By default all of the document processing happens within Onyx. The only time it is sent outward is for the GenAI call to generate answers.\\n\\nWhere is the feature for auto sync-ing document level access permissions from all connected sources?\\nAnswer: This falls under the Enterprise Edition set of Onyx features built on top of the MIT/community edition. If you are on Onyx Cloud, you have access to them by default. If youre running it yourself, reach out to the Onyx team to receive access.\\nAdvanced Curator Examples Enterprise Search\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI more versatile for work by enabling new types of questions like What is the most common feature request weve heard from customers this month. Whereas other AI systems have no context of your team and are generally unhelpful with work related questions, Onyx makes it possible to ask these questions in natural language and get back answers in seconds.\", \"semantic_identifier\": \"Use Cases Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/more/use_cases/overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/more/use_cases/overview\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/quickstart\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nQuickstart\\nWelcome to Onyx\\nQuickstart\\nHow to deploy Onyx on your local machine\\n\\nRequirements\\n- git\\n- Docker with compose (docker version >= 1.13.0)\\n- System requirements found here\\n\\nSetup\\nThe most common source of issues is under-resourcing. Before beginning, check the system requirements here .\\n- Clone the Onyx repo:\\ngit clone https://github.com/onyx-dot-app/onyx.git\\n- Navigate to onyx/deployment/docker_compose\\ncd onyx/deployment/docker_compose\\n-\\n(Optional) configure Onyx\\n-\\nBring up your docker engine and run:\\n- To pull images from DockerHub and run Onyx:\\ndocker compose -f docker-compose.dev.yml -p onyx-stack up -d --pull always --force-recreate\\n- Alternatively, to build the containers from source and start Onyx, run:\\ndocker compose -f docker-compose.dev.yml -p onyx-stack up -d --build --force-recreate\\n- This may take 15+ minutes depending on your internet speed.\\n- Additionally, once the images have been pulled / built, the initial startup of the api_server may take some time (we download embedding models from HuggingFace to power the search). If you see This site cant be reached in your browser despite all containers being up and running, check the api_server logs and make sure you see Application startup complete .\\n- If you see Killed in the logs, you may need to increase the amount of memory given to Docker. For recommendations, check the system requirements here .\\nThese commands are also used to redeploy if any .env variables are updated\\n- Onyx will now be running on http://localhost:3000 .\\n\\nGenerative AI API Key\\nNote: On the initial visit, Onyx will prompt for an OpenAI API key.\\nYou can get an OpenAI API key at: https://platform.openai.com/account/api-keys\\nYou can also replace OpenAI with a model provider of your choice, see here for more info\\n\\nIndexing Documents\\nThis quickstart guide will index a publicly accessible website as this requires no additional authorization setup\\n- Navigate to the top right of Onyxs home screen and select Admin Panel\\n- In the Web Connector dashboard, pick any base URL to index.\\n- This will index all pages under that base URL that is reachable from hyperlinks.\\n- You can check the indexing status page to monitor the progress.\\n- After the pages are indexed, you can now navigate back to the homepage and start asking questions and getting answers! \\n\\nShutting Down\\ndocker compose -f docker-compose.dev.yml -p onyx-stack down\\nadd -v at the end to additionally delete the volumes (containing users and indexed documents)\\nIntroduction Resourcing\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nQuickstart\\nWelcome to Onyx\\nQuickstart\\nHow to deploy Onyx on your local machine\\n\\nRequirements\\n- git\\n- Docker with compose (docker version >= 1.13.0)\\n- System requirements found here\\n\\nSetup\\nThe most common source of issues is under-resourcing. Before beginning, check the system requirements here .\\n- Clone the Onyx repo:\\ngit clone https://github.com/onyx-dot-app/onyx.\", \"semantic_identifier\": \"Quickstart - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/quickstart\", \"source_links\": {\"0\": \"https://docs.onyx.app/quickstart\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nQuickstart\\nWelcome to Onyx\\nQuickstart\\nHow to deploy Onyx on your local machine\\n\\nRequirements\\n- git\\n- Docker with compose (docker version >= 1.13.0)\\n- System requirements found here\\n\\nSetup\\nThe most common source of issues is under-resourcing\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/connectors/overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nConnector Overview\\nConnectors\\nConnector Overview\\nBasic Information about Connectors\\n\\nWhat are Connectors\\nConnectors hook up Onyx to your data sources so that answers are grounded in your organizations knowledge.\\n\\nConnectors help you\\n- Choose Sources so you can include only the data you want indexed.\\n- Configure Access so Onyx can securely access data with your permission.\\n- Set Up Fetching options to keep Onyxs answers up to date.\\n\\nMonitoring Connectors\\nOpen the Connectors Dashboard (accessible from the profile icon on the top right) At the top there is a Status page which shows which sources have been indexed and the status of the indexing job.\\n\\nMissing a Connector?\\nIs there a Connector that would be useful to you? Let us know via a GitHub Issues page. (Please check if the connector youre interested in is already mentioned).\\nDont forget to thumbs up the issues requesting the connectors that you would like to see built next!\\n\\nContributing a Connector\\nAs Onyx is opensource, one of the best features is that anyone can add to it! We encourage people who need new connectors to contribute it back to the Onyx repo for other people to benefit as well.\\nRefer to this README guide for how to add a new Connector.\\nContact Us Airtable Connector\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nConnector Overview\\nConnectors\\nConnector Overview\\nBasic Information about Connectors\\n\\nWhat are Connectors\\nConnectors hook up Onyx to your data sources so that answers are grounded in your organizations knowledge.\\n\\nConnectors help you\\n- Choose Sources so you can include only the data you want indexed.\\n- Configure Access so Onyx can securely access data with your permission.\\n- Set Up Fetching options to keep Onyxs answers up to date.\", \"semantic_identifier\": \"Connector Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/connectors/overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/connectors/overview\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nConnector Overview\\nConnectors\\nConnector Overview\\nBasic Information about Connectors\\n\\nWhat are Connectors\\nConnectors hook up Onyx to your data sources so that answers are grounded in your organizations knowledge.\\n\\nConnectors help you\\n- Choose Sources so you can include only the data you want indexed.\\n- Configure\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/operations\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nOperations\\nUse Cases\\nOperations\\nDouble the productivity of your Ops teams like IT, HR, etc.\\n\\nAutomatically Resolve Tickets\\nModern teams are leveraging AI to auto-resolve up to 50% of tickets. Whether it is an employee asking about benefits details or how to set up the VPN for remote work, Onyx can help your team help themselves. This frees up your team to do the real impactful work of landing star candidates or improving your internal processes.\\n\\nAI Aided Onboarding\\nOne of the periods where your team needs the most help is when theyre just ramping up. Instead of feeling lost in dozens of new tools, Onyx gives them a single place where they can ask about anything in natural language. Whether its how to set up their work environment or what their onboarding goals are, Onyx can walk them through every step with the help of Generative AI. This lets your team feel more empowered and gives time back to the more seasoned members of your team to focus on moving the needle.\\nSales FAQ\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nOperations\\nUse Cases\\nOperations\\nDouble the productivity of your Ops teams like IT, HR, etc.\\n\\nAutomatically Resolve Tickets\\nModern teams are leveraging AI to auto-resolve up to 50% of tickets. Whether it is an employee asking about benefits details or how to set up the VPN for remote work, Onyx can help your team help themselves. This frees up your team to do the real impactful work of landing star candidates or improving your internal processes.\\n\\nAI Aided Onboarding\\nOne of the periods where your team needs the most help is when theyre just ramping up.\", \"semantic_identifier\": \"Operations - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/more/use_cases/operations\", \"source_links\": {\"0\": \"https://docs.onyx.app/more/use_cases/operations\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nOperations\\nUse Cases\\nOperations\\nDouble the productivity of your Ops teams like IT\", \"Modern teams are leveraging AI to auto-resolve up to 50% of tickets. Whether it is an employee asking about benefits details or how to set up the VPN for remote work, Onyx can help your team help themselves. This frees up your team to do...\"]}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/enterprise_search\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nEnterprise Search\\nUse Cases\\nEnterprise Search\\nValue of Enterprise Search with Onyx\\n\\nWhat is Enterprise Search and why is it Important?\\nAn Enterprise Search system gives team members a single place to access all of the disparate knowledge of an organization. Critical information is saved across a host of channels like call transcripts with prospects, engineering design docs, IT runbooks, customer support email exchanges, project management tickets, and more. As fast moving teams scale up, information gets spread out and more disorganized.\\nSince it quickly becomes infeasible to check across every source, decisions get made on incomplete information, employee satisfaction decreases, and the most valuable members of your team are tied up with constant distractions as junior teammates are unable to unblock themselves. Onyx solves this problem by letting anyone on the team access all of the knowledge across your organization in a permissioned and secure way. Users can ask questions in natural language and get back answers and documents across all of the connected sources instantly.\\n\\nWhats the Real Cost?\\nA typical knowledge worker spends over 2 hours a week on search, but more than that, the cost of incomplete or incorrect information can be extremely high. Customer support/success that isnt able to find the reference to similar cases could cause hours or even days of delay leading to lower customer satisfaction or in the worst case - churn. An account exec not realizing that a prospect had previously mentioned a specific need could lead to lost deals. An engineer not realizing a similar feature had previously been built could result in weeks of wasted development time and tech debt with duplicate implementation. With a lack of knowledge, your whole organization is navigating in the dark - inefficient and mistake prone.\\n\\nMore than Search\\nWhen analyzing the entire corpus of knowledge within your company is as easy as asking a question in a search bar, your entire team can stay informed and up to date. Onyx also makes it trivial to identify where knowledge is well documented and where it is lacking. Team members who are centers of knowledge can begin to effectively document their expertise since it is no longer being thrown into a black hole. All of this allows the organization to achieve higher efficiency and drive business outcomes.\\nWith Generative AI, the entire user experience has evolved as well. For example, instead of just finding similar cases for your customer support team to reference, Onyx breaks down the issue and explains it so that even the most junior members can understand it.\\nThis in turn lets them give the most holistic and technically accurate response possible to your customers. On the other end, even the super stars of your sales team will not be able to review 10 hours of transcripts before hopping on that critical call, but Onyx can easily parse through it in mere seconds and give crucial context to help your team close.\\nUse Cases Overview AI Platform\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nEnterprise Search\\nUse Cases\\nEnterprise Search\\nValue of Enterprise Search with Onyx\\n\\nWhat is Enterprise Search and why is it Important?\\nAn Enterprise Search system gives team members a single place to access all of the disparate knowledge of an organization. Critical information is saved across a host of channels like call transcripts with prospects, engineering design docs, IT runbooks, customer support email exchanges, project management tickets, and more. As fast moving teams scale up, information gets spread out and more disorganized.\", \"semantic_identifier\": \"Enterprise Search - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/more/use_cases/enterprise_search\", \"source_links\": {\"0\": \"https://docs.onyx.app/more/use_cases/enterprise_search\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nEnterprise Search\\nUse Cases\\nEnterprise Search\\nValue of Enterprise Search with Onyx\\n\\nWhat is Enterprise Search and why is it Important?\\nAn Enterprise Search system gives team members a single place to access all of the disparate knowledge of an organization\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/oidc_saml\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nAuth\\nOIDC/SAML Setup\\nAuth\\nOIDC/SAML Setup\\nIntegrating Onyx with your IdP\\nAs part of the Enterprise Edition, Onyx adds support for OIDC / SAML and integrates with popular IdPs (e.g. Okta, Microsoft Entra ID, etc). We also have and will continue to add new integrations with custom, in-house IdPs on request.\\nIf this is something you are looking for, please reach to us directly and wed be happy to work with you to set this up.\\nGoogle OAuth Setup Enterprise Edition Overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nAuth\\nOIDC/SAML Setup\\nAuth\\nOIDC/SAML Setup\\nIntegrating Onyx with your IdP\\nAs part of the Enterprise Edition, Onyx adds support for OIDC / SAML and integrates with popular IdPs (e.g. Okta, Microsoft Entra ID, etc). We also have and will continue to add new integrations with custom, in-house IdPs on request.\\nIf this is something you are looking for, please reach to us directly and wed be happy to work with you to set this up.\", \"semantic_identifier\": \"OIDC/SAML Setup - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/oidc_saml\", \"source_links\": {\"0\": \"https://docs.onyx.app/oidc_saml\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nAuth\\nOIDC/SAML Setup\\nAuth\\nOIDC/SAML Setup\\nIntegrating Onyx with your IdP\\nAs part of the Enterprise Edition, Onyx adds support for OIDC / SAML and integrates with popular IdPs (e.g. Okta, Microsoft Entra ID, etc). We also have and will continue to add new integrations\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/multilingual_setup\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nMultilingual Setup\\nWelcome to Onyx\\nMultilingual Setup\\nHow to set up Onyx to support languages other than English\\nFor the majority of use cases, Onyx provides an easy way to configure the system for multilingual use. To skip the details and just go to setup, see the Configuration section below.\\n\\nHow it works\\nOnyx has two main flows that assume English as a default. To use Onyx in multilingual or non-english cases, these must be handled.\\n- The vector portion of the hybrid-search/reranking. This selects relevant documents to pass to the Large Language Model as context\\n- The prompts for the Large Language Model to instruct it on how to answer user queries.\\nTo address the first point, the English first embedding/reranking models can be swapped out for multilingual models. Additionally query expansion is applied to rephrase the user query into the target languages.\\nTo address the second point, additional instructions are given to the LLM to respect the input language and to respond in the same language as the user query.\\nNote : The Onyx LLM prompts are still in English, just with added instructions if the user configures multilingual settings (see below). If all of your documents and queries are in some other language, it will be better to simply translate all of Onyxs prompts directly to that target language. You can do so here .\\n\\nConfiguration\\nUnless you are translating the LLM prompts yourself, the configuration for multilingual can be done entirely via environment variables. For Docker Compose, simply make an .env file in onyx/deployment/docker_compose and populate it with the desired values before deploying.\\nUpdate the values below to suit your particular needs, this example shows using Onyx with both French and English. The settings below have descriptions to help you configure values according to your use case.\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nMultilingual Setup\\nWelcome to Onyx\\nMultilingual Setup\\nHow to set up Onyx to support languages other than English\\nFor the majority of use cases, Onyx provides an easy way to configure the system for multilingual use. To skip the details and just go to setup, see the Configuration section below.\\n\\nHow it works\\nOnyx has two main flows that assume English as a default. To use Onyx in multilingual or non-english cases, these must be handled.\", \"semantic_identifier\": \"Multilingual Setup - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/multilingual_setup\", \"source_links\": {\"0\": \"https://docs.onyx.app/multilingual_setup\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nMultilingual Setup\\nWelcome to Onyx\\nMultilingual Setup\\nHow to set up Onyx to support languages other than English\\nFor the majority of use cases, Onyx provides an easy way to configure the system for multilingual use. To skip the details and just go to setup\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/production/azure\", \"content\": \"first, lets clone the repo : git clone https : / / github. com / onyx - dot - app / onyx. git next, lets set the necessary env variables : cd onyx / deployment / docker _ compose touch. env touch. env. nginx in the. env file, you can copy past the following ( filling in the missing fields as needed ) : web _ domain = < your _ domain > # something like \\\" https : / / www. onyx. app \\\" # if your email is something like \\\" chris @ onyx. app \\\", then this should be \\\" onyx. app \\\" # this prevents people outside your company from creating an account valid _ email _ domains = < your _ companies _ email _ domain > auth _ type = basic # if you want to enable email verification, uncomment the following # require _ email _ verification = true # smtp _ user = < gmail _ account _ email _ you _ want _ to _ send _ verification _ emails _ with > # smtp _ pass = < gmail _ account _ pw _ you _ want _ to _ send _ verification _ emails _ with > # if you ' ve gone through the google oauth setup guide, then comment out # the above and uncomment the following # auth _ type = google _ oauth # google _ oauth _ client _ id = # google _ oauth _ client _ secret = # secret = < randomly _ generated _ uuid > # default values here are what postgres uses by default, feel free to change. postgres _ user = postgres postgres _ password = password in the. env. nginx file, put the following : domain = < your _ domain > # something like \\\" onyx\", \"blurb\": \"First, lets clone the repo:\\ngit clone https://github.com/onyx-dot-app/onyx.git\\nNext, lets set the necessary env variables:\\ncd onyx/deployment/docker_compose touch .env touch .env.nginx\\nIn the .env file, you can copy past the following (filling in the missing fields as needed):\\nWEB_DOMAIN= # something like \\\"https://www.onyx.app\\\" # if your email is something like \\\"chris@onyx.app\\\",\", \"semantic_identifier\": \"Deploy on Azure - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/production/azure\", \"source_links\": {\"0\": \"https://docs.onyx.app/production/azure\"}, \"match_highlights\": [\"First, lets clone the repo:\\ngit clone https://github.com/onyx-dot-app/onyx.git\\nNext, lets set the necessary env variables:\\ncd onyx/deployment/docker_compose touch .env\", \"PASSWORD=password\\nIn the .env.nginx file, put the following:\\nDOMAIN= # something like \\\"onyx.app\\\"\\nNext, lets get our SSL certificate from letsencrypt . To do this, we can simply...\"]}]}\n" -"{\"tool_name\": \"run_search\", \"tool_args\": {\"query\": \"what is onyx?\"}, \"tool_result\": [{\"document_id\": \"https://docs.onyx.app/introduction\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into any LLM of your choice. Onyx can be deployed anywhere and for any scale - on a laptop, on-premise, or to cloud. Since you own the deployment, your user data and chats are fully in your own control. Onyx is MIT licensed and designed to be modular and easily extensible. The system also comes fully ready for production usage with user authentication, role management (admin/basic users), chat persistence, and a UI for configuring Personas (AI Assistants) and their Prompts.\\nOnyx also serves as a Unified Search across all common workplace tools such as Slack, Google Drive, Confluence, etc. By combining LLMs and team specific knowledge, Onyx becomes a subject matter expert for the team. Its like ChatGPT if it had access to your teams unique knowledge! It enables questions such as A customer wants feature X, is this already supported? or Wheres the pull request for feature Y?\\nOnyx can also be plugged into existing tools like Slack to get answers and AI chats directly in Slack.\\n\\nDemo\\n\\nMain Features \\n- Chat UI with the ability to select documents to chat with.\\n- Create custom AI Assistants with different prompts and backing knowledge sets.\\n- Connect Onyx with LLM of your choice (self-host for a fully airgapped solution).\\n- Document Search + AI Answers for natural language queries.\\n- Connectors to all common workplace tools like Google Drive, Confluence, Slack, etc.\\n- Slack integration to get answers and search results directly in Slack.\\n\\nUpcoming\\n- Chat/Prompt sharing with specific teammates and user groups.\\n- Multi-modal model support, chat with images, video etc.\\n- Choosing between LLMs and parameters during chat session.\\n- Tool calling and agent configurations options.\\n- Organizational understanding and ability to locate and suggest experts from your team.\\n\\nOther Noteable Benefits of Onyx\\n- User Authentication with document level access management.\\n- Best in class Hybrid Search across all sources (BM-25 + prefix aware embedding models).\\n- Admin Dashboard to configure connectors, document-sets, access, etc.\\n- Custom deep learning models + learn from user feedback.\\n- Easy deployment and ability to host Onyx anywhere of your choosing.\\nQuickstart\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into any LLM of your choice. Onyx can be deployed anywhere and for any scale - on a laptop, on-premise, or to cloud. Since you own the deployment, your user data and chats are fully in your own control. Onyx is MIT licensed and designed to be modular and easily extensible.\", \"semantic_identifier\": \"Introduction - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/introduction\", \"source_links\": {\"0\": \"https://docs.onyx.app/introduction\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into\", \"\"]}, {\"document_id\": \"https://www.onyx.app/\", \"content\": \"Help your \\u00b0\\nEng\\nSupport\\nSales\\nProduct\\nOps team\\nfind information faster\\nThe open source AI connected to your company's docs, apps, and people Book a demo\\nYour browser does not support the video tag.\\nAI Workplace Search\\nFind answers across all your teams' applications\\nYour browser does not support the video tag.\\nAI Assistant\\nCreate AI Assistants powered by your org's unique knowledge, available right where you work\\nYour browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\\nOnyx connects to all your apps\\nWorks out of the box, syncs in real time, with document level access.\\n40+ integrations available, with more being built every day.\\nBuilt for\\nEnterprise\\nIt's been great to partner and work with the Onyx team ... it's an easy to set up, intuitive product that finds natural product market fit by meeting your team where they're already collaborating.\\nTony Rios\\nDirector, Product Ops at Ramp\\nData\\nSecurity\\nRun Onyx fully air gapped in your VPC or even on-premise.\\nNo data needs to ever leave your deployment.\\nAdvanced\\nPermission\\nDocument level permissions automatically inherited from connected sources.\\nEasily create advanced access rules directly within Onyx.\\nMost\\nExtensible\\nModular, open-source, and easy to customize.\\nPlug in custom tools, processing modules, and UI elements to make Onyx work the way you need it to.\\nModel\\nAgnostic\\nChoose any model provider, or plug in your own self-hosted LLM.\\nPick the model that works for your use case, swap them at will. Control is yours.\\nInternal Search\\nThe average worker spends 9.3 hours a week looking for information. Unblock your team with GenAI.\\nCustomer Support\\nInstantly answer questions across your entire product.\\nDevelopers\\nEmpower your devs to ship with speed and confidence.\\nSales\\nClose deals faster with instant access to every customer conversation and prodpuct update.\\nWe use cookies to enhance your experience and analyze our site usage. Do you accept?\\nAccept Reject\", \"blurb\": \"Help your \\u00b0\\nEng\\nSupport\\nSales\\nProduct\\nOps team\\nfind information faster\\nThe open source AI connected to your company's docs, apps, and people Book a demo\\nYour browser does not support the video tag.\\nAI Workplace Search\\nFind answers across all your teams' applications\\nYour browser does not support the video tag.\\nAI Assistant\\nCreate AI Assistants powered by your org's unique knowledge, available right where you work\\nYour browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\", \"semantic_identifier\": \"Onyx\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://www.onyx.app/\", \"source_links\": {\"0\": \"https://www.onyx.app/\"}, \"match_highlights\": [\"\", \" browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\\nOnyx connects to all your apps\\nWorks out of the box, syncs in real time, with document level access.\\n40+ integrations available, with more being built every day.\\nBuilt for\\nEnterprise\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/system_overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking to customize the system or become an open source contributors, this is a great place to start.\\n\\nSystem Architecture\\nWhether deploying Onyx on a single instance or a container orchestration platform, the flow of data is the same. Documents are pulled and processed via connectors and then persisted in Vespa/Postgres which run in containers within your system.\\nThe only time sensitive data leaves your Onyx setup is when it makes a call to an LLM to generate an answer. The communications to the LLM are encrypted. The data persistence at the LLM API depends on the terms of the LLM hosting service you are using.\\nWe also note that Onyx has some very limited and anonymous telemetry to help us improve the system by identifying bottlenecks and flaky data connectors. You can turn off the telemetry with by setting the DISABLE_TELEMETRY env variable to True.\\n\\nEmbedding Flow\\nEach document is split into smaller sections called Chunks.\\nBy passing chunks to the LLM instead of full documents, we are able to reduce noise to the model by only passing in the relevant sections of the document. Additionally this is significantly more cost efficient as LLM services generally charge per token. Finally by embedding chunks rather than full documents, we are able to retain more detail as each vector embedding is only capable of encoding a limited amount of information.\\nThe addition of mini-chunks takes this concept even further. By embedding at different sizes, Onyx can retrieve both high level context and details. Mini-chunks can also be turned on/off via environment variables as generating multiple vectors per chunk can slow down document indexing if deployed on less capable hardware.\\nIn choosing our embedding model, we use the latest state-of-the-art biencoder that is small enough to run on CPU while maintaining subsecond document retrieval times.\\n\\nQuery Flow\\nThis flow is often updated as were constantly striving to push the capabilities of the retrieval pipeline with the most recent advancements coming out of research and the opensource community.\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking to customize the system or become an open source contributors, this is a great place to start.\\n\\nSystem Architecture\\nWhether deploying Onyx on a single instance or a container orchestration platform, the flow of data is the same.\", \"semantic_identifier\": \"System Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/system_overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/system_overview\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking...\"]}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/ai_platform\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user chat sessions, attaching custom tools, handling LLM reasoning, code execution, data analysis, referencing internal knowledge, and much more.\\nOnyx as a platform is not a no-code agent builder. We are made by developers for developers and this gives your team the full flexibility and power to create agents not constrained by blocks and simple logic paths.\\n\\nFlexibility and Extensibility\\nOnyx is open source and completely whitebox. This not only gives transparency to what happens within the system but also means that your team can directly modify the source code to suit your unique needs.\\nEnterprise Search Customer Support\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user chat sessions, attaching custom tools, handling LLM reasoning, code execution, data analysis, referencing internal knowledge, and much more.\\nOnyx as a platform is not a no-code agent builder.\", \"semantic_identifier\": \"AI Platform - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/more/use_cases/ai_platform\", \"source_links\": {\"0\": \"https://docs.onyx.app/more/use_cases/ai_platform\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user...\"]}, {\"document_id\": \"https://docs.onyx.app/tools/overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform actions (e.g. write to a database, send an email, etc.)\\n- Generate content (e.g. generate an Image, create a plot, etc.)\\nBy default, we have a three tools built-in to Onyx. These are:\\n-\\nSearchTool . This is the core of Onyx. Adding this tool to an Assistant allows it to search over the knowledge youve connected up to Onyx through Connectors . This is the only tool available to the default Onyx assistant.\\n-\\nImageGenerationTool . This leverages DALLE-3 to generate images.\\n-\\nInternetSearchTool . This uses Bing to search the internet. To enable this as an option, set the BING_API_KEY environment variable.\\nEmbedding Models Custom Tools\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform actions (e.g. write to a database, send an email, etc.)\\n- Generate content (e.g. generate an Image, create a plot, etc.)\\nBy default, we have a three tools built-in to Onyx.\", \"semantic_identifier\": \"Tools Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/tools/overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/tools/overview\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI more versatile for work by enabling new types of questions like What is the most common feature request weve heard from customers this month. Whereas other AI systems have no context of your team and are generally unhelpful with work related questions, Onyx makes it possible to ask these questions in natural language and get back answers in seconds.\\nOnyx can connect to +30 different tools and the use cases are not limited to the ones in the following pages. The highlighted use cases are for inspiration and come from feedback gathered from our users and customers.\\n\\nCommon Getting Started Questions:\\n\\nWhy are these docs connected in my Onyx deployment?\\nAnswer: This is just an example of how connectors work in Onyx. You can connect up your own teams knowledge and you will be able to ask questions unique to your organization. Onyx will keep all of the knowledge up to date and in sync with your connected applications.\\n\\nIs my data being sent anywhere when I connect it up to Onyx?\\nAnswer: No! Onyx is built with data security as our highest priority. We open sourced it so our users can know exactly what is going on with their data. By default all of the document processing happens within Onyx. The only time it is sent outward is for the GenAI call to generate answers.\\n\\nWhere is the feature for auto sync-ing document level access permissions from all connected sources?\\nAnswer: This falls under the Enterprise Edition set of Onyx features built on top of the MIT/community edition. If you are on Onyx Cloud, you have access to them by default. If youre running it yourself, reach out to the Onyx team to receive access.\\nAdvanced Curator Examples Enterprise Search\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI more versatile for work by enabling new types of questions like What is the most common feature request weve heard from customers this month. Whereas other AI systems have no context of your team and are generally unhelpful with work related questions, Onyx makes it possible to ask these questions in natural language and get back answers in seconds.\", \"semantic_identifier\": \"Use Cases Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/more/use_cases/overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/more/use_cases/overview\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/quickstart\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nQuickstart\\nWelcome to Onyx\\nQuickstart\\nHow to deploy Onyx on your local machine\\n\\nRequirements\\n- git\\n- Docker with compose (docker version >= 1.13.0)\\n- System requirements found here\\n\\nSetup\\nThe most common source of issues is under-resourcing. Before beginning, check the system requirements here .\\n- Clone the Onyx repo:\\ngit clone https://github.com/onyx-dot-app/onyx.git\\n- Navigate to onyx/deployment/docker_compose\\ncd onyx/deployment/docker_compose\\n-\\n(Optional) configure Onyx\\n-\\nBring up your docker engine and run:\\n- To pull images from DockerHub and run Onyx:\\ndocker compose -f docker-compose.dev.yml -p onyx-stack up -d --pull always --force-recreate\\n- Alternatively, to build the containers from source and start Onyx, run:\\ndocker compose -f docker-compose.dev.yml -p onyx-stack up -d --build --force-recreate\\n- This may take 15+ minutes depending on your internet speed.\\n- Additionally, once the images have been pulled / built, the initial startup of the api_server may take some time (we download embedding models from HuggingFace to power the search). If you see This site cant be reached in your browser despite all containers being up and running, check the api_server logs and make sure you see Application startup complete .\\n- If you see Killed in the logs, you may need to increase the amount of memory given to Docker. For recommendations, check the system requirements here .\\nThese commands are also used to redeploy if any .env variables are updated\\n- Onyx will now be running on http://localhost:3000 .\\n\\nGenerative AI API Key\\nNote: On the initial visit, Onyx will prompt for an OpenAI API key.\\nYou can get an OpenAI API key at: https://platform.openai.com/account/api-keys\\nYou can also replace OpenAI with a model provider of your choice, see here for more info\\n\\nIndexing Documents\\nThis quickstart guide will index a publicly accessible website as this requires no additional authorization setup\\n- Navigate to the top right of Onyxs home screen and select Admin Panel\\n- In the Web Connector dashboard, pick any base URL to index.\\n- This will index all pages under that base URL that is reachable from hyperlinks.\\n- You can check the indexing status page to monitor the progress.\\n- After the pages are indexed, you can now navigate back to the homepage and start asking questions and getting answers! \\n\\nShutting Down\\ndocker compose -f docker-compose.dev.yml -p onyx-stack down\\nadd -v at the end to additionally delete the volumes (containing users and indexed documents)\\nIntroduction Resourcing\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nQuickstart\\nWelcome to Onyx\\nQuickstart\\nHow to deploy Onyx on your local machine\\n\\nRequirements\\n- git\\n- Docker with compose (docker version >= 1.13.0)\\n- System requirements found here\\n\\nSetup\\nThe most common source of issues is under-resourcing. Before beginning, check the system requirements here .\\n- Clone the Onyx repo:\\ngit clone https://github.com/onyx-dot-app/onyx.\", \"semantic_identifier\": \"Quickstart - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/quickstart\", \"source_links\": {\"0\": \"https://docs.onyx.app/quickstart\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nQuickstart\\nWelcome to Onyx\\nQuickstart\\nHow to deploy Onyx on your local machine\\n\\nRequirements\\n- git\\n- Docker with compose (docker version >= 1.13.0)\\n- System requirements found here\\n\\nSetup\\nThe most common source of issues is under-resourcing\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/connectors/overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nConnector Overview\\nConnectors\\nConnector Overview\\nBasic Information about Connectors\\n\\nWhat are Connectors\\nConnectors hook up Onyx to your data sources so that answers are grounded in your organizations knowledge.\\n\\nConnectors help you\\n- Choose Sources so you can include only the data you want indexed.\\n- Configure Access so Onyx can securely access data with your permission.\\n- Set Up Fetching options to keep Onyxs answers up to date.\\n\\nMonitoring Connectors\\nOpen the Connectors Dashboard (accessible from the profile icon on the top right) At the top there is a Status page which shows which sources have been indexed and the status of the indexing job.\\n\\nMissing a Connector?\\nIs there a Connector that would be useful to you? Let us know via a GitHub Issues page. (Please check if the connector youre interested in is already mentioned).\\nDont forget to thumbs up the issues requesting the connectors that you would like to see built next!\\n\\nContributing a Connector\\nAs Onyx is opensource, one of the best features is that anyone can add to it! We encourage people who need new connectors to contribute it back to the Onyx repo for other people to benefit as well.\\nRefer to this README guide for how to add a new Connector.\\nContact Us Airtable Connector\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nConnector Overview\\nConnectors\\nConnector Overview\\nBasic Information about Connectors\\n\\nWhat are Connectors\\nConnectors hook up Onyx to your data sources so that answers are grounded in your organizations knowledge.\\n\\nConnectors help you\\n- Choose Sources so you can include only the data you want indexed.\\n- Configure Access so Onyx can securely access data with your permission.\\n- Set Up Fetching options to keep Onyxs answers up to date.\", \"semantic_identifier\": \"Connector Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/connectors/overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/connectors/overview\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nConnector Overview\\nConnectors\\nConnector Overview\\nBasic Information about Connectors\\n\\nWhat are Connectors\\nConnectors hook up Onyx to your data sources so that answers are grounded in your organizations knowledge.\\n\\nConnectors help you\\n- Choose Sources so you can include only the data you want indexed.\\n- Configure\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/operations\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nOperations\\nUse Cases\\nOperations\\nDouble the productivity of your Ops teams like IT, HR, etc.\\n\\nAutomatically Resolve Tickets\\nModern teams are leveraging AI to auto-resolve up to 50% of tickets. Whether it is an employee asking about benefits details or how to set up the VPN for remote work, Onyx can help your team help themselves. This frees up your team to do the real impactful work of landing star candidates or improving your internal processes.\\n\\nAI Aided Onboarding\\nOne of the periods where your team needs the most help is when theyre just ramping up. Instead of feeling lost in dozens of new tools, Onyx gives them a single place where they can ask about anything in natural language. Whether its how to set up their work environment or what their onboarding goals are, Onyx can walk them through every step with the help of Generative AI. This lets your team feel more empowered and gives time back to the more seasoned members of your team to focus on moving the needle.\\nSales FAQ\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nOperations\\nUse Cases\\nOperations\\nDouble the productivity of your Ops teams like IT, HR, etc.\\n\\nAutomatically Resolve Tickets\\nModern teams are leveraging AI to auto-resolve up to 50% of tickets. Whether it is an employee asking about benefits details or how to set up the VPN for remote work, Onyx can help your team help themselves. This frees up your team to do the real impactful work of landing star candidates or improving your internal processes.\\n\\nAI Aided Onboarding\\nOne of the periods where your team needs the most help is when theyre just ramping up.\", \"semantic_identifier\": \"Operations - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/more/use_cases/operations\", \"source_links\": {\"0\": \"https://docs.onyx.app/more/use_cases/operations\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nOperations\\nUse Cases\\nOperations\\nDouble the productivity of your Ops teams like IT\", \"Modern teams are leveraging AI to auto-resolve up to 50% of tickets. Whether it is an employee asking about benefits details or how to set up the VPN for remote work, Onyx can help your team help themselves. This frees up your team to do...\"]}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/enterprise_search\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nEnterprise Search\\nUse Cases\\nEnterprise Search\\nValue of Enterprise Search with Onyx\\n\\nWhat is Enterprise Search and why is it Important?\\nAn Enterprise Search system gives team members a single place to access all of the disparate knowledge of an organization. Critical information is saved across a host of channels like call transcripts with prospects, engineering design docs, IT runbooks, customer support email exchanges, project management tickets, and more. As fast moving teams scale up, information gets spread out and more disorganized.\\nSince it quickly becomes infeasible to check across every source, decisions get made on incomplete information, employee satisfaction decreases, and the most valuable members of your team are tied up with constant distractions as junior teammates are unable to unblock themselves. Onyx solves this problem by letting anyone on the team access all of the knowledge across your organization in a permissioned and secure way. Users can ask questions in natural language and get back answers and documents across all of the connected sources instantly.\\n\\nWhats the Real Cost?\\nA typical knowledge worker spends over 2 hours a week on search, but more than that, the cost of incomplete or incorrect information can be extremely high. Customer support/success that isnt able to find the reference to similar cases could cause hours or even days of delay leading to lower customer satisfaction or in the worst case - churn. An account exec not realizing that a prospect had previously mentioned a specific need could lead to lost deals. An engineer not realizing a similar feature had previously been built could result in weeks of wasted development time and tech debt with duplicate implementation. With a lack of knowledge, your whole organization is navigating in the dark - inefficient and mistake prone.\\n\\nMore than Search\\nWhen analyzing the entire corpus of knowledge within your company is as easy as asking a question in a search bar, your entire team can stay informed and up to date. Onyx also makes it trivial to identify where knowledge is well documented and where it is lacking. Team members who are centers of knowledge can begin to effectively document their expertise since it is no longer being thrown into a black hole. All of this allows the organization to achieve higher efficiency and drive business outcomes.\\nWith Generative AI, the entire user experience has evolved as well. For example, instead of just finding similar cases for your customer support team to reference, Onyx breaks down the issue and explains it so that even the most junior members can understand it.\\nThis in turn lets them give the most holistic and technically accurate response possible to your customers. On the other end, even the super stars of your sales team will not be able to review 10 hours of transcripts before hopping on that critical call, but Onyx can easily parse through it in mere seconds and give crucial context to help your team close.\\nUse Cases Overview AI Platform\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nEnterprise Search\\nUse Cases\\nEnterprise Search\\nValue of Enterprise Search with Onyx\\n\\nWhat is Enterprise Search and why is it Important?\\nAn Enterprise Search system gives team members a single place to access all of the disparate knowledge of an organization. Critical information is saved across a host of channels like call transcripts with prospects, engineering design docs, IT runbooks, customer support email exchanges, project management tickets, and more. As fast moving teams scale up, information gets spread out and more disorganized.\", \"semantic_identifier\": \"Enterprise Search - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/more/use_cases/enterprise_search\", \"source_links\": {\"0\": \"https://docs.onyx.app/more/use_cases/enterprise_search\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nEnterprise Search\\nUse Cases\\nEnterprise Search\\nValue of Enterprise Search with Onyx\\n\\nWhat is Enterprise Search and why is it Important?\\nAn Enterprise Search system gives team members a single place to access all of the disparate knowledge of an organization\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/oidc_saml\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nAuth\\nOIDC/SAML Setup\\nAuth\\nOIDC/SAML Setup\\nIntegrating Onyx with your IdP\\nAs part of the Enterprise Edition, Onyx adds support for OIDC / SAML and integrates with popular IdPs (e.g. Okta, Microsoft Entra ID, etc). We also have and will continue to add new integrations with custom, in-house IdPs on request.\\nIf this is something you are looking for, please reach to us directly and wed be happy to work with you to set this up.\\nGoogle OAuth Setup Enterprise Edition Overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nAuth\\nOIDC/SAML Setup\\nAuth\\nOIDC/SAML Setup\\nIntegrating Onyx with your IdP\\nAs part of the Enterprise Edition, Onyx adds support for OIDC / SAML and integrates with popular IdPs (e.g. Okta, Microsoft Entra ID, etc). We also have and will continue to add new integrations with custom, in-house IdPs on request.\\nIf this is something you are looking for, please reach to us directly and wed be happy to work with you to set this up.\", \"semantic_identifier\": \"OIDC/SAML Setup - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/oidc_saml\", \"source_links\": {\"0\": \"https://docs.onyx.app/oidc_saml\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nAuth\\nOIDC/SAML Setup\\nAuth\\nOIDC/SAML Setup\\nIntegrating Onyx with your IdP\\nAs part of the Enterprise Edition, Onyx adds support for OIDC / SAML and integrates with popular IdPs (e.g. Okta, Microsoft Entra ID, etc). We also have and will continue to add new integrations\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/multilingual_setup\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nMultilingual Setup\\nWelcome to Onyx\\nMultilingual Setup\\nHow to set up Onyx to support languages other than English\\nFor the majority of use cases, Onyx provides an easy way to configure the system for multilingual use. To skip the details and just go to setup, see the Configuration section below.\\n\\nHow it works\\nOnyx has two main flows that assume English as a default. To use Onyx in multilingual or non-english cases, these must be handled.\\n- The vector portion of the hybrid-search/reranking. This selects relevant documents to pass to the Large Language Model as context\\n- The prompts for the Large Language Model to instruct it on how to answer user queries.\\nTo address the first point, the English first embedding/reranking models can be swapped out for multilingual models. Additionally query expansion is applied to rephrase the user query into the target languages.\\nTo address the second point, additional instructions are given to the LLM to respect the input language and to respond in the same language as the user query.\\nNote : The Onyx LLM prompts are still in English, just with added instructions if the user configures multilingual settings (see below). If all of your documents and queries are in some other language, it will be better to simply translate all of Onyxs prompts directly to that target language. You can do so here .\\n\\nConfiguration\\nUnless you are translating the LLM prompts yourself, the configuration for multilingual can be done entirely via environment variables. For Docker Compose, simply make an .env file in onyx/deployment/docker_compose and populate it with the desired values before deploying.\\nUpdate the values below to suit your particular needs, this example shows using Onyx with both French and English. The settings below have descriptions to help you configure values according to your use case.\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nMultilingual Setup\\nWelcome to Onyx\\nMultilingual Setup\\nHow to set up Onyx to support languages other than English\\nFor the majority of use cases, Onyx provides an easy way to configure the system for multilingual use. To skip the details and just go to setup, see the Configuration section below.\\n\\nHow it works\\nOnyx has two main flows that assume English as a default. To use Onyx in multilingual or non-english cases, these must be handled.\", \"semantic_identifier\": \"Multilingual Setup - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/multilingual_setup\", \"source_links\": {\"0\": \"https://docs.onyx.app/multilingual_setup\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nMultilingual Setup\\nWelcome to Onyx\\nMultilingual Setup\\nHow to set up Onyx to support languages other than English\\nFor the majority of use cases, Onyx provides an easy way to configure the system for multilingual use. To skip the details and just go to setup\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/production/azure\", \"content\": \"first, lets clone the repo : git clone https : / / github. com / onyx - dot - app / onyx. git next, lets set the necessary env variables : cd onyx / deployment / docker _ compose touch. env touch. env. nginx in the. env file, you can copy past the following ( filling in the missing fields as needed ) : web _ domain = < your _ domain > # something like \\\" https : / / www. onyx. app \\\" # if your email is something like \\\" chris @ onyx. app \\\", then this should be \\\" onyx. app \\\" # this prevents people outside your company from creating an account valid _ email _ domains = < your _ companies _ email _ domain > auth _ type = basic # if you want to enable email verification, uncomment the following # require _ email _ verification = true # smtp _ user = < gmail _ account _ email _ you _ want _ to _ send _ verification _ emails _ with > # smtp _ pass = < gmail _ account _ pw _ you _ want _ to _ send _ verification _ emails _ with > # if you ' ve gone through the google oauth setup guide, then comment out # the above and uncomment the following # auth _ type = google _ oauth # google _ oauth _ client _ id = # google _ oauth _ client _ secret = # secret = < randomly _ generated _ uuid > # default values here are what postgres uses by default, feel free to change. postgres _ user = postgres postgres _ password = password in the. env. nginx file, put the following : domain = < your _ domain > # something like \\\" onyx\", \"blurb\": \"First, lets clone the repo:\\ngit clone https://github.com/onyx-dot-app/onyx.git\\nNext, lets set the necessary env variables:\\ncd onyx/deployment/docker_compose touch .env touch .env.nginx\\nIn the .env file, you can copy past the following (filling in the missing fields as needed):\\nWEB_DOMAIN= # something like \\\"https://www.onyx.app\\\" # if your email is something like \\\"chris@onyx.app\\\",\", \"semantic_identifier\": \"Deploy on Azure - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/production/azure\", \"source_links\": {\"0\": \"https://docs.onyx.app/production/azure\"}, \"match_highlights\": [\"First, lets clone the repo:\\ngit clone https://github.com/onyx-dot-app/onyx.git\\nNext, lets set the necessary env variables:\\ncd onyx/deployment/docker_compose touch .env\", \"PASSWORD=password\\nIn the .env.nginx file, put the following:\\nDOMAIN= # something like \\\"onyx.app\\\"\\nNext, lets get our SSL certificate from letsencrypt . To do this, we can simply...\"]}]}\n" -"{\"sub_query\": \"on\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 0}\n" -"{\"sub_query\": \"yx mineral properties\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 0}\n" -"{\"sub_query\": \"onyx gem\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 1}\n" -"{\"sub_query\": \"stone uses history\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 1}\n" -"{\"sub_query\": \"onyx software\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 2}\n" -"{\"sub_query\": \" technology products\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 2}\n" -"{\"sub_query\": \"\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 2}\n" -"{\"sub_question\": \"Since\", \"level\": 0, \"level_question_nr\": 1}\n" -"{\"sub_question\": \" \\\"onyx\\\" could refer to multiple\", \"level\": 0, \"level_question_nr\": 1}\n" -"{\"sub_question\": \" aspects of the material/stone\", \"level\": 0, \"level_question_nr\": 1}\n" -"{\"sub_question\": \", here's a helpful\", \"level\": 0, \"level_question_nr\": 1}\n" -"{\"sub_question\": \" decomposition:\", \"level\": 0, \"level_question_nr\": 1}\n" -"{\"sub_question\": \"\", \"level\": 0, \"level_question_nr\": 2}\n" -"{\"sub_question\": \"What is the physical\", \"level\": 0, \"level_question_nr\": 3}\n" -"{\"sub_question\": \" composition and properties of onyx?\", \"level\": 0, \"level_question_nr\": 3}\n" -"{\"sub_question\": \"\", \"level\": 0, \"level_question_nr\": 3}\n" -"{\"sub_question\": \"What are the common uses and applications of on\", \"level\": 0, \"level_question_nr\": 4}\n" -"{\"sub_question\": \"yx?\", \"level\": 0, \"level_question_nr\": 4}\n" -"{\"sub_question\": \"What are\", \"level\": 0, \"level_question_nr\": 5}\n" -"{\"sub_question\": \" the different varieties and colors of onyx?\", \"level\": 0, \"level_question_nr\": 5}\n" -"{\"sub_question\": \"\", \"level\": 0, \"level_question_nr\": 5}\n" -"{\"sub_question\": \"What is the historical an\", \"level\": 0, \"level_question_nr\": 6}\n" -"{\"sub_question\": \"d cultural significance of onyx?\", \"level\": 0, \"level_question_nr\": 6}\n" -"{\"sub_question\": \"\", \"level\": 0, \"level_question_nr\": 6}\n" -"{\"user_message_id\": 422, \"reserved_assistant_message_id\": 423}\n" -"{\"tool_name\": \"run_search\", \"tool_args\": {\"query\": \"what is Onyx I, II, III, and IV?\"}}\n" -"{\"top_documents\": [{\"document_id\": \"https://docs.onyx.app/introduction\", \"chunk_ind\": 0, \"semantic_identifier\": \"Introduction - Onyx Documentation\", \"link\": \"https://docs.onyx.app/introduction\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into any LLM of your choice. Onyx can be deployed anywhere and for any scale - on a laptop, on-premise, or to cloud. Since you own the deployment, your user data and chats are fully in your own control. Onyx is MIT licensed and designed to be modular and easily extensible.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.9055506087995184, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29757}, {\"document_id\": \"https://www.onyx.app/\", \"chunk_ind\": 0, \"semantic_identifier\": \"Onyx\", \"link\": \"https://www.onyx.app/\", \"blurb\": \"Help your \\u00b0\\nEng\\nSupport\\nSales\\nProduct\\nOps team\\nfind information faster\\nThe open source AI connected to your company's docs, apps, and people Book a demo\\nYour browser does not support the video tag.\\nAI Workplace Search\\nFind answers across all your teams' applications\\nYour browser does not support the video tag.\\nAI Assistant\\nCreate AI Assistants powered by your org's unique knowledge, available right where you work\\nYour browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.8305044055088497, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \" browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\\nOnyx connects to all your apps\\nWorks out of the box, syncs in real time, with document level access.\\n40+ integrations available, with more being built every day.\\nBuilt for\\nEnterprise\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29758}, {\"document_id\": \"https://docs.onyx.app/system_overview\", \"chunk_ind\": 0, \"semantic_identifier\": \"System Overview - Onyx Documentation\", \"link\": \"https://docs.onyx.app/system_overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking to customize the system or become an open source contributors, this is a great place to start.\\n\\nSystem Architecture\\nWhether deploying Onyx on a single instance or a container orchestration platform, the flow of data is the same.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.8118478430927542, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29759}, {\"document_id\": \"https://docs.onyx.app/tools/overview\", \"chunk_ind\": 0, \"semantic_identifier\": \"Tools Overview - Onyx Documentation\", \"link\": \"https://docs.onyx.app/tools/overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform actions (e.g. write to a database, send an email, etc.)\\n- Generate content (e.g. generate an Image, create a plot, etc.)\\nBy default, we have a three tools built-in to Onyx.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.8023337265128674, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29760}, {\"document_id\": \"https://docs.onyx.app/configuration_guide\", \"chunk_ind\": 0, \"semantic_identifier\": \"Configuring Onyx - Onyx Documentation\", \"link\": \"https://docs.onyx.app/configuration_guide\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nConfiguring Onyx\\nWelcome to Onyx\\nConfiguring Onyx\\nHow to customize your deployment environment.\\n\\nCommon Environment Variables\\nAll of the global configuration options that are not built into the UI are set via environment variables. This page contains an exhaustive list of all the options.\\nThere are defaults set in the code so changing/settings these values is not required to use Onyx.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7863535663179132, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nConfiguring Onyx\\nWelcome to Onyx\\nConfiguring Onyx\\nHow to customize\", \"variables. This page contains an exhaustive list of all the options.\\nThere are defaults set in the code so changing/settings these values is not required to use Onyx. A few notable settings that are more...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29761}, {\"document_id\": \"https://docs.onyx.app/connectors/notion\", \"chunk_ind\": 0, \"semantic_identifier\": \"Notion Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/notion\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nNotion Connector\\nConnectors\\nNotion Connector\\nAccess knowledge from your Notion workspace\\n\\nHow it works\\nThe Notion connector uses the Notion search API to fetch all pages that the connector has access to within a workspace. For follow up indexing runs, the connector only retrieves pages that have been updated since the last indexing attempt. Indexing is configured to run every 10 minutes , so page updates should appear within 10 minutes.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7796278203716318, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nNotion Connector\\nConnectors\\nNotion Connector\\nAccess knowledge from your Notion workspace\", \"since the last indexing attempt. Indexing is configured to run every 10 minutes , so page updates should appear within 10 minutes.\\n\\nSetting up\\n\\nAuthorization\\nIn order to authorize Onyx to connect to your Notion workspace, youll...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29762}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/ai_platform\", \"chunk_ind\": 0, \"semantic_identifier\": \"AI Platform - Onyx Documentation\", \"link\": \"https://docs.onyx.app/more/use_cases/ai_platform\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user chat sessions, attaching custom tools, handling LLM reasoning, code execution, data analysis, referencing internal knowledge, and much more.\\nOnyx as a platform is not a no-code agent builder.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7643781358938669, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29763}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/overview\", \"chunk_ind\": 0, \"semantic_identifier\": \"Use Cases Overview - Onyx Documentation\", \"link\": \"https://docs.onyx.app/more/use_cases/overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI more versatile for work by enabling new types of questions like What is the most common feature request weve heard from customers this month. Whereas other AI systems have no context of your team and are generally unhelpful with work related questions, Onyx makes it possible to ask these questions in natural language and get back answers in seconds.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.763143793988455, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29764}, {\"document_id\": \"https://docs.onyx.app/google_oauth_setup\", \"chunk_ind\": 1, \"semantic_identifier\": \"Google OAuth Setup - Onyx Documentation\", \"link\": \"https://docs.onyx.app/google_oauth_setup\", \"blurb\": \"To turn the feature on set:\\n- AUTH_TYPE=google_oauth\\n- OAUTH_CLIENT_ID=\\n- OAUTH_CLIENT_SECRET=\\n- If setting up in production, then:\\n- WEB_DOMAIN=\\n\\nNon Containerized\\nSimply set the above environment variables when running the different Onyx processes.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7602428950082115, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"=\\n- OAUTH_CLIENT_SECRET=\\n- If setting up in production, then:\\n- WEB_DOMAIN=onyx.app>\\n\\nNon Containerized\\nSimply set the above environment variables when running the different Onyx processes.\\n- The backend api server uses the 3 environment variables\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29765}, {\"document_id\": \"https://docs.onyx.app/multilingual_setup\", \"chunk_ind\": 0, \"semantic_identifier\": \"Multilingual Setup - Onyx Documentation\", \"link\": \"https://docs.onyx.app/multilingual_setup\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nMultilingual Setup\\nWelcome to Onyx\\nMultilingual Setup\\nHow to set up Onyx to support languages other than English\\nFor the majority of use cases, Onyx provides an easy way to configure the system for multilingual use. To skip the details and just go to setup, see the Configuration section below.\\n\\nHow it works\\nOnyx has two main flows that assume English as a default. To use Onyx in multilingual or non-english cases, these must be handled.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7486364190912661, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nMultilingual Setup\\nWelcome to Onyx\\nMultilingual Setup\\nHow to set up Onyx to support languages other than English\\nFor the majority of use cases, Onyx provides an easy way to configure the system for multilingual use. To skip the details and just go to setup\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29766}, {\"document_id\": \"https://docs.onyx.app/oidc_saml\", \"chunk_ind\": 0, \"semantic_identifier\": \"OIDC/SAML Setup - Onyx Documentation\", \"link\": \"https://docs.onyx.app/oidc_saml\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nAuth\\nOIDC/SAML Setup\\nAuth\\nOIDC/SAML Setup\\nIntegrating Onyx with your IdP\\nAs part of the Enterprise Edition, Onyx adds support for OIDC / SAML and integrates with popular IdPs (e.g. Okta, Microsoft Entra ID, etc). We also have and will continue to add new integrations with custom, in-house IdPs on request.\\nIf this is something you are looking for, please reach to us directly and wed be happy to work with you to set this up.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7403261429939674, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nAuth\\nOIDC/SAML Setup\\nAuth\\nOIDC/SAML Setup\\nIntegrating Onyx with your IdP\\nAs part of the Enterprise Edition, Onyx adds support for OIDC / SAML and integrates with popular IdPs (e.g. Okta, Microsoft Entra ID, etc). We also have and will continue to add new integrations\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29767}, {\"document_id\": \"https://docs.onyx.app/contact_us\", \"chunk_ind\": 0, \"semantic_identifier\": \"Contact Us - Onyx Documentation\", \"link\": \"https://docs.onyx.app/contact_us\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nContact Us\\nWelcome to Onyx\\nContact Us\\nWe would love to hear from you!\\n\\nPlease dont hesitate to reach out!\\nShoot us a message at founders@onyx.app\\nOr join our Slack or Discord\\nSystem Overview Connector Overview\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7381888804864071, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nContact Us\\nWelcome to Onyx\\nContact Us\\nWe would love to hear from you!\\n\\nPlease dont hesitate to reach out!\\nShoot us a message at founders@onyx.app\\nOr join our Slack or Discord\\nSystem Overview Connector Overview\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29768}, {\"document_id\": \"https://docs.onyx.app/enterprise_edition/permissioning\", \"chunk_ind\": 0, \"semantic_identifier\": \"Permissioning - Onyx Documentation\", \"link\": \"https://docs.onyx.app/enterprise_edition/permissioning\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nPermissioning\\nEnterprise\\nPermissioning\\nPermissions for what documents users can and cannot access in Onyx are determined by the access level set for each connector.\\n\\nConnector Access Types:\\n\\n1. Public\\n- Any user can access the documents in the connector\\n\\n2. Private\\n- All documents from connectors that are private are only accessible to users in the group(s) that the connector is attached to.\\n\\n3. Sync\\n- When one a connector is created with syncing access enabled, the permissions are inhereted from the source.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7353411193404894, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nPermissioning\\nEnterprise\\nPermissioning\\nPermissions for what documents users can and cannot access in Onyx are determined by the access level set for each connector.\\n\\nConnector Access Types:\\n\\n1. Public\\n- Any user can access the documents in the connector\\n\\n2. Private\\n- \", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29769}, {\"document_id\": \"https://docs.onyx.app/quickstart\", \"chunk_ind\": 0, \"semantic_identifier\": \"Quickstart - Onyx Documentation\", \"link\": \"https://docs.onyx.app/quickstart\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nQuickstart\\nWelcome to Onyx\\nQuickstart\\nHow to deploy Onyx on your local machine\\n\\nRequirements\\n- git\\n- Docker with compose (docker version >= 1.13.0)\\n- System requirements found here\\n\\nSetup\\nThe most common source of issues is under-resourcing. Before beginning, check the system requirements here .\\n- Clone the Onyx repo:\\ngit clone https://github.com/onyx-dot-app/onyx.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7341179495213848, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nQuickstart\\nWelcome to Onyx\\nQuickstart\\nHow to deploy Onyx on your local machine\\n\\nRequirements\\n- git\\n- Docker with compose (docker version >= 1.13.0)\\n- System requirements found here\\n\\nSetup\\nThe most common source of issues is under-resourcing\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29770}, {\"document_id\": \"https://docs.onyx.app/connectors/egnyte\", \"chunk_ind\": 0, \"semantic_identifier\": \"Egnyte Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/egnyte\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nEgnyte Connector\\nConnectors\\nEgnyte Connector\\nAccess files stored in Egnyte\\n\\nHow it works\\nThe Egnyte connector pulls in files stored in Egnyte. The Egnyte connector indexes the file name, file type, and contents of the file.\\nNew files are pulled every 10 minutes.\\n\\nSetup\\n\\nConfigure your Egnyte Application + Onyx env variables\\nThis is only necessary if self-hosting Onyx. If using Onyx Cloud , you can skip this step.\\n- Create an Egnyte Application.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7323433554708743, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nEgnyte Connector\\nConnectors\\nEgnyte Connector\\nAccess files stored in \", \"connector indexes the file name, file type, and contents of the file.\\nNew files are pulled every 10 minutes.\\n\\nSetup\\n\\nConfigure your Egnyte Application + Onyx env variables\\nThis is only necessary if self-hosting Onyx. If using Onyxonyx\\nNavigate to the onyx/deployment/kubernetes directory in the repository that you have cloned down\\nAfterwards, you can run the installation of the yaml files\\nkubectl apply -f . -n onyx\\n\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29772}, {\"document_id\": \"https://docs.onyx.app/connectors/overview\", \"chunk_ind\": 0, \"semantic_identifier\": \"Connector Overview - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nConnector Overview\\nConnectors\\nConnector Overview\\nBasic Information about Connectors\\n\\nWhat are Connectors\\nConnectors hook up Onyx to your data sources so that answers are grounded in your organizations knowledge.\\n\\nConnectors help you\\n- Choose Sources so you can include only the data you want indexed.\\n- Configure Access so Onyx can securely access data with your permission.\\n- Set Up Fetching options to keep Onyxs answers up to date.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7237149409215708, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nConnector Overview\\nConnectors\\nConnector Overview\\nBasic Information about Connectors\\n\\nWhat are Connectors\\nConnectors hook up Onyx to your data sources so that answers are grounded in your organizations knowledge.\\n\\nConnectors help you\\n- Choose Sources so you can include only the data you want indexed.\\n- Configure\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29773}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/operations\", \"chunk_ind\": 0, \"semantic_identifier\": \"Operations - Onyx Documentation\", \"link\": \"https://docs.onyx.app/more/use_cases/operations\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nOperations\\nUse Cases\\nOperations\\nDouble the productivity of your Ops teams like IT, HR, etc.\\n\\nAutomatically Resolve Tickets\\nModern teams are leveraging AI to auto-resolve up to 50% of tickets. Whether it is an employee asking about benefits details or how to set up the VPN for remote work, Onyx can help your team help themselves. This frees up your team to do the real impactful work of landing star candidates or improving your internal processes.\\n\\nAI Aided Onboarding\\nOne of the periods where your team needs the most help is when theyre just ramping up.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7194937204130993, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nOperations\\nUse Cases\\nOperations\\nDouble the productivity of your Ops teams like IT\", \"Modern teams are leveraging AI to auto-resolve up to 50% of tickets. Whether it is an employee asking about benefits details or how to set up the VPN for remote work, Onyx can help your team help themselves. This frees up your team to do...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29774}, {\"document_id\": \"https://docs.onyx.app/production/aws/ec2\", \"chunk_ind\": 3, \"semantic_identifier\": \"[Recommended] EC2 - Onyx Documentation\", \"link\": \"https://docs.onyx.app/production/aws/ec2\", \"blurb\": \"You can then access Onyx from the IP address from earlier or from the instance Public IPv4 DNS provided on the instances page in the AWS console.\\nVoila, youre all done! \\nAfter waiting a few minutes (you can monitor the progress with docker logs onyx-stack-api_server-1 -f ; once you see a log for INFO: Application startup complete. then everything should be good to go).\\nZulip Connector EKS\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.716997317611543, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"You can then access Onyx from the IP address from earlier or from the instance Public IPv4 DNS provided on the instances page in the AWS console.\\nVoila, youre all done! \\nAfter waiting a few minutes (you can monitor the progress with docker logs onyx-stack-api_server-1 -f ; once you see a log for INFO: Application startup complete. then everything should be good to go).\\nZulip...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29775}, {\"document_id\": \"https://docs.onyx.app/gen_ai_configs/custom_server\", \"chunk_ind\": 0, \"semantic_identifier\": \"Custom Model Server - Onyx Documentation\", \"link\": \"https://docs.onyx.app/gen_ai_configs/custom_server\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nCustom Model Server\\nGen AI Configs\\nCustom Model Server\\nConfigure Onyx to use a Custom Model Server via requests\\nOnyx can also make requests to an arbitrary model server via REST requests. Optionally an access token can be passed in. To customize the request format and handling of the response, it may be necessary to update/rebuild the Onyx containers.\\n\\nExtending Onyx to be compatible with your custom model server\\nTheres a very minimal interface to be implemented which can support any arbitrary LLM Model Server. Simply update the code here and rebuild .\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7131312117439442, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nCustom Model Server\\nGen AI Configs\\nCustom Model Server\\nConfigure Onyx to use a Custom Model Server via requests\\nOnyx can also make requests to an arbitrary model server via REST requests. Optionally an access token can be passed\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29776}, {\"document_id\": \"https://docs.onyx.app/gen_ai_configs/ollama\", \"chunk_ind\": 0, \"semantic_identifier\": \"Ollama - Onyx Documentation\", \"link\": \"https://docs.onyx.app/gen_ai_configs/ollama\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nOllama\\nGen AI Configs\\nOllama\\nConfigure Onyx to use Ollama\\nRefer to Model Configs for how to set the environment variables for your particular deployment.\\nNote : While we support self hosted LLMs, you will get significantly better responses with a more powerful model like GPT-4.\\n\\nWhat is Ollama\\nOllama provides an easy way to host LLMs locally and to provide a REST API for the model.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7105898032103564, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nOllama\\nGen AI Configs\\nOllama\\nConfigure Onyx to use Ollama\", \"ollama\\nOnce you start a model with a command like ollama run llama2 , you can verify that the API works with a curl request:\\ncurl http://localhost:11434/api/generate -d '{ \\\"model\\\": \\\"llama2\\\", \\\"prompt\\\":\\\"Why is the sky blue?\\\" }'\\n\\nSet Onyx to use...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29777}, {\"document_id\": \"https://docs.onyx.app/resourcing\", \"chunk_ind\": 0, \"semantic_identifier\": \"Resourcing - Onyx Documentation\", \"link\": \"https://docs.onyx.app/resourcing\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nResourcing\\nWelcome to Onyx\\nResourcing\\nRecommended CPU / RAM / Disk to run Onyx\\n\\nRunning Locally\\nWhen running locally through Docker, we recommend making at least 4vCPU cores and 10GB of RAM available to Docker (16GB is preferred). This can be controlled in the Resources section of the Docker Desktop settings menu.\\n\\nSingle Cloud Instance\\nWe generally recommend setting everything up on a single instance (e.g. an AWS EC2 instance, a Google Compute Engine instance, an Azure VM, etc.)\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.708157085558857, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nResourcing\\nWelcome to Onyx\\nResourcing\\nRecommended CPU / RAM / Disk to run Onyx\\n\\nRunning Locally\\nWhen running locally through Docker, we recommend making at least 4vCPU cores and 10GB of RAM available to Docker (16GB is preferred). This\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29778}, {\"document_id\": \"https://docs.onyx.app/backend_apis/ingestion\", \"chunk_ind\": 1, \"semantic_identifier\": \"Ingestion API - Onyx Documentation\", \"link\": \"https://docs.onyx.app/backend_apis/ingestion\", \"blurb\": \"\\\", \\\"link\\\": \\\"https://docs.onyx.app/introduction#main-features\\\" } ], \\\"source\\\": \\\"web\\\", \\\"semantic_identifier\\\": \\\"Onyx Ingestion Example\\\", \\\"metadata\\\": { \\\"tag\\\": \\\"informational\\\", \\\"topics\\\": [\\\"onyx\\\", \\\"api\\\"] }, \\\"doc_updated_at\\\": \\\"2024-04-25T08:20:00Z\\\" },\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7062076765690749, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\\\", \\\"link\\\": \\\"https://docs.onyx.app/introduction#main-features\\\" } ], \\\"source\\\": \\\"web\\\", \\\"semantic_identifier\\\": \\\"Onyx Ingestion Example\\\", \\\"metadata\\\": { \\\"tag\\\": \\\"informational\\\", \\\"topics\\\": [\\\"onyx\\\", \\\"api\\\"] }, \\\"doc_updated_at\\\": \\\"2024-04\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29779}, {\"document_id\": \"https://docs.onyx.app/production/digitalocean\", \"chunk_ind\": 3, \"semantic_identifier\": \"Deploy on Digital Ocean - Onyx Documentation\", \"link\": \"https://docs.onyx.app/production/digitalocean\", \"blurb\": \"You can then access Onyx from the IP address from earlier or from the instance Public IPv4 DNS provided on the instances page in the DigitalOcean console.\\nVoila, youre all done! \\nAfter waiting a few minutes (you can monitor the progress with docker logs onyx-stack-api_server-1 -f ; once you see a log for INFO: Application startup complete. then everything should be good to go).\\nDeploy on Azure Basic Auth Setup\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7060997242031057, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"You can then access Onyx from the IP address from earlier or from the instance Public IPv4 DNS provided on the instances page in the DigitalOcean console.\\nVoila, youre all done! \\nAfter waiting\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29780}, {\"document_id\": \"https://docs.onyx.app/gen_ai_configs/vertex_ai\", \"chunk_ind\": 0, \"semantic_identifier\": \"Vertex AI - Onyx Documentation\", \"link\": \"https://docs.onyx.app/gen_ai_configs/vertex_ai\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nVertex AI\\nGen AI Configs\\nVertex AI\\nConfigure Onyx to use Vertex AI\\nThere are currently two supported approaches to use Vertex AI with Onyx:\\n- Use the gcloud CLI to authenticate\\n- Set up a service account, and use the service account to authenticate\\n\\nUse the gcloud CLI to authenticate\\n- Install the gcloud CLI\\n- Authenticate with the gcloud CLI using gcloud auth application-default login on the machine that Onyx is running on.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7014937812068123, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nVertex AI\\nGen AI Configs\\nVertex AI\\nConfigure Onyx to use Vertex AI\\nThere are currently two supported approaches to use Vertex AI with Onyx:\\n- Use the gcloud CLI to authenticate\\n- Set up a service\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29781}, {\"document_id\": \"https://docs.onyx.app/guides/assistants\", \"chunk_ind\": 0, \"semantic_identifier\": \"Creating Assistants - Onyx Documentation\", \"link\": \"https://docs.onyx.app/guides/assistants\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGuides\\nCreating Assistants\\nGuides\\nCreating Assistants\\nA comprehensive guide to creating and configuring AI assistants in Onyx\\n\\nIntroduction\\nOnyx empowers you to create custom AI assistants tailored to your specific needs. These assistants can be configured to handle a wide range of tasks, from answering HR queries to assisting with technical support. This guide will walk you through the process of creating an effective assistant using Onyxs platform.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6999771240271192, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nGuides\\nCreating Assistants\\nGuides\\nCreating Assistants\\nA comprehensive guide to creating and configuring AI assistants in Onyx\\n\\nIntroduction\\nOnyx empowers you to create custom AI assistants tailored to your specific needs. These assistants can be configured to handle a wide range of tasks\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29782}, {\"document_id\": \"https://docs.onyx.app/connectors/productboard\", \"chunk_ind\": 0, \"semantic_identifier\": \"Productboard Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/productboard\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nProductboard Connector\\nConnectors\\nProductboard Connector\\nSync knowledge from Productboard\\n\\nHow it works\\nThe Productboard connector pulls in all the Features , Components , Products , and Objectives into Onyx. At this time, the Productboard APIs does not support pulling in Releases or Notes .\\nEverything is updated every 10 minutes.\\n\\nSetting up\\n\\nAuthorization\\n- Follow the Getting a token guide here to get an Access Token.\\n\\nIndexing\\n- Navigate to the Admin Dashboard and select the Productboard Connector\\n- In Step 1 , provide your Access Token\\n- Click Connect to begin indexing\\nOracle Storage Connector R2 Connector\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.699884180810737, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nProductboard Connector\\nConnectors\\nProductboard Connector\\nSync knowledge from Productboard\\n\\nHow it works\\nThe Productboard connector pulls in all the Features , Components , Products , and Objectives into Onyx. At this time, the Productboard APIs does not support pulling in Releases or Notes .\\nEverything is updated every...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29783}, {\"document_id\": \"https://docs.onyx.app/gen_ai_configs/anthropic\", \"chunk_ind\": 0, \"semantic_identifier\": \"Anthropic - Onyx Documentation\", \"link\": \"https://docs.onyx.app/gen_ai_configs/anthropic\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nAnthropic\\nGen AI Configs\\nAnthropic\\nConfigure Onyx to use different Anthropic models\\nAnthropic is quite straightforward. Grab an API key from the developer platform, then put it into the API Key field and youll be good to go!\\nOpenAI Azure OpenAI\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6987792467686547, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nAnthropic\\nGen AI Configs\\nAnthropic\\nConfigure Onyx to use different Anthropic models\\nAnthropic is quite straightforward. Grab an API key from the developer platform, then put it into the API Key field and youll be good to go!\\nOpenAI Azure OpenAI\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29784}, {\"document_id\": \"https://docs.onyx.app/guides/providers\", \"chunk_ind\": 0, \"semantic_identifier\": \"LLM Providers - Onyx Documentation\", \"link\": \"https://docs.onyx.app/guides/providers\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGuides\\nLLM Providers\\nGuides\\nLLM Providers\\nA comprehensive guide to selecting and using LLM providers in Onyx\\n\\nOnyxs Approach to LLM Providers\\nOnyx is designed to be model-agnostic, offering you the flexibility to choose the Language Model (LLM) that best suits your needs. This approach ensures that youre not locked into a single provider and can leverage the strengths of different models for various tasks.\\n\\nModel Overview\\nOnyx offers integration with several popular LLM providers, with a focus on models from OpenAI and Anthropic.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.697773075344141, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nGuides\\nLLM Providers\\nGuides\\nLLM Providers\\nA comprehensive guide to selecting and using LLM providers in Onyx\\n\\nOnyxs Approach to LLM Providers\\nOnyx is designed to be model-agnostic, offering you the flexibility to choose the Language Model (LLM) that best suits\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29785}, {\"document_id\": \"https://docs.onyx.app/tools/custom\", \"chunk_ind\": 2, \"semantic_identifier\": \"Custom Tools - Onyx Documentation\", \"link\": \"https://docs.onyx.app/tools/custom\", \"blurb\": \"\\\"prompt_ids\\\", \\\"document_set_ids\\\", \\\"tool_ids\\\" ] } } } } } } } }\\nTools Overview Ingestion API\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6917950030784198, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\\\"prompt_ids\\\", \\\"document_set_ids\\\", \\\"tool_ids\\\" ] } } } } } } } }\\nTools Overview Ingestion API\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29786}, {\"document_id\": \"https://docs.onyx.app/connectors/s3\", \"chunk_ind\": 1, \"semantic_identifier\": \"S3 Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/s3\", \"blurb\": \"Request Tracker Connector Salesforce Connector\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6914780890769989, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Request Tracker Connector Salesforce Connector\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29787}, {\"document_id\": \"https://docs.onyx.app/guides/embedding_providers\", \"chunk_ind\": 0, \"semantic_identifier\": \"Embedding Models - Onyx Documentation\", \"link\": \"https://docs.onyx.app/guides/embedding_providers\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGuides\\nEmbedding Models\\nGuides\\nEmbedding Models\\nA comprehensive guide to selecting and using embedding models in your application\\n\\nOverview of Embedding Models\\nOur application supports integration with several popular embedding model providers, offering you flexibility in choosing the model that best suits your needs. Heres an overview of the available models:\\n\\nOpenAI Models\\n\\ntext-embedding-3-small\\nOpenAIs newer, more efficient embedding model. Good balance of performance and efficiency.\\n\\ntext-embedding-3-large\\nOpenAIs large embedding model.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6890477452275804, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nGuides\\nEmbedding Models\\nGuides\\nEmbedding Models\\nA comprehensive guide to selecting and using embedding\", \"Credentials Setup\\nTo use OpenAI models:\\n- Sign up for an account at OpenAIs website .\\n- Follow their docs to get an API key.\\n- Use your OpenAI key in Onyx\\n\\nCohere Models\\n\\nembed-english-v3.0\\nCoheres English embedding model. Good...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29788}, {\"document_id\": \"https://docs.onyx.app/production/gcp\", \"chunk_ind\": 2, \"semantic_identifier\": \"Deploy on GCP - Onyx Documentation\", \"link\": \"https://docs.onyx.app/production/gcp\", \"blurb\": \"First, lets clone the repo:\\ngit clone https://github.com/onyx-dot-app/onyx.git\\nNext, lets set the necessary env variables:\\ncd onyx/deployment/docker_compose touch .env touch .env.nginx\\nIn the .env file, you can copy past the following (filling in the missing fields as needed):\\nWEB_DOMAIN= # something like \\\"onyx.app\\\" # if your email is something like \\\"chris@onyx.app\\\",\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6882048100741194, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"First, lets clone the repo:\\ngit clone https://github.com/onyx-dot-app/onyx.git\\nNext, lets set the necessary env variables:\\ncd onyx/deployment/docker_compose touch .env\", \"PASSWORD=password\\nIn the .env.nginx file, put the following:\\nDOMAIN= # something like \\\"onyx.app\\\"\\nNext, lets get our SSL certificate from letsencrypt . To do this, we can simply...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29789}, {\"document_id\": \"https://docs.onyx.app/connectors/linear\", \"chunk_ind\": 0, \"semantic_identifier\": \"Linear Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/linear\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nLinear Connector\\nConnectors\\nLinear Connector\\nAccess the latest tickets from Linear\\n\\nHow it works\\nThe Linear connector pulls in all the Linear issues and the associated comments.\\nIssues are updated every 10 minutes.\\n\\nSetting up\\n\\nAuthorization\\n- Grab an API key as shown below.\\n\\nIndexing\\n- Navigate to the Admin Dashboard and select the Linear Connector\\n- In Step 1 , provide the API Key from above.\\n- Click Connect to begin indexing\\nJira Connector Notion Connector\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6853434307580404, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nLinear Connector\\nConnectors\\nLinear Connector\\nAccess the latest tickets from\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29790}, {\"document_id\": \"https://docs.onyx.app/enterprise_edition/theming\", \"chunk_ind\": 0, \"semantic_identifier\": \"Theming - Onyx Documentation\", \"link\": \"https://docs.onyx.app/enterprise_edition/theming\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nTheming\\nEnterprise\\nTheming\\nCustomize the look of Onyx\\nAs part of the Enterprise Edition, we provide the ability to easily customize the look of Onyx. This comes in two forms:\\n- Adding in your own custom application name / logo.\\n- Customizing every color in the UI.\\n\\nCustomizing the Application Name / Logo\\nTo provide your own application name / logo, you can use the Whitelabelling tab in the admin panel. Here, we provide a way to input a name of your choice, as well as an optional logo.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6844398980802202, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nTheming\\nEnterprise\\nTheming\\nCustomize the look of Onyx\\nAs part of the Enterprise Edition, we provide the ability to easily customize the look of Onyx. This comes in two forms:\\n- Adding in your own custom application name / logo.\\n- Customizing every color in the UI.\\n\\nCustomizing the Application Name / Logo\\nTo\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29791}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/enterprise_search\", \"chunk_ind\": 0, \"semantic_identifier\": \"Enterprise Search - Onyx Documentation\", \"link\": \"https://docs.onyx.app/more/use_cases/enterprise_search\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nEnterprise Search\\nUse Cases\\nEnterprise Search\\nValue of Enterprise Search with Onyx\\n\\nWhat is Enterprise Search and why is it Important?\\nAn Enterprise Search system gives team members a single place to access all of the disparate knowledge of an organization. Critical information is saved across a host of channels like call transcripts with prospects, engineering design docs, IT runbooks, customer support email exchanges, project management tickets, and more. As fast moving teams scale up, information gets spread out and more disorganized.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6799077611458915, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nEnterprise Search\\nUse Cases\\nEnterprise Search\\nValue of Enterprise Search with Onyx\\n\\nWhat is Enterprise Search and why is it Important?\\nAn Enterprise Search system gives team members a single place to access all of the disparate knowledge of an organization\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29792}, {\"document_id\": \"https://docs.onyx.app/gen_ai_configs/open_ai\", \"chunk_ind\": 0, \"semantic_identifier\": \"OpenAI - Onyx Documentation\", \"link\": \"https://docs.onyx.app/gen_ai_configs/open_ai\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nOpenAI\\nGen AI Configs\\nOpenAI\\nConfigure Onyx to use different OpenAI models\\nOpenAI is quite straightforward. Grab an API key from the developer platform, then put it into the API Key field and youll be good to go!\\nGenAI Overview Anthropic\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6781021349905539, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nOpenAI\\nGen AI Configs\\nOpenAI\\nConfigure Onyx to use different OpenAI models\\nOpenAI is quite straightforward. Grab an API key from the developer platform, then put it into the API Key field and youll be good to go!\\nGenAI Overview Anthropic\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29793}, {\"document_id\": \"https://docs.onyx.app/connectors/file\", \"chunk_ind\": 0, \"semantic_identifier\": \"File Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/file\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nFile Connector\\nConnectors\\nFile Connector\\nAccess knowledge from Local Files\\n\\nHow it works\\nThe File Connector indexes user uploaded files. Currently supports .txt , .pdf , .docx , .pptx , .xlsx , .csv , .md , .mdx , .conf , .log , .json , .tsv , .xml , .yml , .yaml , .eml , and .epub files.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6764132565435098, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nFile Connector\\nConnectors\\nFile Connector\\nAccess knowledge from Local Files\\n\\nHow\", \"there are other file types in the zip, the other file types are ignored. There is also an optional metadata line that supports links, document owners, and time updated as metadata for Onyxs retrieval and AI Answer.\\n\\nAdding Metadata\\nThe...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29794}, {\"document_id\": \"https://docs.onyx.app/gen_ai_configs/huggingface\", \"chunk_ind\": 0, \"semantic_identifier\": \"HuggingFace Inference API - Onyx Documentation\", \"link\": \"https://docs.onyx.app/gen_ai_configs/huggingface\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nHuggingFace Inference API\\nGen AI Configs\\nHuggingFace Inference API\\nConfigure Onyx to use HuggingFace APIs\\nRefer to Model Configs for how to set the environment variables for your particular deployment.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6744427030051473, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nHuggingFace Inference API\\nGen AI Configs\\nHuggingFace Inference API\\nConfigure Onyx to use HuggingFace APIs\\nRefer to Model Configs for how to set the environment variables for your particular deployment.\\nTo use the HuggingFace Inference\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29795}, {\"document_id\": \"https://docs.onyx.app/connectors/discourse\", \"chunk_ind\": 0, \"semantic_identifier\": \"Discourse Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/discourse\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nDiscourse Connector\\nConnectors\\nDiscourse Connector\\nAccess knowledge from your Discourse Topics\\n\\nHow it works\\nThe Discourse connector indexes documents from your Discourse Topics .\\n\\nSetting up\\n\\nAuthorization\\n- Log into your Discourse account\\nThis Discourse user must have admin priveleges\\n- Click the Admin menu from the home page.\\n- Open the Advanced sub-menu and select API keys .\\n- Click New API Key , name it Onyx. Select All Users for User Level and Read-only for Scope .\\n- Click Save . Copy the key and put it into Onyx.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.673472374076985, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nDiscourse Connector\\nConnectors\\nDiscourse Connector\\nAccess knowledge from your Discourse\", \"user must have admin priveleges\\n- Click the Admin menu from the home page.\\n- Open the Advanced sub-menu and select API keys .\\n- Click New API Key , name it Onyx. Select All Users for User Level and Read-only for Scope .\\n- Click Save...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29796}], \"rephrased_query\": \"what is Onyx I, II, III, and IV?\", \"predicted_flow\": \"question-answer\", \"predicted_search\": \"semantic\", \"applied_source_filters\": null, \"applied_time_cutoff\": null, \"recency_bias_multiplier\": 0.5}\n" -"{\"llm_selected_doc_indices\": []}\n" -"{\"final_context_docs\": [{\"document_id\": \"https://docs.onyx.app/introduction\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into any LLM of your choice. Onyx can be deployed anywhere and for any scale - on a laptop, on-premise, or to cloud. Since you own the deployment, your user data and chats are fully in your own control. Onyx is MIT licensed and designed to be modular and easily extensible. The system also comes fully ready for production usage with user authentication, role management (admin/basic users), chat persistence, and a UI for configuring Personas (AI Assistants) and their Prompts.\\nOnyx also serves as a Unified Search across all common workplace tools such as Slack, Google Drive, Confluence, etc. By combining LLMs and team specific knowledge, Onyx becomes a subject matter expert for the team. Its like ChatGPT if it had access to your teams unique knowledge! It enables questions such as A customer wants feature X, is this already supported? or Wheres the pull request for feature Y?\\nOnyx can also be plugged into existing tools like Slack to get answers and AI chats directly in Slack.\\n\\nDemo\\n\\nMain Features \\n- Chat UI with the ability to select documents to chat with.\\n- Create custom AI Assistants with different prompts and backing knowledge sets.\\n- Connect Onyx with LLM of your choice (self-host for a fully airgapped solution).\\n- Document Search + AI Answers for natural language queries.\\n- Connectors to all common workplace tools like Google Drive, Confluence, Slack, etc.\\n- Slack integration to get answers and search results directly in Slack.\\n\\nUpcoming\\n- Chat/Prompt sharing with specific teammates and user groups.\\n- Multi-modal model support, chat with images, video etc.\\n- Choosing between LLMs and parameters during chat session.\\n- Tool calling and agent configurations options.\\n- Organizational understanding and ability to locate and suggest experts from your team.\\n\\nOther Noteable Benefits of Onyx\\n- User Authentication with document level access management.\\n- Best in class Hybrid Search across all sources (BM-25 + prefix aware embedding models).\\n- Admin Dashboard to configure connectors, document-sets, access, etc.\\n- Custom deep learning models + learn from user feedback.\\n- Easy deployment and ability to host Onyx anywhere of your choosing.\\nQuickstart\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into any LLM of your choice. Onyx can be deployed anywhere and for any scale - on a laptop, on-premise, or to cloud. Since you own the deployment, your user data and chats are fully in your own control. Onyx is MIT licensed and designed to be modular and easily extensible.\", \"semantic_identifier\": \"Introduction - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/introduction\", \"source_links\": {\"0\": \"https://docs.onyx.app/introduction\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into\", \"\"]}, {\"document_id\": \"https://www.onyx.app/\", \"content\": \"Help your \\u00b0\\nEng\\nSupport\\nSales\\nProduct\\nOps team\\nfind information faster\\nThe open source AI connected to your company's docs, apps, and people Book a demo\\nYour browser does not support the video tag.\\nAI Workplace Search\\nFind answers across all your teams' applications\\nYour browser does not support the video tag.\\nAI Assistant\\nCreate AI Assistants powered by your org's unique knowledge, available right where you work\\nYour browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\\nOnyx connects to all your apps\\nWorks out of the box, syncs in real time, with document level access.\\n40+ integrations available, with more being built every day.\\nBuilt for\\nEnterprise\\nIt's been great to partner and work with the Onyx team ... it's an easy to set up, intuitive product that finds natural product market fit by meeting your team where they're already collaborating.\\nTony Rios\\nDirector, Product Ops at Ramp\\nData\\nSecurity\\nRun Onyx fully air gapped in your VPC or even on-premise.\\nNo data needs to ever leave your deployment.\\nAdvanced\\nPermission\\nDocument level permissions automatically inherited from connected sources.\\nEasily create advanced access rules directly within Onyx.\\nMost\\nExtensible\\nModular, open-source, and easy to customize.\\nPlug in custom tools, processing modules, and UI elements to make Onyx work the way you need it to.\\nModel\\nAgnostic\\nChoose any model provider, or plug in your own self-hosted LLM.\\nPick the model that works for your use case, swap them at will. Control is yours.\\nInternal Search\\nThe average worker spends 9.3 hours a week looking for information. Unblock your team with GenAI.\\nCustomer Support\\nInstantly answer questions across your entire product.\\nDevelopers\\nEmpower your devs to ship with speed and confidence.\\nSales\\nClose deals faster with instant access to every customer conversation and prodpuct update.\\nWe use cookies to enhance your experience and analyze our site usage. Do you accept?\\nAccept Reject\", \"blurb\": \"Help your \\u00b0\\nEng\\nSupport\\nSales\\nProduct\\nOps team\\nfind information faster\\nThe open source AI connected to your company's docs, apps, and people Book a demo\\nYour browser does not support the video tag.\\nAI Workplace Search\\nFind answers across all your teams' applications\\nYour browser does not support the video tag.\\nAI Assistant\\nCreate AI Assistants powered by your org's unique knowledge, available right where you work\\nYour browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\", \"semantic_identifier\": \"Onyx\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://www.onyx.app/\", \"source_links\": {\"0\": \"https://www.onyx.app/\"}, \"match_highlights\": [\"\", \" browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\\nOnyx connects to all your apps\\nWorks out of the box, syncs in real time, with document level access.\\n40+ integrations available, with more being built every day.\\nBuilt for\\nEnterprise\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/system_overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking to customize the system or become an open source contributors, this is a great place to start.\\n\\nSystem Architecture\\nWhether deploying Onyx on a single instance or a container orchestration platform, the flow of data is the same. Documents are pulled and processed via connectors and then persisted in Vespa/Postgres which run in containers within your system.\\nThe only time sensitive data leaves your Onyx setup is when it makes a call to an LLM to generate an answer. The communications to the LLM are encrypted. The data persistence at the LLM API depends on the terms of the LLM hosting service you are using.\\nWe also note that Onyx has some very limited and anonymous telemetry to help us improve the system by identifying bottlenecks and flaky data connectors. You can turn off the telemetry with by setting the DISABLE_TELEMETRY env variable to True.\\n\\nEmbedding Flow\\nEach document is split into smaller sections called Chunks.\\nBy passing chunks to the LLM instead of full documents, we are able to reduce noise to the model by only passing in the relevant sections of the document. Additionally this is significantly more cost efficient as LLM services generally charge per token. Finally by embedding chunks rather than full documents, we are able to retain more detail as each vector embedding is only capable of encoding a limited amount of information.\\nThe addition of mini-chunks takes this concept even further. By embedding at different sizes, Onyx can retrieve both high level context and details. Mini-chunks can also be turned on/off via environment variables as generating multiple vectors per chunk can slow down document indexing if deployed on less capable hardware.\\nIn choosing our embedding model, we use the latest state-of-the-art biencoder that is small enough to run on CPU while maintaining subsecond document retrieval times.\\n\\nQuery Flow\\nThis flow is often updated as were constantly striving to push the capabilities of the retrieval pipeline with the most recent advancements coming out of research and the opensource community.\\nAlso note that many of the parameters of this flow such as how much documents to retrieve, how many to rerank, what models to use, which chunks are passed to the LLM, etc. are all configurable.\\nIf there are any questions, dont hesitate to reach out to the maintainers!\\nMultilingual Setup Contact Us\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking to customize the system or become an open source contributors, this is a great place to start.\\n\\nSystem Architecture\\nWhether deploying Onyx on a single instance or a container orchestration platform, the flow of data is the same.\", \"semantic_identifier\": \"System Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/system_overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/system_overview\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking...\"]}, {\"document_id\": \"https://docs.onyx.app/tools/overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform actions (e.g. write to a database, send an email, etc.)\\n- Generate content (e.g. generate an Image, create a plot, etc.)\\nBy default, we have a three tools built-in to Onyx. These are:\\n-\\nSearchTool . This is the core of Onyx. Adding this tool to an Assistant allows it to search over the knowledge youve connected up to Onyx through Connectors . This is the only tool available to the default Onyx assistant.\\n-\\nImageGenerationTool . This leverages DALLE-3 to generate images.\\n-\\nInternetSearchTool . This uses Bing to search the internet. To enable this as an option, set the BING_API_KEY environment variable.\\nEmbedding Models Custom Tools\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform actions (e.g. write to a database, send an email, etc.)\\n- Generate content (e.g. generate an Image, create a plot, etc.)\\nBy default, we have a three tools built-in to Onyx.\", \"semantic_identifier\": \"Tools Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/tools/overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/tools/overview\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/configuration_guide\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nConfiguring Onyx\\nWelcome to Onyx\\nConfiguring Onyx\\nHow to customize your deployment environment.\\n\\nCommon Environment Variables\\nAll of the global configuration options that are not built into the UI are set via environment variables. This page contains an exhaustive list of all the options.\\nThere are defaults set in the code so changing/settings these values is not required to use Onyx. A few notable settings that are more frequently changed however are the following:\\n- AUTH_TYPE (default value is disabled )\\n- MULTILINGUAL_QUERY_EXPANSION (you can provide a comma separated list of languages for query rephrasing such as English,French )\\n- LOG_LEVEL (default is info )\\n- WEB_DOMAIN (your full url in production, including the protocol- e.g. https://www.onyx.app )\\n\\nDocker Compose\\nThere are several ways to configure environment variables for the containers. For Docker Compose, there are many ways to pass environment variables to the container, any of the standard approaches will work. However the preferred approach for Onyx is to use the .env file. To do this, create a file called .env at onyx/deployment/docker_compose/.env . From there, populate it with the values you want to override:\\n# Configures basic email/password based login AUTH_TYPE=\\\"basic\\\" # Rephrasing the query into different languages to improve search recall MULTILINGUAL_QUERY_EXPANSION=\\\"English,Spanish,German\\\" # Set a cheaper/faster LLM for the flows that are easier (such as translating the query etc.) FAST_GEN_AI_MODEL_VERSION=\\\"gpt-3.5-turbo\\\" # Setting more verbose logging LOG_LEVEL=\\\"debug\\\" LOG_ALL_MODEL_INTERACTIONS=\\\"true\\\"\\n\\nKubernetes\\nFor Kubernetes, the deployment yaml files includes an Environment ConfigMap. Simply update the values in the file here .\\n\\nAll Environment Variables\\nThis is an extensive list of the currently supported environment variables within Onyx. There are several classes of environment variables. All of the global configuration options that are not built into the UI are set via environment variables.\\nYou can set these in your .env file.\\n\\nAuth Settings\\nThese variables control authentication and user management in Onyx.\\nAUTH_TYPE\\nControls the authentication method used by Onyx.\\ndisabled : No authentication is required.\\ngoogle_oauth : Users can log in using their Google accounts.\\nbasic : Standard username/password authentication.\\noidc : OpenID Connect, available in the enterprise edition.\\nsaml : Security Assertion Markup Language, available in the enterprise edition.\\n\\nSESSION_EXPIRE_TIME_SECONDS\\nDefines the duration of a users session in seconds. Default is 24 hours.\\n\\nENCRYPTION_KEY_SECRET\\nA strong, unique string used for encryption purposes. Keep this value secret.\\n\\nVALID_EMAIL_DOMAINS\\nComma-separated list of allowed email domains for authentication. Leave empty to allow all domains.\\n\\nGOOGLE_OAUTH_CLIENT_ID\\nClient ID for Google OAuth authentication, obtained from Google Cloud Console .\\n\\nGOOGLE_OAUTH_CLIENT_SECRET\\nClient Secret for Google OAuth authentication, obtained from Google Cloud Console . Keep this value secret.\\n\\nREQUIRE_EMAIL_VERIFICATION\\nWhen set to true , users must verify their email before accessing Onyx.\\n\\nSMTP_SERVER\\nHostname of the SMTP server for sending verification emails. Default is smtp.gmail.com .\\n\\nSMTP_PORT\\nPort used for SMTP communication. Common values are 587 (TLS) or 465 (SSL).\\n\\nSMTP_USER\\nUsername for SMTP authentication, often an email address used to send verification emails.\\n\\nSMTP_PASS\\nPassword for SMTP authentication. Keep this value secret.\\n\\nEMAIL_FROM\\nEmail address used as the sender for verification emails.\\n\\nNEXT_PUBLIC_FORGOT_PASSWORD_ENABLED\\nSet to true to enable the forgot password feature. Only enable this if you have configured the above SMTP settings (For email functionality).\\n\\nGen AI Settings\\nThese variables configure the generative AI capabilities of Onyx. These are covered in more depth at the generative AI configs .\\n\\nGEN_AI_MODEL_PROVIDER\\nSpecifies the provider of the generative AI model (e.g., openai , anthropic , huggingface ).\\n\\nGEN_AI_MODEL_VERSION\\nDefines the version of the generative AI model to use (e.g., gpt-4 for OpenAI).\\n\\nFAST_GEN_AI_MODEL_VERSION\\nSpecifies a faster (usually smaller) model version for certain tasks.\\n\\nGEN_AI_API_KEY\\nAPI key for accessing the generative AI service. Keep this value secret.\\n\\n...\\n\\nPOSTGRES_HOST\\nHostname or IP address of the Postgres server. Default is relational_db .\\n\\nVESPA_HOST\\nHostname or IP address of the Vespa server. Default is index .\\n\\nWEB_DOMAIN\\nFully qualified domain name used for the Onyx web interface. (e.g. https://www.onyx.com )\\n\\nNLP Model Configurations\\nAdvanced settings for NLP models. Modify with caution.\\n\\nINDEX_BATCH_SIZE\\nSize of batch used when indexing documents. Overrides the default batch size for indexing operations.\\n\\nEMBEDDING_BATCH_SIZE\\nSize of batch used when embedding documents during indexing and search operations. Overrides the default batch size for embedding processes.\\n\\nDOCUMENT_ENCODER_MODEL\\nName or path of the encoder model used for document encoding.\\n\\nDOC_EMBEDDING_DIM\\nDimension of document embeddings, typically matching the chosen encoder models output dimension.\\n\\nNORMALIZE_EMBEDDINGS\\nSet to true to enable normalization of embeddings.\\n\\nASYM_QUERY_PREFIX\\nText prepended to queries in asymmetric semantic search.\\n\\nENABLE_RERANKING_REAL_TIME_FLOW\\nSet to true to enable reranking in real-time search flow.\\n\\nENABLE_RERANKING_ASYNC_FLOW\\nSet to true to enable reranking in asynchronous search flow.\\n\\nMODEL_SERVER_HOST\\nHostname or IP address of the model server. Default is inference_model_server .\\n\\nMODEL_SERVER_PORT\\nPort on which the model server is listening.\\n\\nMiscellaneous\\n< Various other configuration options.\\n\\nDISABLE_TELEMETRY\\nSet to true to opt out of telemetry. Telemetry helps improve Onyx; no sensitive data is collected.\\n\\nLOG_LEVEL\\nSets the logging verbosity. Possible values: debug , info , warning , error , critical .\\n\\nLOG_ALL_MODEL_INTERACTIONS\\nSet to true to enable logging of all prompts sent to the LLM.\\n\\nLOG_VESPA_TIMING_INFORMATION\\nSet to true to enable additional logging of Vespa query performance.\\n\\nLOG_ENDPOINT_LATENCY\\nSet to true to enable logging of endpoint latency information.\\nCustom Model Server Multilingual Setup\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nConfiguring Onyx\\nWelcome to Onyx\\nConfiguring Onyx\\nHow to customize your deployment environment.\\n\\nCommon Environment Variables\\nAll of the global configuration options that are not built into the UI are set via environment variables. This page contains an exhaustive list of all the options.\\nThere are defaults set in the code so changing/settings these values is not required to use Onyx.\", \"semantic_identifier\": \"Configuring Onyx - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/configuration_guide\", \"source_links\": {\"0\": \"https://docs.onyx.app/configuration_guide\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nConfiguring Onyx\\nWelcome to Onyx\\nConfiguring Onyx\\nHow to customize\", \"variables. This page contains an exhaustive list of all the options.\\nThere are defaults set in the code so changing/settings these values is not required to use Onyx. A few notable settings that are more...\"]}, {\"document_id\": \"https://docs.onyx.app/connectors/notion\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nNotion Connector\\nConnectors\\nNotion Connector\\nAccess knowledge from your Notion workspace\\n\\nHow it works\\nThe Notion connector uses the Notion search API to fetch all pages that the connector has access to within a workspace. For follow up indexing runs, the connector only retrieves pages that have been updated since the last indexing attempt. Indexing is configured to run every 10 minutes , so page updates should appear within 10 minutes.\\n\\nSetting up\\n\\nAuthorization\\nIn order to authorize Onyx to connect to your Notion workspace, youll need to create a new integration in Notion, which will then provide you with a secret token.\\nThese steps are pulled from this Notion guide which you can also follow.\\n\\nStep 1: Create an integration\\n- Visit https://www.notion.com/my-integrations in your browser.\\n- Click the + New integration button.\\n- Name the integration (something like Onyx could work).\\n- Select Read content as the only capability required for Onyx.\\n- Click Submit to create the integration.\\nOn the next page, youll find your Notion integration token, also called an API key. Youll need this token to configure Onyx to index Notion, so make a copy of it.\\nThe integration has been added to the workspace, so any member can share pages and databases with it. Theres no requirement to be an Admin to share information with an integration.\\n\\nStep 2: Share pages/databases with your integration\\nNow that youve created an integration, you need to grant it access to Notion pages/databases. To keep your information secure, integrations dont have access to any pages or databases in the workspace at first. You must share specific pages with an integration in order for Onyx to access those pages.\\nTo share a page/database with your integration:\\n- Go to the page/database in your workspace.\\n- Click the on the top right corner of the page.\\n- Scroll to the bottom of the pop-up and click Add connections.\\n- Search for and select the new integration in the Search for connections... menu.\\n- If youve added a page, all child pages also become accesssible to Onyx. If youve added a database, all rows (and their children) become accessible to Onyx.\\nOnce youve granted access to a page/database, you can start configuring Onyx to index those databases.\\n\\nIndexing\\n- Navigate to the Admin Dashboard and select the Notion connector.\\n- In Step 1 , provide the Integration Token Secret you obtained in the Authorization steps above:\\n- Click the Connect button! Your content will then be pulled into Onyx every 10 minutes.\\nNote - As mentioned, the Notion connector currently indexes everything it has access to. If you want to limit specific content being indexed, simply unshare the database from Notion with the integration.\\nLinear Connector Oracle Storage Connector\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nNotion Connector\\nConnectors\\nNotion Connector\\nAccess knowledge from your Notion workspace\\n\\nHow it works\\nThe Notion connector uses the Notion search API to fetch all pages that the connector has access to within a workspace. For follow up indexing runs, the connector only retrieves pages that have been updated since the last indexing attempt. Indexing is configured to run every 10 minutes , so page updates should appear within 10 minutes.\", \"semantic_identifier\": \"Notion Connector - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/connectors/notion\", \"source_links\": {\"0\": \"https://docs.onyx.app/connectors/notion\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nNotion Connector\\nConnectors\\nNotion Connector\\nAccess knowledge from your Notion workspace\", \"since the last indexing attempt. Indexing is configured to run every 10 minutes , so page updates should appear within 10 minutes.\\n\\nSetting up\\n\\nAuthorization\\nIn order to authorize Onyx to connect to your Notion workspace, youll...\"]}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/ai_platform\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user chat sessions, attaching custom tools, handling LLM reasoning, code execution, data analysis, referencing internal knowledge, and much more.\\nOnyx as a platform is not a no-code agent builder. We are made by developers for developers and this gives your team the full flexibility and power to create agents not constrained by blocks and simple logic paths.\\n\\nFlexibility and Extensibility\\nOnyx is open source and completely whitebox. This not only gives transparency to what happens within the system but also means that your team can directly modify the source code to suit your unique needs.\\nEnterprise Search Customer Support\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user chat sessions, attaching custom tools, handling LLM reasoning, code execution, data analysis, referencing internal knowledge, and much more.\\nOnyx as a platform is not a no-code agent builder.\", \"semantic_identifier\": \"AI Platform - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/more/use_cases/ai_platform\", \"source_links\": {\"0\": \"https://docs.onyx.app/more/use_cases/ai_platform\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user...\"]}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI more versatile for work by enabling new types of questions like What is the most common feature request weve heard from customers this month. Whereas other AI systems have no context of your team and are generally unhelpful with work related questions, Onyx makes it possible to ask these questions in natural language and get back answers in seconds.\\nOnyx can connect to +30 different tools and the use cases are not limited to the ones in the following pages. The highlighted use cases are for inspiration and come from feedback gathered from our users and customers.\\n\\nCommon Getting Started Questions:\\n\\nWhy are these docs connected in my Onyx deployment?\\nAnswer: This is just an example of how connectors work in Onyx. You can connect up your own teams knowledge and you will be able to ask questions unique to your organization. Onyx will keep all of the knowledge up to date and in sync with your connected applications.\\n\\nIs my data being sent anywhere when I connect it up to Onyx?\\nAnswer: No! Onyx is built with data security as our highest priority. We open sourced it so our users can know exactly what is going on with their data. By default all of the document processing happens within Onyx. The only time it is sent outward is for the GenAI call to generate answers.\\n\\nWhere is the feature for auto sync-ing document level access permissions from all connected sources?\\nAnswer: This falls under the Enterprise Edition set of Onyx features built on top of the MIT/community edition. If you are on Onyx Cloud, you have access to them by default. If youre running it yourself, reach out to the Onyx team to receive access.\\nAdvanced Curator Examples Enterprise Search\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI more versatile for work by enabling new types of questions like What is the most common feature request weve heard from customers this month. Whereas other AI systems have no context of your team and are generally unhelpful with work related questions, Onyx makes it possible to ask these questions in natural language and get back answers in seconds.\", \"semantic_identifier\": \"Use Cases Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/more/use_cases/overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/more/use_cases/overview\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/google_oauth_setup\", \"content\": \"To turn the feature on set:\\n- AUTH_TYPE=google_oauth\\n- OAUTH_CLIENT_ID=\\n- OAUTH_CLIENT_SECRET=\\n- If setting up in production, then:\\n- WEB_DOMAIN=\\n\\nNon Containerized\\nSimply set the above environment variables when running the different Onyx processes.\\n- The backend api server uses the 3 environment variables\\n- The frontend hits the api server to determine what user authentication setting is configured and serves the relevant pages.\\n\\nDocker Compose\\nSimply set the 4 environment variables in a file called .env under onyx/deployment/docker_compose .\\n\\nKubernetes\\nKubernetes deployment was designed for production use and assumes that user Auth is a required feature therefore it is on by default. To set up the required values, replace the REPLACE-THIS values in secrets.yaml with thebase64 encoded client ID and client secret from above.\\nBasic Auth Setup OIDC/SAML Setup\", \"blurb\": \"To turn the feature on set:\\n- AUTH_TYPE=google_oauth\\n- OAUTH_CLIENT_ID=\\n- OAUTH_CLIENT_SECRET=\\n- If setting up in production, then:\\n- WEB_DOMAIN=\\n\\nNon Containerized\\nSimply set the above environment variables when running the different Onyx processes.\", \"semantic_identifier\": \"Google OAuth Setup - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/google_oauth_setup\", \"source_links\": {\"0\": \"https://docs.onyx.app/google_oauth_setup\"}, \"match_highlights\": [\"\", \"=\\n- OAUTH_CLIENT_SECRET=\\n- If setting up in production, then:\\n- WEB_DOMAIN=onyx.app>\\n\\nNon Containerized\\nSimply set the above environment variables when running the different Onyx processes.\\n- The backend api server uses the 3 environment variables\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/multilingual_setup\", \"content\": \"onyx documentation home page search... navigation welcome to onyx multilingual setup welcome to onyx multilingual setup how to set up onyx to support languages other than english for the majority of use cases, onyx provides an easy way to configure the system for multilingual use. to skip the details and just go to setup, see the configuration section below. how it works onyx has two main flows that assume english as a default. to use onyx in multilingual or non - english cases, these must be handled. - the vector portion of the hybrid - search / reranking. this selects relevant documents to pass to the large language model as context - the prompts for the large language model to instruct it on how to answer user queries. to address the first point, the english first embedding / reranking models can be swapped out for multilingual models. additionally query expansion is applied to rephrase the user query into the target languages. to address the second point, additional instructions are given to the llm to respect the input language and to respond in the same language as the user query. note : the onyx llm prompts are still in english, just with added instructions if the user configures multilingual settings ( see below ). if all of your documents and queries are in some other language, it will be better to simply translate all of onyxs prompts directly to that target language. you can do so here.\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nMultilingual Setup\\nWelcome to Onyx\\nMultilingual Setup\\nHow to set up Onyx to support languages other than English\\nFor the majority of use cases, Onyx provides an easy way to configure the system for multilingual use. To skip the details and just go to setup, see the Configuration section below.\\n\\nHow it works\\nOnyx has two main flows that assume English as a default. To use Onyx in multilingual or non-english cases, these must be handled.\", \"semantic_identifier\": \"Multilingual Setup - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/multilingual_setup\", \"source_links\": {\"0\": \"https://docs.onyx.app/multilingual_setup\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nMultilingual Setup\\nWelcome to Onyx\\nMultilingual Setup\\nHow to set up Onyx to support languages other than English\\nFor the majority of use cases, Onyx provides an easy way to configure the system for multilingual use. To skip the details and just go to setup\", \"\"]}]}\n" -"{\"tool_name\": \"run_search\", \"tool_args\": {\"query\": \"what is Onyx I, II, III, and IV?\"}, \"tool_result\": [{\"document_id\": \"https://docs.onyx.app/introduction\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into any LLM of your choice. Onyx can be deployed anywhere and for any scale - on a laptop, on-premise, or to cloud. Since you own the deployment, your user data and chats are fully in your own control. Onyx is MIT licensed and designed to be modular and easily extensible. The system also comes fully ready for production usage with user authentication, role management (admin/basic users), chat persistence, and a UI for configuring Personas (AI Assistants) and their Prompts.\\nOnyx also serves as a Unified Search across all common workplace tools such as Slack, Google Drive, Confluence, etc. By combining LLMs and team specific knowledge, Onyx becomes a subject matter expert for the team. Its like ChatGPT if it had access to your teams unique knowledge! It enables questions such as A customer wants feature X, is this already supported? or Wheres the pull request for feature Y?\\nOnyx can also be plugged into existing tools like Slack to get answers and AI chats directly in Slack.\\n\\nDemo\\n\\nMain Features \\n- Chat UI with the ability to select documents to chat with.\\n- Create custom AI Assistants with different prompts and backing knowledge sets.\\n- Connect Onyx with LLM of your choice (self-host for a fully airgapped solution).\\n- Document Search + AI Answers for natural language queries.\\n- Connectors to all common workplace tools like Google Drive, Confluence, Slack, etc.\\n- Slack integration to get answers and search results directly in Slack.\\n\\nUpcoming\\n- Chat/Prompt sharing with specific teammates and user groups.\\n- Multi-modal model support, chat with images, video etc.\\n- Choosing between LLMs and parameters during chat session.\\n- Tool calling and agent configurations options.\\n- Organizational understanding and ability to locate and suggest experts from your team.\\n\\nOther Noteable Benefits of Onyx\\n- User Authentication with document level access management.\\n- Best in class Hybrid Search across all sources (BM-25 + prefix aware embedding models).\\n- Admin Dashboard to configure connectors, document-sets, access, etc.\\n- Custom deep learning models + learn from user feedback.\\n- Easy deployment and ability to host Onyx anywhere of your choosing.\\nQuickstart\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into any LLM of your choice. Onyx can be deployed anywhere and for any scale - on a laptop, on-premise, or to cloud. Since you own the deployment, your user data and chats are fully in your own control. Onyx is MIT licensed and designed to be modular and easily extensible.\", \"semantic_identifier\": \"Introduction - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/introduction\", \"source_links\": {\"0\": \"https://docs.onyx.app/introduction\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into\", \"\"]}, {\"document_id\": \"https://www.onyx.app/\", \"content\": \"Help your \\u00b0\\nEng\\nSupport\\nSales\\nProduct\\nOps team\\nfind information faster\\nThe open source AI connected to your company's docs, apps, and people Book a demo\\nYour browser does not support the video tag.\\nAI Workplace Search\\nFind answers across all your teams' applications\\nYour browser does not support the video tag.\\nAI Assistant\\nCreate AI Assistants powered by your org's unique knowledge, available right where you work\\nYour browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\\nOnyx connects to all your apps\\nWorks out of the box, syncs in real time, with document level access.\\n40+ integrations available, with more being built every day.\\nBuilt for\\nEnterprise\\nIt's been great to partner and work with the Onyx team ... it's an easy to set up, intuitive product that finds natural product market fit by meeting your team where they're already collaborating.\\nTony Rios\\nDirector, Product Ops at Ramp\\nData\\nSecurity\\nRun Onyx fully air gapped in your VPC or even on-premise.\\nNo data needs to ever leave your deployment.\\nAdvanced\\nPermission\\nDocument level permissions automatically inherited from connected sources.\\nEasily create advanced access rules directly within Onyx.\\nMost\\nExtensible\\nModular, open-source, and easy to customize.\\nPlug in custom tools, processing modules, and UI elements to make Onyx work the way you need it to.\\nModel\\nAgnostic\\nChoose any model provider, or plug in your own self-hosted LLM.\\nPick the model that works for your use case, swap them at will. Control is yours.\\nInternal Search\\nThe average worker spends 9.3 hours a week looking for information. Unblock your team with GenAI.\\nCustomer Support\\nInstantly answer questions across your entire product.\\nDevelopers\\nEmpower your devs to ship with speed and confidence.\\nSales\\nClose deals faster with instant access to every customer conversation and prodpuct update.\\nWe use cookies to enhance your experience and analyze our site usage. Do you accept?\\nAccept Reject\", \"blurb\": \"Help your \\u00b0\\nEng\\nSupport\\nSales\\nProduct\\nOps team\\nfind information faster\\nThe open source AI connected to your company's docs, apps, and people Book a demo\\nYour browser does not support the video tag.\\nAI Workplace Search\\nFind answers across all your teams' applications\\nYour browser does not support the video tag.\\nAI Assistant\\nCreate AI Assistants powered by your org's unique knowledge, available right where you work\\nYour browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\", \"semantic_identifier\": \"Onyx\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://www.onyx.app/\", \"source_links\": {\"0\": \"https://www.onyx.app/\"}, \"match_highlights\": [\"\", \" browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\\nOnyx connects to all your apps\\nWorks out of the box, syncs in real time, with document level access.\\n40+ integrations available, with more being built every day.\\nBuilt for\\nEnterprise\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/system_overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking to customize the system or become an open source contributors, this is a great place to start.\\n\\nSystem Architecture\\nWhether deploying Onyx on a single instance or a container orchestration platform, the flow of data is the same. Documents are pulled and processed via connectors and then persisted in Vespa/Postgres which run in containers within your system.\\nThe only time sensitive data leaves your Onyx setup is when it makes a call to an LLM to generate an answer. The communications to the LLM are encrypted. The data persistence at the LLM API depends on the terms of the LLM hosting service you are using.\\nWe also note that Onyx has some very limited and anonymous telemetry to help us improve the system by identifying bottlenecks and flaky data connectors. You can turn off the telemetry with by setting the DISABLE_TELEMETRY env variable to True.\\n\\nEmbedding Flow\\nEach document is split into smaller sections called Chunks.\\nBy passing chunks to the LLM instead of full documents, we are able to reduce noise to the model by only passing in the relevant sections of the document. Additionally this is significantly more cost efficient as LLM services generally charge per token. Finally by embedding chunks rather than full documents, we are able to retain more detail as each vector embedding is only capable of encoding a limited amount of information.\\nThe addition of mini-chunks takes this concept even further. By embedding at different sizes, Onyx can retrieve both high level context and details. Mini-chunks can also be turned on/off via environment variables as generating multiple vectors per chunk can slow down document indexing if deployed on less capable hardware.\\nIn choosing our embedding model, we use the latest state-of-the-art biencoder that is small enough to run on CPU while maintaining subsecond document retrieval times.\\n\\nQuery Flow\\nThis flow is often updated as were constantly striving to push the capabilities of the retrieval pipeline with the most recent advancements coming out of research and the opensource community.\\nAlso note that many of the parameters of this flow such as how much documents to retrieve, how many to rerank, what models to use, which chunks are passed to the LLM, etc. are all configurable.\\nIf there are any questions, dont hesitate to reach out to the maintainers!\\nMultilingual Setup Contact Us\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking to customize the system or become an open source contributors, this is a great place to start.\\n\\nSystem Architecture\\nWhether deploying Onyx on a single instance or a container orchestration platform, the flow of data is the same.\", \"semantic_identifier\": \"System Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/system_overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/system_overview\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking...\"]}, {\"document_id\": \"https://docs.onyx.app/tools/overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform actions (e.g. write to a database, send an email, etc.)\\n- Generate content (e.g. generate an Image, create a plot, etc.)\\nBy default, we have a three tools built-in to Onyx. These are:\\n-\\nSearchTool . This is the core of Onyx. Adding this tool to an Assistant allows it to search over the knowledge youve connected up to Onyx through Connectors . This is the only tool available to the default Onyx assistant.\\n-\\nImageGenerationTool . This leverages DALLE-3 to generate images.\\n-\\nInternetSearchTool . This uses Bing to search the internet. To enable this as an option, set the BING_API_KEY environment variable.\\nEmbedding Models Custom Tools\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform actions (e.g. write to a database, send an email, etc.)\\n- Generate content (e.g. generate an Image, create a plot, etc.)\\nBy default, we have a three tools built-in to Onyx.\", \"semantic_identifier\": \"Tools Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/tools/overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/tools/overview\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/configuration_guide\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nConfiguring Onyx\\nWelcome to Onyx\\nConfiguring Onyx\\nHow to customize your deployment environment.\\n\\nCommon Environment Variables\\nAll of the global configuration options that are not built into the UI are set via environment variables. This page contains an exhaustive list of all the options.\\nThere are defaults set in the code so changing/settings these values is not required to use Onyx. A few notable settings that are more frequently changed however are the following:\\n- AUTH_TYPE (default value is disabled )\\n- MULTILINGUAL_QUERY_EXPANSION (you can provide a comma separated list of languages for query rephrasing such as English,French )\\n- LOG_LEVEL (default is info )\\n- WEB_DOMAIN (your full url in production, including the protocol- e.g. https://www.onyx.app )\\n\\nDocker Compose\\nThere are several ways to configure environment variables for the containers. For Docker Compose, there are many ways to pass environment variables to the container, any of the standard approaches will work. However the preferred approach for Onyx is to use the .env file. To do this, create a file called .env at onyx/deployment/docker_compose/.env . From there, populate it with the values you want to override:\\n# Configures basic email/password based login AUTH_TYPE=\\\"basic\\\" # Rephrasing the query into different languages to improve search recall MULTILINGUAL_QUERY_EXPANSION=\\\"English,Spanish,German\\\" # Set a cheaper/faster LLM for the flows that are easier (such as translating the query etc.) FAST_GEN_AI_MODEL_VERSION=\\\"gpt-3.5-turbo\\\" # Setting more verbose logging LOG_LEVEL=\\\"debug\\\" LOG_ALL_MODEL_INTERACTIONS=\\\"true\\\"\\n\\nKubernetes\\nFor Kubernetes, the deployment yaml files includes an Environment ConfigMap. Simply update the values in the file here .\\n\\nAll Environment Variables\\nThis is an extensive list of the currently supported environment variables within Onyx. There are several classes of environment variables. All of the global configuration options that are not built into the UI are set via environment variables.\\nYou can set these in your .env file.\\n\\nAuth Settings\\nThese variables control authentication and user management in Onyx.\\nAUTH_TYPE\\nControls the authentication method used by Onyx.\\ndisabled : No authentication is required.\\ngoogle_oauth : Users can log in using their Google accounts.\\nbasic : Standard username/password authentication.\\noidc : OpenID Connect, available in the enterprise edition.\\nsaml : Security Assertion Markup Language, available in the enterprise edition.\\n\\nSESSION_EXPIRE_TIME_SECONDS\\nDefines the duration of a users session in seconds. Default is 24 hours.\\n\\nENCRYPTION_KEY_SECRET\\nA strong, unique string used for encryption purposes. Keep this value secret.\\n\\nVALID_EMAIL_DOMAINS\\nComma-separated list of allowed email domains for authentication. Leave empty to allow all domains.\\n\\nGOOGLE_OAUTH_CLIENT_ID\\nClient ID for Google OAuth authentication, obtained from Google Cloud Console .\\n\\nGOOGLE_OAUTH_CLIENT_SECRET\\nClient Secret for Google OAuth authentication, obtained from Google Cloud Console . Keep this value secret.\\n\\nREQUIRE_EMAIL_VERIFICATION\\nWhen set to true , users must verify their email before accessing Onyx.\\n\\nSMTP_SERVER\\nHostname of the SMTP server for sending verification emails. Default is smtp.gmail.com .\\n\\nSMTP_PORT\\nPort used for SMTP communication. Common values are 587 (TLS) or 465 (SSL).\\n\\nSMTP_USER\\nUsername for SMTP authentication, often an email address used to send verification emails.\\n\\nSMTP_PASS\\nPassword for SMTP authentication. Keep this value secret.\\n\\nEMAIL_FROM\\nEmail address used as the sender for verification emails.\\n\\nNEXT_PUBLIC_FORGOT_PASSWORD_ENABLED\\nSet to true to enable the forgot password feature. Only enable this if you have configured the above SMTP settings (For email functionality).\\n\\nGen AI Settings\\nThese variables configure the generative AI capabilities of Onyx. These are covered in more depth at the generative AI configs .\\n\\nGEN_AI_MODEL_PROVIDER\\nSpecifies the provider of the generative AI model (e.g., openai , anthropic , huggingface ).\\n\\nGEN_AI_MODEL_VERSION\\nDefines the version of the generative AI model to use (e.g., gpt-4 for OpenAI).\\n\\nFAST_GEN_AI_MODEL_VERSION\\nSpecifies a faster (usually smaller) model version for certain tasks.\\n\\nGEN_AI_API_KEY\\nAPI key for accessing the generative AI service. Keep this value secret.\\n\\n...\\n\\nPOSTGRES_HOST\\nHostname or IP address of the Postgres server. Default is relational_db .\\n\\nVESPA_HOST\\nHostname or IP address of the Vespa server. Default is index .\\n\\nWEB_DOMAIN\\nFully qualified domain name used for the Onyx web interface. (e.g. https://www.onyx.com )\\n\\nNLP Model Configurations\\nAdvanced settings for NLP models. Modify with caution.\\n\\nINDEX_BATCH_SIZE\\nSize of batch used when indexing documents. Overrides the default batch size for indexing operations.\\n\\nEMBEDDING_BATCH_SIZE\\nSize of batch used when embedding documents during indexing and search operations. Overrides the default batch size for embedding processes.\\n\\nDOCUMENT_ENCODER_MODEL\\nName or path of the encoder model used for document encoding.\\n\\nDOC_EMBEDDING_DIM\\nDimension of document embeddings, typically matching the chosen encoder models output dimension.\\n\\nNORMALIZE_EMBEDDINGS\\nSet to true to enable normalization of embeddings.\\n\\nASYM_QUERY_PREFIX\\nText prepended to queries in asymmetric semantic search.\\n\\nENABLE_RERANKING_REAL_TIME_FLOW\\nSet to true to enable reranking in real-time search flow.\\n\\nENABLE_RERANKING_ASYNC_FLOW\\nSet to true to enable reranking in asynchronous search flow.\\n\\nMODEL_SERVER_HOST\\nHostname or IP address of the model server. Default is inference_model_server .\\n\\nMODEL_SERVER_PORT\\nPort on which the model server is listening.\\n\\nMiscellaneous\\n< Various other configuration options.\\n\\nDISABLE_TELEMETRY\\nSet to true to opt out of telemetry. Telemetry helps improve Onyx; no sensitive data is collected.\\n\\nLOG_LEVEL\\nSets the logging verbosity. Possible values: debug , info , warning , error , critical .\\n\\nLOG_ALL_MODEL_INTERACTIONS\\nSet to true to enable logging of all prompts sent to the LLM.\\n\\nLOG_VESPA_TIMING_INFORMATION\\nSet to true to enable additional logging of Vespa query performance.\\n\\nLOG_ENDPOINT_LATENCY\\nSet to true to enable logging of endpoint latency information.\\nCustom Model Server Multilingual Setup\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nConfiguring Onyx\\nWelcome to Onyx\\nConfiguring Onyx\\nHow to customize your deployment environment.\\n\\nCommon Environment Variables\\nAll of the global configuration options that are not built into the UI are set via environment variables. This page contains an exhaustive list of all the options.\\nThere are defaults set in the code so changing/settings these values is not required to use Onyx.\", \"semantic_identifier\": \"Configuring Onyx - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/configuration_guide\", \"source_links\": {\"0\": \"https://docs.onyx.app/configuration_guide\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nConfiguring Onyx\\nWelcome to Onyx\\nConfiguring Onyx\\nHow to customize\", \"variables. This page contains an exhaustive list of all the options.\\nThere are defaults set in the code so changing/settings these values is not required to use Onyx. A few notable settings that are more...\"]}, {\"document_id\": \"https://docs.onyx.app/connectors/notion\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nNotion Connector\\nConnectors\\nNotion Connector\\nAccess knowledge from your Notion workspace\\n\\nHow it works\\nThe Notion connector uses the Notion search API to fetch all pages that the connector has access to within a workspace. For follow up indexing runs, the connector only retrieves pages that have been updated since the last indexing attempt. Indexing is configured to run every 10 minutes , so page updates should appear within 10 minutes.\\n\\nSetting up\\n\\nAuthorization\\nIn order to authorize Onyx to connect to your Notion workspace, youll need to create a new integration in Notion, which will then provide you with a secret token.\\nThese steps are pulled from this Notion guide which you can also follow.\\n\\nStep 1: Create an integration\\n- Visit https://www.notion.com/my-integrations in your browser.\\n- Click the + New integration button.\\n- Name the integration (something like Onyx could work).\\n- Select Read content as the only capability required for Onyx.\\n- Click Submit to create the integration.\\nOn the next page, youll find your Notion integration token, also called an API key. Youll need this token to configure Onyx to index Notion, so make a copy of it.\\nThe integration has been added to the workspace, so any member can share pages and databases with it. Theres no requirement to be an Admin to share information with an integration.\\n\\nStep 2: Share pages/databases with your integration\\nNow that youve created an integration, you need to grant it access to Notion pages/databases. To keep your information secure, integrations dont have access to any pages or databases in the workspace at first. You must share specific pages with an integration in order for Onyx to access those pages.\\nTo share a page/database with your integration:\\n- Go to the page/database in your workspace.\\n- Click the on the top right corner of the page.\\n- Scroll to the bottom of the pop-up and click Add connections.\\n- Search for and select the new integration in the Search for connections... menu.\\n- If youve added a page, all child pages also become accesssible to Onyx. If youve added a database, all rows (and their children) become accessible to Onyx.\\nOnce youve granted access to a page/database, you can start configuring Onyx to index those databases.\\n\\nIndexing\\n- Navigate to the Admin Dashboard and select the Notion connector.\\n- In Step 1 , provide the Integration Token Secret you obtained in the Authorization steps above:\\n- Click the Connect button! Your content will then be pulled into Onyx every 10 minutes.\\nNote - As mentioned, the Notion connector currently indexes everything it has access to. If you want to limit specific content being indexed, simply unshare the database from Notion with the integration.\\nLinear Connector Oracle Storage Connector\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nNotion Connector\\nConnectors\\nNotion Connector\\nAccess knowledge from your Notion workspace\\n\\nHow it works\\nThe Notion connector uses the Notion search API to fetch all pages that the connector has access to within a workspace. For follow up indexing runs, the connector only retrieves pages that have been updated since the last indexing attempt. Indexing is configured to run every 10 minutes , so page updates should appear within 10 minutes.\", \"semantic_identifier\": \"Notion Connector - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/connectors/notion\", \"source_links\": {\"0\": \"https://docs.onyx.app/connectors/notion\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nNotion Connector\\nConnectors\\nNotion Connector\\nAccess knowledge from your Notion workspace\", \"since the last indexing attempt. Indexing is configured to run every 10 minutes , so page updates should appear within 10 minutes.\\n\\nSetting up\\n\\nAuthorization\\nIn order to authorize Onyx to connect to your Notion workspace, youll...\"]}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/ai_platform\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user chat sessions, attaching custom tools, handling LLM reasoning, code execution, data analysis, referencing internal knowledge, and much more.\\nOnyx as a platform is not a no-code agent builder. We are made by developers for developers and this gives your team the full flexibility and power to create agents not constrained by blocks and simple logic paths.\\n\\nFlexibility and Extensibility\\nOnyx is open source and completely whitebox. This not only gives transparency to what happens within the system but also means that your team can directly modify the source code to suit your unique needs.\\nEnterprise Search Customer Support\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user chat sessions, attaching custom tools, handling LLM reasoning, code execution, data analysis, referencing internal knowledge, and much more.\\nOnyx as a platform is not a no-code agent builder.\", \"semantic_identifier\": \"AI Platform - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/more/use_cases/ai_platform\", \"source_links\": {\"0\": \"https://docs.onyx.app/more/use_cases/ai_platform\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user...\"]}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI more versatile for work by enabling new types of questions like What is the most common feature request weve heard from customers this month. Whereas other AI systems have no context of your team and are generally unhelpful with work related questions, Onyx makes it possible to ask these questions in natural language and get back answers in seconds.\\nOnyx can connect to +30 different tools and the use cases are not limited to the ones in the following pages. The highlighted use cases are for inspiration and come from feedback gathered from our users and customers.\\n\\nCommon Getting Started Questions:\\n\\nWhy are these docs connected in my Onyx deployment?\\nAnswer: This is just an example of how connectors work in Onyx. You can connect up your own teams knowledge and you will be able to ask questions unique to your organization. Onyx will keep all of the knowledge up to date and in sync with your connected applications.\\n\\nIs my data being sent anywhere when I connect it up to Onyx?\\nAnswer: No! Onyx is built with data security as our highest priority. We open sourced it so our users can know exactly what is going on with their data. By default all of the document processing happens within Onyx. The only time it is sent outward is for the GenAI call to generate answers.\\n\\nWhere is the feature for auto sync-ing document level access permissions from all connected sources?\\nAnswer: This falls under the Enterprise Edition set of Onyx features built on top of the MIT/community edition. If you are on Onyx Cloud, you have access to them by default. If youre running it yourself, reach out to the Onyx team to receive access.\\nAdvanced Curator Examples Enterprise Search\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI more versatile for work by enabling new types of questions like What is the most common feature request weve heard from customers this month. Whereas other AI systems have no context of your team and are generally unhelpful with work related questions, Onyx makes it possible to ask these questions in natural language and get back answers in seconds.\", \"semantic_identifier\": \"Use Cases Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/more/use_cases/overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/more/use_cases/overview\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/google_oauth_setup\", \"content\": \"To turn the feature on set:\\n- AUTH_TYPE=google_oauth\\n- OAUTH_CLIENT_ID=\\n- OAUTH_CLIENT_SECRET=\\n- If setting up in production, then:\\n- WEB_DOMAIN=\\n\\nNon Containerized\\nSimply set the above environment variables when running the different Onyx processes.\\n- The backend api server uses the 3 environment variables\\n- The frontend hits the api server to determine what user authentication setting is configured and serves the relevant pages.\\n\\nDocker Compose\\nSimply set the 4 environment variables in a file called .env under onyx/deployment/docker_compose .\\n\\nKubernetes\\nKubernetes deployment was designed for production use and assumes that user Auth is a required feature therefore it is on by default. To set up the required values, replace the REPLACE-THIS values in secrets.yaml with thebase64 encoded client ID and client secret from above.\\nBasic Auth Setup OIDC/SAML Setup\", \"blurb\": \"To turn the feature on set:\\n- AUTH_TYPE=google_oauth\\n- OAUTH_CLIENT_ID=\\n- OAUTH_CLIENT_SECRET=\\n- If setting up in production, then:\\n- WEB_DOMAIN=\\n\\nNon Containerized\\nSimply set the above environment variables when running the different Onyx processes.\", \"semantic_identifier\": \"Google OAuth Setup - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/google_oauth_setup\", \"source_links\": {\"0\": \"https://docs.onyx.app/google_oauth_setup\"}, \"match_highlights\": [\"\", \"=\\n- OAUTH_CLIENT_SECRET=\\n- If setting up in production, then:\\n- WEB_DOMAIN=onyx.app>\\n\\nNon Containerized\\nSimply set the above environment variables when running the different Onyx processes.\\n- The backend api server uses the 3 environment variables\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/multilingual_setup\", \"content\": \"onyx documentation home page search... navigation welcome to onyx multilingual setup welcome to onyx multilingual setup how to set up onyx to support languages other than english for the majority of use cases, onyx provides an easy way to configure the system for multilingual use. to skip the details and just go to setup, see the configuration section below. how it works onyx has two main flows that assume english as a default. to use onyx in multilingual or non - english cases, these must be handled. - the vector portion of the hybrid - search / reranking. this selects relevant documents to pass to the large language model as context - the prompts for the large language model to instruct it on how to answer user queries. to address the first point, the english first embedding / reranking models can be swapped out for multilingual models. additionally query expansion is applied to rephrase the user query into the target languages. to address the second point, additional instructions are given to the llm to respect the input language and to respond in the same language as the user query. note : the onyx llm prompts are still in english, just with added instructions if the user configures multilingual settings ( see below ). if all of your documents and queries are in some other language, it will be better to simply translate all of onyxs prompts directly to that target language. you can do so here.\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nMultilingual Setup\\nWelcome to Onyx\\nMultilingual Setup\\nHow to set up Onyx to support languages other than English\\nFor the majority of use cases, Onyx provides an easy way to configure the system for multilingual use. To skip the details and just go to setup, see the Configuration section below.\\n\\nHow it works\\nOnyx has two main flows that assume English as a default. To use Onyx in multilingual or non-english cases, these must be handled.\", \"semantic_identifier\": \"Multilingual Setup - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/multilingual_setup\", \"source_links\": {\"0\": \"https://docs.onyx.app/multilingual_setup\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nMultilingual Setup\\nWelcome to Onyx\\nMultilingual Setup\\nHow to set up Onyx to support languages other than English\\nFor the majority of use cases, Onyx provides an easy way to configure the system for multilingual use. To skip the details and just go to setup\", \"\"]}]}\n" -"{\"sub_query\": \"Onyx I II III IV military program\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 0}\n" -"{\"sub_query\": \"\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 0}\n" -"{\"sub_query\": \"Onyx missile system development phases\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 1}\n" -"{\"sub_query\": \"\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 1}\n" -"{\"sub_query\": \"Onyx Soviet cruise missile specifications\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 2}\n" -"{\"sub_query\": \"\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 2}\n" -"{\"sub_question\": \"What\", \"level\": 0, \"level_question_nr\": 1}\n" -"{\"sub_question\": \" are the key features and capabilities of Onyx I\", \"level\": 0, \"level_question_nr\": 1}\n" -"{\"sub_question\": \"?\", \"level\": 0, \"level_question_nr\": 1}\n" -"{\"sub_question\": \"What are the key features and capabilities of\", \"level\": 0, \"level_question_nr\": 2}\n" -"{\"sub_question\": \" Onyx II?\", \"level\": 0, \"level_question_nr\": 2}\n" -"{\"sub_question\": \"What are the key features\", \"level\": 0, \"level_question_nr\": 3}\n" -"{\"sub_question\": \" and capabilities of Onyx III?\", \"level\": 0, \"level_question_nr\": 3}\n" -"{\"sub_question\": \"What\", \"level\": 0, \"level_question_nr\": 4}\n" -"{\"sub_question\": \" are the key features and capabilities of Onyx\", \"level\": 0, \"level_question_nr\": 4}\n" -"{\"sub_question\": \" IV?\", \"level\": 0, \"level_question_nr\": 4}\n" -"{\"sub_question\": \"\", \"level\": 0, \"level_question_nr\": 4}\n" -"{\"error\": \"An unexpected error occurred while processing your request. Please try again later.\", \"stack_trace\": \"Traceback (most recent call last):\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/litellm/llms/anthropic/chat/handler.py\\\", line 419, in completion\\n response = client.post(\\n ^^^^^^^^^^^^\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/litellm/llms/custom_httpx/http_handler.py\\\", line 531, in post\\n raise e\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/litellm/llms/custom_httpx/http_handler.py\\\", line 511, in post\\n response.raise_for_status()\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/httpx/_models.py\\\", line 761, in raise_for_status\\n raise HTTPStatusError(message, request=request, response=self)\\nhttpx.HTTPStatusError: Server error '529 ' for url 'https://api.anthropic.com/v1/messages'\\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/529\\n\\nDuring handling of the above exception, another exception occurred:\\n\\nTraceback (most recent call last):\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/litellm/main.py\\\", line 1749, in completion\\n response = anthropic_chat_completions.completion(\\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/litellm/llms/anthropic/chat/handler.py\\\", line 434, in completion\\n raise AnthropicError(\\nlitellm.llms.anthropic.common_utils.AnthropicError: {\\\"type\\\":\\\"error\\\",\\\"error\\\":{\\\"type\\\":\\\"overloaded_error\\\",\\\"message\\\":\\\"Overloaded\\\"}}\\n\\nDuring handling of the above exception, another exception occurred:\\n\\nTraceback (most recent call last):\\n File \\\"/Users/danswer-trial/onyx/backend/onyx/chat/process_message.py\\\", line 770, in stream_chat_message_objects\\n for packet in answer.processed_streamed_output:\\n File \\\"/Users/danswer-trial/onyx/backend/onyx/chat/answer.py\\\", line 300, in processed_streamed_output\\n for processed_packet in self._get_response([llm_call]):\\n File \\\"/Users/danswer-trial/onyx/backend/onyx/chat/answer.py\\\", line 246, in _get_response\\n for packet in stream:\\n File \\\"/Users/danswer-trial/onyx/backend/onyx/agent_search/run_graph.py\\\", line 149, in run_graph\\n for event in _manage_async_event_streaming(\\n File \\\"/Users/danswer-trial/onyx/backend/onyx/agent_search/run_graph.py\\\", line 103, in _yield_async_to_sync\\n event = loop.run_until_complete(next_coro)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n File \\\"/opt/homebrew/Cellar/python@3.11/3.11.10/Frameworks/Python.framework/Versions/3.11/lib/python3.11/asyncio/base_events.py\\\", line 654, in run_until_complete\\n return future.result()\\n ^^^^^^^^^^^^^^^\\n File \\\"/Users/danswer-trial/onyx/backend/onyx/agent_search/run_graph.py\\\", line 82, in _run_async_event_stream\\n async for event in compiled_graph.astream_events(\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langchain_core/runnables/base.py\\\", line 1388, in astream_events\\n async for event in event_stream:\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langchain_core/tracers/event_stream.py\\\", line 1012, in _astream_events_implementation_v2\\n await task\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langchain_core/tracers/event_stream.py\\\", line 967, in consume_astream\\n async for _ in event_streamer.tap_output_aiter(run_id, stream):\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langchain_core/tracers/event_stream.py\\\", line 203, in tap_output_aiter\\n async for chunk in output:\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langgraph/pregel/__init__.py\\\", line 1874, in astream\\n async for _ in runner.atick(\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langgraph/pregel/runner.py\\\", line 444, in atick\\n _panic_or_proceed(\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langgraph/pregel/runner.py\\\", line 539, in _panic_or_proceed\\n raise exc\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langgraph/pregel/retry.py\\\", line 127, in arun_with_retry\\n async for _ in task.proc.astream(task.input, config):\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langgraph/utils/runnable.py\\\", line 568, in astream\\n async for chunk in aiterator:\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langchain_core/tracers/event_stream.py\\\", line 180, in tap_output_aiter\\n first = await py_anext(output, default=sentinel)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langchain_core/utils/aiter.py\\\", line 76, in anext_impl\\n return await __anext__(iterator)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langchain_core/runnables/base.py\\\", line 1455, in atransform\\n async for ichunk in input:\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langchain_core/runnables/base.py\\\", line 1455, in atransform\\n async for ichunk in input:\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langgraph/pregel/__init__.py\\\", line 1874, in astream\\n async for _ in runner.atick(\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langgraph/pregel/runner.py\\\", line 362, in atick\\n await arun_with_retry(\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langgraph/pregel/retry.py\\\", line 127, in arun_with_retry\\n async for _ in task.proc.astream(task.input, config):\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langgraph/utils/runnable.py\\\", line 568, in astream\\n async for chunk in aiterator:\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langchain_core/tracers/event_stream.py\\\", line 180, in tap_output_aiter\\n first = await py_anext(output, default=sentinel)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langchain_core/utils/aiter.py\\\", line 76, in anext_impl\\n return await __anext__(iterator)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langchain_core/runnables/base.py\\\", line 1455, in atransform\\n async for ichunk in input:\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langchain_core/runnables/base.py\\\", line 1455, in atransform\\n async for ichunk in input:\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langgraph/pregel/__init__.py\\\", line 1874, in astream\\n async for _ in runner.atick(\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langgraph/pregel/runner.py\\\", line 444, in atick\\n _panic_or_proceed(\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langgraph/pregel/runner.py\\\", line 539, in _panic_or_proceed\\n raise exc\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langgraph/pregel/retry.py\\\", line 127, in arun_with_retry\\n async for _ in task.proc.astream(task.input, config):\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langgraph/utils/runnable.py\\\", line 568, in astream\\n async for chunk in aiterator:\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langchain_core/tracers/event_stream.py\\\", line 180, in tap_output_aiter\\n first = await py_anext(output, default=sentinel)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langchain_core/utils/aiter.py\\\", line 76, in anext_impl\\n return await __anext__(iterator)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langchain_core/runnables/base.py\\\", line 1455, in atransform\\n async for ichunk in input:\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langchain_core/runnables/base.py\\\", line 1455, in atransform\\n async for ichunk in input:\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langchain_core/runnables/base.py\\\", line 1018, in astream\\n yield await self.ainvoke(input, config, **kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langgraph/utils/runnable.py\\\", line 236, in ainvoke\\n ret = await asyncio.create_task(coro, context=context)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langchain_core/runnables/config.py\\\", line 588, in run_in_executor\\n return await asyncio.get_running_loop().run_in_executor(\\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n File \\\"/opt/homebrew/Cellar/python@3.11/3.11.10/Frameworks/Python.framework/Versions/3.11/lib/python3.11/concurrent/futures/thread.py\\\", line 58, in run\\n result = self.fn(*self.args, **self.kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langchain_core/runnables/config.py\\\", line 579, in wrapper\\n return func(*args, **kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^\\n File \\\"/Users/danswer-trial/onyx/backend/onyx/agent_search/pro_search_a/expanded_retrieval/nodes.py\\\", line 238, in doc_verification\\n response = fast_llm.invoke(msg)\\n ^^^^^^^^^^^^^^^^^^^^\\n File \\\"/Users/danswer-trial/onyx/backend/onyx/llm/interfaces.py\\\", line 97, in invoke\\n return self._invoke_implementation(\\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n File \\\"/Users/danswer-trial/onyx/backend/onyx/llm/chat_llm.py\\\", line 442, in _invoke_implementation\\n self._completion(\\n File \\\"/Users/danswer-trial/onyx/backend/onyx/llm/chat_llm.py\\\", line 416, in _completion\\n raise e\\n File \\\"/Users/danswer-trial/onyx/backend/onyx/llm/chat_llm.py\\\", line 384, in _completion\\n return litellm.completion(\\n ^^^^^^^^^^^^^^^^^^^\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/litellm/utils.py\\\", line 1003, in wrapper\\n raise e\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/litellm/utils.py\\\", line 884, in wrapper\\n result = original_function(*args, **kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/litellm/main.py\\\", line 2927, in completion\\n raise exception_type(\\n ^^^^^^^^^^^^^^^\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/litellm/litellm_core_utils/exception_mapping_utils.py\\\", line 2148, in exception_type\\n raise e\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/litellm/litellm_core_utils/exception_mapping_utils.py\\\", line 504, in exception_type\\n raise litellm.InternalServerError(\\nlitellm.exceptions.InternalServerError: litellm.InternalServerError: AnthropicException - {\\\"type\\\":\\\"error\\\",\\\"error\\\":{\\\"type\\\":\\\"overloaded_error\\\",\\\"message\\\":\\\"Overloaded\\\"}}. Handle with `litellm.InternalServerError`.\\nDuring task with name 'doc_verification' and id 'af3e9b12-d696-8ad6-521c-e07f830d09ed'\\nDuring task with name 'expanded_retrieval_base_search' and id '1f340c27-f6f5-b0b9-5240-33401397b07f'\\nDuring task with name 'base_raw_search_subgraph' and id '5bf4938a-6168-a6c0-7eda-d8537dbe509b'\\n\"}\n" -"{\"user_message_id\": 425, \"reserved_assistant_message_id\": 426}\n" -"{\"tool_name\": \"run_search\", \"tool_args\": {\"query\": \"what is onyx I, II, III, and IV?\"}}\n" -"{\"top_documents\": [{\"document_id\": \"https://docs.onyx.app/introduction\", \"chunk_ind\": 0, \"semantic_identifier\": \"Introduction - Onyx Documentation\", \"link\": \"https://docs.onyx.app/introduction\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into any LLM of your choice. Onyx can be deployed anywhere and for any scale - on a laptop, on-premise, or to cloud. Since you own the deployment, your user data and chats are fully in your own control. Onyx is MIT licensed and designed to be modular and easily extensible.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.9055506087995184, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29797}, {\"document_id\": \"https://www.onyx.app/\", \"chunk_ind\": 0, \"semantic_identifier\": \"Onyx\", \"link\": \"https://www.onyx.app/\", \"blurb\": \"Help your \\u00b0\\nEng\\nSupport\\nSales\\nProduct\\nOps team\\nfind information faster\\nThe open source AI connected to your company's docs, apps, and people Book a demo\\nYour browser does not support the video tag.\\nAI Workplace Search\\nFind answers across all your teams' applications\\nYour browser does not support the video tag.\\nAI Assistant\\nCreate AI Assistants powered by your org's unique knowledge, available right where you work\\nYour browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.8305044055088497, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \" browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\\nOnyx connects to all your apps\\nWorks out of the box, syncs in real time, with document level access.\\n40+ integrations available, with more being built every day.\\nBuilt for\\nEnterprise\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29798}, {\"document_id\": \"https://docs.onyx.app/system_overview\", \"chunk_ind\": 0, \"semantic_identifier\": \"System Overview - Onyx Documentation\", \"link\": \"https://docs.onyx.app/system_overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking to customize the system or become an open source contributors, this is a great place to start.\\n\\nSystem Architecture\\nWhether deploying Onyx on a single instance or a container orchestration platform, the flow of data is the same.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.8118478430927542, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29799}, {\"document_id\": \"https://docs.onyx.app/tools/overview\", \"chunk_ind\": 0, \"semantic_identifier\": \"Tools Overview - Onyx Documentation\", \"link\": \"https://docs.onyx.app/tools/overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform actions (e.g. write to a database, send an email, etc.)\\n- Generate content (e.g. generate an Image, create a plot, etc.)\\nBy default, we have a three tools built-in to Onyx.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.8023337265128674, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29800}, {\"document_id\": \"https://docs.onyx.app/configuration_guide\", \"chunk_ind\": 0, \"semantic_identifier\": \"Configuring Onyx - Onyx Documentation\", \"link\": \"https://docs.onyx.app/configuration_guide\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nConfiguring Onyx\\nWelcome to Onyx\\nConfiguring Onyx\\nHow to customize your deployment environment.\\n\\nCommon Environment Variables\\nAll of the global configuration options that are not built into the UI are set via environment variables. This page contains an exhaustive list of all the options.\\nThere are defaults set in the code so changing/settings these values is not required to use Onyx.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7863535663179132, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nConfiguring Onyx\\nWelcome to Onyx\\nConfiguring Onyx\\nHow to customize\", \"variables. This page contains an exhaustive list of all the options.\\nThere are defaults set in the code so changing/settings these values is not required to use Onyx. A few notable settings that are more...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29801}, {\"document_id\": \"https://docs.onyx.app/connectors/notion\", \"chunk_ind\": 0, \"semantic_identifier\": \"Notion Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/notion\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nNotion Connector\\nConnectors\\nNotion Connector\\nAccess knowledge from your Notion workspace\\n\\nHow it works\\nThe Notion connector uses the Notion search API to fetch all pages that the connector has access to within a workspace. For follow up indexing runs, the connector only retrieves pages that have been updated since the last indexing attempt. Indexing is configured to run every 10 minutes , so page updates should appear within 10 minutes.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7796278203716318, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nNotion Connector\\nConnectors\\nNotion Connector\\nAccess knowledge from your Notion workspace\", \"since the last indexing attempt. Indexing is configured to run every 10 minutes , so page updates should appear within 10 minutes.\\n\\nSetting up\\n\\nAuthorization\\nIn order to authorize Onyx to connect to your Notion workspace, youll...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29802}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/ai_platform\", \"chunk_ind\": 0, \"semantic_identifier\": \"AI Platform - Onyx Documentation\", \"link\": \"https://docs.onyx.app/more/use_cases/ai_platform\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user chat sessions, attaching custom tools, handling LLM reasoning, code execution, data analysis, referencing internal knowledge, and much more.\\nOnyx as a platform is not a no-code agent builder.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7643781358938669, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29803}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/overview\", \"chunk_ind\": 0, \"semantic_identifier\": \"Use Cases Overview - Onyx Documentation\", \"link\": \"https://docs.onyx.app/more/use_cases/overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI more versatile for work by enabling new types of questions like What is the most common feature request weve heard from customers this month. Whereas other AI systems have no context of your team and are generally unhelpful with work related questions, Onyx makes it possible to ask these questions in natural language and get back answers in seconds.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.763143793988455, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29804}, {\"document_id\": \"https://docs.onyx.app/google_oauth_setup\", \"chunk_ind\": 1, \"semantic_identifier\": \"Google OAuth Setup - Onyx Documentation\", \"link\": \"https://docs.onyx.app/google_oauth_setup\", \"blurb\": \"To turn the feature on set:\\n- AUTH_TYPE=google_oauth\\n- OAUTH_CLIENT_ID=\\n- OAUTH_CLIENT_SECRET=\\n- If setting up in production, then:\\n- WEB_DOMAIN=\\n\\nNon Containerized\\nSimply set the above environment variables when running the different Onyx processes.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7602428950082115, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"=\\n- OAUTH_CLIENT_SECRET=\\n- If setting up in production, then:\\n- WEB_DOMAIN=onyx.app>\\n\\nNon Containerized\\nSimply set the above environment variables when running the different Onyx processes.\\n- The backend api server uses the 3 environment variables\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29805}, {\"document_id\": \"https://docs.onyx.app/multilingual_setup\", \"chunk_ind\": 0, \"semantic_identifier\": \"Multilingual Setup - Onyx Documentation\", \"link\": \"https://docs.onyx.app/multilingual_setup\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nMultilingual Setup\\nWelcome to Onyx\\nMultilingual Setup\\nHow to set up Onyx to support languages other than English\\nFor the majority of use cases, Onyx provides an easy way to configure the system for multilingual use. To skip the details and just go to setup, see the Configuration section below.\\n\\nHow it works\\nOnyx has two main flows that assume English as a default. To use Onyx in multilingual or non-english cases, these must be handled.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7486364190912661, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nMultilingual Setup\\nWelcome to Onyx\\nMultilingual Setup\\nHow to set up Onyx to support languages other than English\\nFor the majority of use cases, Onyx provides an easy way to configure the system for multilingual use. To skip the details and just go to setup\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29806}, {\"document_id\": \"https://docs.onyx.app/oidc_saml\", \"chunk_ind\": 0, \"semantic_identifier\": \"OIDC/SAML Setup - Onyx Documentation\", \"link\": \"https://docs.onyx.app/oidc_saml\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nAuth\\nOIDC/SAML Setup\\nAuth\\nOIDC/SAML Setup\\nIntegrating Onyx with your IdP\\nAs part of the Enterprise Edition, Onyx adds support for OIDC / SAML and integrates with popular IdPs (e.g. Okta, Microsoft Entra ID, etc). We also have and will continue to add new integrations with custom, in-house IdPs on request.\\nIf this is something you are looking for, please reach to us directly and wed be happy to work with you to set this up.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7403261429939674, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nAuth\\nOIDC/SAML Setup\\nAuth\\nOIDC/SAML Setup\\nIntegrating Onyx with your IdP\\nAs part of the Enterprise Edition, Onyx adds support for OIDC / SAML and integrates with popular IdPs (e.g. Okta, Microsoft Entra ID, etc). We also have and will continue to add new integrations\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29807}, {\"document_id\": \"https://docs.onyx.app/contact_us\", \"chunk_ind\": 0, \"semantic_identifier\": \"Contact Us - Onyx Documentation\", \"link\": \"https://docs.onyx.app/contact_us\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nContact Us\\nWelcome to Onyx\\nContact Us\\nWe would love to hear from you!\\n\\nPlease dont hesitate to reach out!\\nShoot us a message at founders@onyx.app\\nOr join our Slack or Discord\\nSystem Overview Connector Overview\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7381888804864071, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nContact Us\\nWelcome to Onyx\\nContact Us\\nWe would love to hear from you!\\n\\nPlease dont hesitate to reach out!\\nShoot us a message at founders@onyx.app\\nOr join our Slack or Discord\\nSystem Overview Connector Overview\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29808}, {\"document_id\": \"https://docs.onyx.app/enterprise_edition/permissioning\", \"chunk_ind\": 0, \"semantic_identifier\": \"Permissioning - Onyx Documentation\", \"link\": \"https://docs.onyx.app/enterprise_edition/permissioning\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nPermissioning\\nEnterprise\\nPermissioning\\nPermissions for what documents users can and cannot access in Onyx are determined by the access level set for each connector.\\n\\nConnector Access Types:\\n\\n1. Public\\n- Any user can access the documents in the connector\\n\\n2. Private\\n- All documents from connectors that are private are only accessible to users in the group(s) that the connector is attached to.\\n\\n3. Sync\\n- When one a connector is created with syncing access enabled, the permissions are inhereted from the source.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7353411193404894, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nPermissioning\\nEnterprise\\nPermissioning\\nPermissions for what documents users can and cannot access in Onyx are determined by the access level set for each connector.\\n\\nConnector Access Types:\\n\\n1. Public\\n- Any user can access the documents in the connector\\n\\n2. Private\\n- \", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29809}, {\"document_id\": \"https://docs.onyx.app/quickstart\", \"chunk_ind\": 0, \"semantic_identifier\": \"Quickstart - Onyx Documentation\", \"link\": \"https://docs.onyx.app/quickstart\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nQuickstart\\nWelcome to Onyx\\nQuickstart\\nHow to deploy Onyx on your local machine\\n\\nRequirements\\n- git\\n- Docker with compose (docker version >= 1.13.0)\\n- System requirements found here\\n\\nSetup\\nThe most common source of issues is under-resourcing. Before beginning, check the system requirements here .\\n- Clone the Onyx repo:\\ngit clone https://github.com/onyx-dot-app/onyx.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7341179495213848, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nQuickstart\\nWelcome to Onyx\\nQuickstart\\nHow to deploy Onyx on your local machine\\n\\nRequirements\\n- git\\n- Docker with compose (docker version >= 1.13.0)\\n- System requirements found here\\n\\nSetup\\nThe most common source of issues is under-resourcing\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29810}, {\"document_id\": \"https://docs.onyx.app/connectors/egnyte\", \"chunk_ind\": 0, \"semantic_identifier\": \"Egnyte Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/egnyte\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nEgnyte Connector\\nConnectors\\nEgnyte Connector\\nAccess files stored in Egnyte\\n\\nHow it works\\nThe Egnyte connector pulls in files stored in Egnyte. The Egnyte connector indexes the file name, file type, and contents of the file.\\nNew files are pulled every 10 minutes.\\n\\nSetup\\n\\nConfigure your Egnyte Application + Onyx env variables\\nThis is only necessary if self-hosting Onyx. If using Onyx Cloud , you can skip this step.\\n- Create an Egnyte Application.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7323433554708743, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nEgnyte Connector\\nConnectors\\nEgnyte Connector\\nAccess files stored in \", \"connector indexes the file name, file type, and contents of the file.\\nNew files are pulled every 10 minutes.\\n\\nSetup\\n\\nConfigure your Egnyte Application + Onyx env variables\\nThis is only necessary if self-hosting Onyx. If using Onyxonyx\\nNavigate to the onyx/deployment/kubernetes directory in the repository that you have cloned down\\nAfterwards, you can run the installation of the yaml files\\nkubectl apply -f . -n onyx\\n\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29812}, {\"document_id\": \"https://docs.onyx.app/connectors/overview\", \"chunk_ind\": 0, \"semantic_identifier\": \"Connector Overview - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nConnector Overview\\nConnectors\\nConnector Overview\\nBasic Information about Connectors\\n\\nWhat are Connectors\\nConnectors hook up Onyx to your data sources so that answers are grounded in your organizations knowledge.\\n\\nConnectors help you\\n- Choose Sources so you can include only the data you want indexed.\\n- Configure Access so Onyx can securely access data with your permission.\\n- Set Up Fetching options to keep Onyxs answers up to date.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7237149409215708, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nConnector Overview\\nConnectors\\nConnector Overview\\nBasic Information about Connectors\\n\\nWhat are Connectors\\nConnectors hook up Onyx to your data sources so that answers are grounded in your organizations knowledge.\\n\\nConnectors help you\\n- Choose Sources so you can include only the data you want indexed.\\n- Configure\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29813}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/operations\", \"chunk_ind\": 0, \"semantic_identifier\": \"Operations - Onyx Documentation\", \"link\": \"https://docs.onyx.app/more/use_cases/operations\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nOperations\\nUse Cases\\nOperations\\nDouble the productivity of your Ops teams like IT, HR, etc.\\n\\nAutomatically Resolve Tickets\\nModern teams are leveraging AI to auto-resolve up to 50% of tickets. Whether it is an employee asking about benefits details or how to set up the VPN for remote work, Onyx can help your team help themselves. This frees up your team to do the real impactful work of landing star candidates or improving your internal processes.\\n\\nAI Aided Onboarding\\nOne of the periods where your team needs the most help is when theyre just ramping up.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7194937204130993, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nOperations\\nUse Cases\\nOperations\\nDouble the productivity of your Ops teams like IT\", \"Modern teams are leveraging AI to auto-resolve up to 50% of tickets. Whether it is an employee asking about benefits details or how to set up the VPN for remote work, Onyx can help your team help themselves. This frees up your team to do...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29814}, {\"document_id\": \"https://docs.onyx.app/production/aws/ec2\", \"chunk_ind\": 3, \"semantic_identifier\": \"[Recommended] EC2 - Onyx Documentation\", \"link\": \"https://docs.onyx.app/production/aws/ec2\", \"blurb\": \"You can then access Onyx from the IP address from earlier or from the instance Public IPv4 DNS provided on the instances page in the AWS console.\\nVoila, youre all done! \\nAfter waiting a few minutes (you can monitor the progress with docker logs onyx-stack-api_server-1 -f ; once you see a log for INFO: Application startup complete. then everything should be good to go).\\nZulip Connector EKS\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.716997317611543, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"You can then access Onyx from the IP address from earlier or from the instance Public IPv4 DNS provided on the instances page in the AWS console.\\nVoila, youre all done! \\nAfter waiting a few minutes (you can monitor the progress with docker logs onyx-stack-api_server-1 -f ; once you see a log for INFO: Application startup complete. then everything should be good to go).\\nZulip...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29815}, {\"document_id\": \"https://docs.onyx.app/gen_ai_configs/custom_server\", \"chunk_ind\": 0, \"semantic_identifier\": \"Custom Model Server - Onyx Documentation\", \"link\": \"https://docs.onyx.app/gen_ai_configs/custom_server\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nCustom Model Server\\nGen AI Configs\\nCustom Model Server\\nConfigure Onyx to use a Custom Model Server via requests\\nOnyx can also make requests to an arbitrary model server via REST requests. Optionally an access token can be passed in. To customize the request format and handling of the response, it may be necessary to update/rebuild the Onyx containers.\\n\\nExtending Onyx to be compatible with your custom model server\\nTheres a very minimal interface to be implemented which can support any arbitrary LLM Model Server. Simply update the code here and rebuild .\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7131312117439442, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nCustom Model Server\\nGen AI Configs\\nCustom Model Server\\nConfigure Onyx to use a Custom Model Server via requests\\nOnyx can also make requests to an arbitrary model server via REST requests. Optionally an access token can be passed\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29816}, {\"document_id\": \"https://docs.onyx.app/gen_ai_configs/ollama\", \"chunk_ind\": 0, \"semantic_identifier\": \"Ollama - Onyx Documentation\", \"link\": \"https://docs.onyx.app/gen_ai_configs/ollama\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nOllama\\nGen AI Configs\\nOllama\\nConfigure Onyx to use Ollama\\nRefer to Model Configs for how to set the environment variables for your particular deployment.\\nNote : While we support self hosted LLMs, you will get significantly better responses with a more powerful model like GPT-4.\\n\\nWhat is Ollama\\nOllama provides an easy way to host LLMs locally and to provide a REST API for the model.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7105898032103564, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nOllama\\nGen AI Configs\\nOllama\\nConfigure Onyx to use Ollama\", \"ollama\\nOnce you start a model with a command like ollama run llama2 , you can verify that the API works with a curl request:\\ncurl http://localhost:11434/api/generate -d '{ \\\"model\\\": \\\"llama2\\\", \\\"prompt\\\":\\\"Why is the sky blue?\\\" }'\\n\\nSet Onyx to use...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29817}, {\"document_id\": \"https://docs.onyx.app/resourcing\", \"chunk_ind\": 0, \"semantic_identifier\": \"Resourcing - Onyx Documentation\", \"link\": \"https://docs.onyx.app/resourcing\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nResourcing\\nWelcome to Onyx\\nResourcing\\nRecommended CPU / RAM / Disk to run Onyx\\n\\nRunning Locally\\nWhen running locally through Docker, we recommend making at least 4vCPU cores and 10GB of RAM available to Docker (16GB is preferred). This can be controlled in the Resources section of the Docker Desktop settings menu.\\n\\nSingle Cloud Instance\\nWe generally recommend setting everything up on a single instance (e.g. an AWS EC2 instance, a Google Compute Engine instance, an Azure VM, etc.)\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.708157085558857, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nResourcing\\nWelcome to Onyx\\nResourcing\\nRecommended CPU / RAM / Disk to run Onyx\\n\\nRunning Locally\\nWhen running locally through Docker, we recommend making at least 4vCPU cores and 10GB of RAM available to Docker (16GB is preferred). This\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29818}, {\"document_id\": \"https://docs.onyx.app/backend_apis/ingestion\", \"chunk_ind\": 1, \"semantic_identifier\": \"Ingestion API - Onyx Documentation\", \"link\": \"https://docs.onyx.app/backend_apis/ingestion\", \"blurb\": \"\\\", \\\"link\\\": \\\"https://docs.onyx.app/introduction#main-features\\\" } ], \\\"source\\\": \\\"web\\\", \\\"semantic_identifier\\\": \\\"Onyx Ingestion Example\\\", \\\"metadata\\\": { \\\"tag\\\": \\\"informational\\\", \\\"topics\\\": [\\\"onyx\\\", \\\"api\\\"] }, \\\"doc_updated_at\\\": \\\"2024-04-25T08:20:00Z\\\" },\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7062076765690749, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\\\", \\\"link\\\": \\\"https://docs.onyx.app/introduction#main-features\\\" } ], \\\"source\\\": \\\"web\\\", \\\"semantic_identifier\\\": \\\"Onyx Ingestion Example\\\", \\\"metadata\\\": { \\\"tag\\\": \\\"informational\\\", \\\"topics\\\": [\\\"onyx\\\", \\\"api\\\"] }, \\\"doc_updated_at\\\": \\\"2024-04\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29819}, {\"document_id\": \"https://docs.onyx.app/production/digitalocean\", \"chunk_ind\": 3, \"semantic_identifier\": \"Deploy on Digital Ocean - Onyx Documentation\", \"link\": \"https://docs.onyx.app/production/digitalocean\", \"blurb\": \"You can then access Onyx from the IP address from earlier or from the instance Public IPv4 DNS provided on the instances page in the DigitalOcean console.\\nVoila, youre all done! \\nAfter waiting a few minutes (you can monitor the progress with docker logs onyx-stack-api_server-1 -f ; once you see a log for INFO: Application startup complete. then everything should be good to go).\\nDeploy on Azure Basic Auth Setup\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7060997242031057, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"You can then access Onyx from the IP address from earlier or from the instance Public IPv4 DNS provided on the instances page in the DigitalOcean console.\\nVoila, youre all done! \\nAfter waiting\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29820}, {\"document_id\": \"https://docs.onyx.app/gen_ai_configs/vertex_ai\", \"chunk_ind\": 0, \"semantic_identifier\": \"Vertex AI - Onyx Documentation\", \"link\": \"https://docs.onyx.app/gen_ai_configs/vertex_ai\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nVertex AI\\nGen AI Configs\\nVertex AI\\nConfigure Onyx to use Vertex AI\\nThere are currently two supported approaches to use Vertex AI with Onyx:\\n- Use the gcloud CLI to authenticate\\n- Set up a service account, and use the service account to authenticate\\n\\nUse the gcloud CLI to authenticate\\n- Install the gcloud CLI\\n- Authenticate with the gcloud CLI using gcloud auth application-default login on the machine that Onyx is running on.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7014937812068123, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nVertex AI\\nGen AI Configs\\nVertex AI\\nConfigure Onyx to use Vertex AI\\nThere are currently two supported approaches to use Vertex AI with Onyx:\\n- Use the gcloud CLI to authenticate\\n- Set up a service\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29821}, {\"document_id\": \"https://docs.onyx.app/guides/assistants\", \"chunk_ind\": 0, \"semantic_identifier\": \"Creating Assistants - Onyx Documentation\", \"link\": \"https://docs.onyx.app/guides/assistants\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGuides\\nCreating Assistants\\nGuides\\nCreating Assistants\\nA comprehensive guide to creating and configuring AI assistants in Onyx\\n\\nIntroduction\\nOnyx empowers you to create custom AI assistants tailored to your specific needs. These assistants can be configured to handle a wide range of tasks, from answering HR queries to assisting with technical support. This guide will walk you through the process of creating an effective assistant using Onyxs platform.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6999771240271192, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nGuides\\nCreating Assistants\\nGuides\\nCreating Assistants\\nA comprehensive guide to creating and configuring AI assistants in Onyx\\n\\nIntroduction\\nOnyx empowers you to create custom AI assistants tailored to your specific needs. These assistants can be configured to handle a wide range of tasks\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29822}, {\"document_id\": \"https://docs.onyx.app/connectors/productboard\", \"chunk_ind\": 0, \"semantic_identifier\": \"Productboard Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/productboard\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nProductboard Connector\\nConnectors\\nProductboard Connector\\nSync knowledge from Productboard\\n\\nHow it works\\nThe Productboard connector pulls in all the Features , Components , Products , and Objectives into Onyx. At this time, the Productboard APIs does not support pulling in Releases or Notes .\\nEverything is updated every 10 minutes.\\n\\nSetting up\\n\\nAuthorization\\n- Follow the Getting a token guide here to get an Access Token.\\n\\nIndexing\\n- Navigate to the Admin Dashboard and select the Productboard Connector\\n- In Step 1 , provide your Access Token\\n- Click Connect to begin indexing\\nOracle Storage Connector R2 Connector\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.699884180810737, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nProductboard Connector\\nConnectors\\nProductboard Connector\\nSync knowledge from Productboard\\n\\nHow it works\\nThe Productboard connector pulls in all the Features , Components , Products , and Objectives into Onyx. At this time, the Productboard APIs does not support pulling in Releases or Notes .\\nEverything is updated every...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29823}, {\"document_id\": \"https://docs.onyx.app/gen_ai_configs/anthropic\", \"chunk_ind\": 0, \"semantic_identifier\": \"Anthropic - Onyx Documentation\", \"link\": \"https://docs.onyx.app/gen_ai_configs/anthropic\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nAnthropic\\nGen AI Configs\\nAnthropic\\nConfigure Onyx to use different Anthropic models\\nAnthropic is quite straightforward. Grab an API key from the developer platform, then put it into the API Key field and youll be good to go!\\nOpenAI Azure OpenAI\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6987792467686547, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nAnthropic\\nGen AI Configs\\nAnthropic\\nConfigure Onyx to use different Anthropic models\\nAnthropic is quite straightforward. Grab an API key from the developer platform, then put it into the API Key field and youll be good to go!\\nOpenAI Azure OpenAI\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29824}, {\"document_id\": \"https://docs.onyx.app/guides/providers\", \"chunk_ind\": 0, \"semantic_identifier\": \"LLM Providers - Onyx Documentation\", \"link\": \"https://docs.onyx.app/guides/providers\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGuides\\nLLM Providers\\nGuides\\nLLM Providers\\nA comprehensive guide to selecting and using LLM providers in Onyx\\n\\nOnyxs Approach to LLM Providers\\nOnyx is designed to be model-agnostic, offering you the flexibility to choose the Language Model (LLM) that best suits your needs. This approach ensures that youre not locked into a single provider and can leverage the strengths of different models for various tasks.\\n\\nModel Overview\\nOnyx offers integration with several popular LLM providers, with a focus on models from OpenAI and Anthropic.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.697773075344141, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nGuides\\nLLM Providers\\nGuides\\nLLM Providers\\nA comprehensive guide to selecting and using LLM providers in Onyx\\n\\nOnyxs Approach to LLM Providers\\nOnyx is designed to be model-agnostic, offering you the flexibility to choose the Language Model (LLM) that best suits\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29825}, {\"document_id\": \"https://docs.onyx.app/tools/custom\", \"chunk_ind\": 2, \"semantic_identifier\": \"Custom Tools - Onyx Documentation\", \"link\": \"https://docs.onyx.app/tools/custom\", \"blurb\": \"\\\"prompt_ids\\\", \\\"document_set_ids\\\", \\\"tool_ids\\\" ] } } } } } } } }\\nTools Overview Ingestion API\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6917950030784198, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\\\"prompt_ids\\\", \\\"document_set_ids\\\", \\\"tool_ids\\\" ] } } } } } } } }\\nTools Overview Ingestion API\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29826}, {\"document_id\": \"https://docs.onyx.app/connectors/s3\", \"chunk_ind\": 1, \"semantic_identifier\": \"S3 Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/s3\", \"blurb\": \"Request Tracker Connector Salesforce Connector\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6914780890769989, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Request Tracker Connector Salesforce Connector\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29827}, {\"document_id\": \"https://docs.onyx.app/guides/embedding_providers\", \"chunk_ind\": 0, \"semantic_identifier\": \"Embedding Models - Onyx Documentation\", \"link\": \"https://docs.onyx.app/guides/embedding_providers\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGuides\\nEmbedding Models\\nGuides\\nEmbedding Models\\nA comprehensive guide to selecting and using embedding models in your application\\n\\nOverview of Embedding Models\\nOur application supports integration with several popular embedding model providers, offering you flexibility in choosing the model that best suits your needs. Heres an overview of the available models:\\n\\nOpenAI Models\\n\\ntext-embedding-3-small\\nOpenAIs newer, more efficient embedding model. Good balance of performance and efficiency.\\n\\ntext-embedding-3-large\\nOpenAIs large embedding model.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6890477452275804, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nGuides\\nEmbedding Models\\nGuides\\nEmbedding Models\\nA comprehensive guide to selecting and using embedding\", \"Credentials Setup\\nTo use OpenAI models:\\n- Sign up for an account at OpenAIs website .\\n- Follow their docs to get an API key.\\n- Use your OpenAI key in Onyx\\n\\nCohere Models\\n\\nembed-english-v3.0\\nCoheres English embedding model. Good...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29828}, {\"document_id\": \"https://docs.onyx.app/production/gcp\", \"chunk_ind\": 2, \"semantic_identifier\": \"Deploy on GCP - Onyx Documentation\", \"link\": \"https://docs.onyx.app/production/gcp\", \"blurb\": \"First, lets clone the repo:\\ngit clone https://github.com/onyx-dot-app/onyx.git\\nNext, lets set the necessary env variables:\\ncd onyx/deployment/docker_compose touch .env touch .env.nginx\\nIn the .env file, you can copy past the following (filling in the missing fields as needed):\\nWEB_DOMAIN= # something like \\\"onyx.app\\\" # if your email is something like \\\"chris@onyx.app\\\",\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6882048100741194, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"First, lets clone the repo:\\ngit clone https://github.com/onyx-dot-app/onyx.git\\nNext, lets set the necessary env variables:\\ncd onyx/deployment/docker_compose touch .env\", \"PASSWORD=password\\nIn the .env.nginx file, put the following:\\nDOMAIN= # something like \\\"onyx.app\\\"\\nNext, lets get our SSL certificate from letsencrypt . To do this, we can simply...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29829}, {\"document_id\": \"https://docs.onyx.app/connectors/linear\", \"chunk_ind\": 0, \"semantic_identifier\": \"Linear Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/linear\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nLinear Connector\\nConnectors\\nLinear Connector\\nAccess the latest tickets from Linear\\n\\nHow it works\\nThe Linear connector pulls in all the Linear issues and the associated comments.\\nIssues are updated every 10 minutes.\\n\\nSetting up\\n\\nAuthorization\\n- Grab an API key as shown below.\\n\\nIndexing\\n- Navigate to the Admin Dashboard and select the Linear Connector\\n- In Step 1 , provide the API Key from above.\\n- Click Connect to begin indexing\\nJira Connector Notion Connector\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6853434307580404, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nLinear Connector\\nConnectors\\nLinear Connector\\nAccess the latest tickets from\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29830}, {\"document_id\": \"https://docs.onyx.app/enterprise_edition/theming\", \"chunk_ind\": 0, \"semantic_identifier\": \"Theming - Onyx Documentation\", \"link\": \"https://docs.onyx.app/enterprise_edition/theming\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nTheming\\nEnterprise\\nTheming\\nCustomize the look of Onyx\\nAs part of the Enterprise Edition, we provide the ability to easily customize the look of Onyx. This comes in two forms:\\n- Adding in your own custom application name / logo.\\n- Customizing every color in the UI.\\n\\nCustomizing the Application Name / Logo\\nTo provide your own application name / logo, you can use the Whitelabelling tab in the admin panel. Here, we provide a way to input a name of your choice, as well as an optional logo.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6844398980802202, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nTheming\\nEnterprise\\nTheming\\nCustomize the look of Onyx\\nAs part of the Enterprise Edition, we provide the ability to easily customize the look of Onyx. This comes in two forms:\\n- Adding in your own custom application name / logo.\\n- Customizing every color in the UI.\\n\\nCustomizing the Application Name / Logo\\nTo\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29831}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/enterprise_search\", \"chunk_ind\": 0, \"semantic_identifier\": \"Enterprise Search - Onyx Documentation\", \"link\": \"https://docs.onyx.app/more/use_cases/enterprise_search\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nEnterprise Search\\nUse Cases\\nEnterprise Search\\nValue of Enterprise Search with Onyx\\n\\nWhat is Enterprise Search and why is it Important?\\nAn Enterprise Search system gives team members a single place to access all of the disparate knowledge of an organization. Critical information is saved across a host of channels like call transcripts with prospects, engineering design docs, IT runbooks, customer support email exchanges, project management tickets, and more. As fast moving teams scale up, information gets spread out and more disorganized.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6799077611458915, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nEnterprise Search\\nUse Cases\\nEnterprise Search\\nValue of Enterprise Search with Onyx\\n\\nWhat is Enterprise Search and why is it Important?\\nAn Enterprise Search system gives team members a single place to access all of the disparate knowledge of an organization\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29832}, {\"document_id\": \"https://docs.onyx.app/gen_ai_configs/open_ai\", \"chunk_ind\": 0, \"semantic_identifier\": \"OpenAI - Onyx Documentation\", \"link\": \"https://docs.onyx.app/gen_ai_configs/open_ai\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nOpenAI\\nGen AI Configs\\nOpenAI\\nConfigure Onyx to use different OpenAI models\\nOpenAI is quite straightforward. Grab an API key from the developer platform, then put it into the API Key field and youll be good to go!\\nGenAI Overview Anthropic\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6781021349905539, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nOpenAI\\nGen AI Configs\\nOpenAI\\nConfigure Onyx to use different OpenAI models\\nOpenAI is quite straightforward. Grab an API key from the developer platform, then put it into the API Key field and youll be good to go!\\nGenAI Overview Anthropic\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29833}, {\"document_id\": \"https://docs.onyx.app/connectors/file\", \"chunk_ind\": 0, \"semantic_identifier\": \"File Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/file\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nFile Connector\\nConnectors\\nFile Connector\\nAccess knowledge from Local Files\\n\\nHow it works\\nThe File Connector indexes user uploaded files. Currently supports .txt , .pdf , .docx , .pptx , .xlsx , .csv , .md , .mdx , .conf , .log , .json , .tsv , .xml , .yml , .yaml , .eml , and .epub files.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6764132565435098, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nFile Connector\\nConnectors\\nFile Connector\\nAccess knowledge from Local Files\\n\\nHow\", \"there are other file types in the zip, the other file types are ignored. There is also an optional metadata line that supports links, document owners, and time updated as metadata for Onyxs retrieval and AI Answer.\\n\\nAdding Metadata\\nThe...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29834}, {\"document_id\": \"https://docs.onyx.app/gen_ai_configs/huggingface\", \"chunk_ind\": 0, \"semantic_identifier\": \"HuggingFace Inference API - Onyx Documentation\", \"link\": \"https://docs.onyx.app/gen_ai_configs/huggingface\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nHuggingFace Inference API\\nGen AI Configs\\nHuggingFace Inference API\\nConfigure Onyx to use HuggingFace APIs\\nRefer to Model Configs for how to set the environment variables for your particular deployment.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6744427030051473, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nHuggingFace Inference API\\nGen AI Configs\\nHuggingFace Inference API\\nConfigure Onyx to use HuggingFace APIs\\nRefer to Model Configs for how to set the environment variables for your particular deployment.\\nTo use the HuggingFace Inference\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29835}, {\"document_id\": \"https://docs.onyx.app/connectors/discourse\", \"chunk_ind\": 0, \"semantic_identifier\": \"Discourse Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/discourse\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nDiscourse Connector\\nConnectors\\nDiscourse Connector\\nAccess knowledge from your Discourse Topics\\n\\nHow it works\\nThe Discourse connector indexes documents from your Discourse Topics .\\n\\nSetting up\\n\\nAuthorization\\n- Log into your Discourse account\\nThis Discourse user must have admin priveleges\\n- Click the Admin menu from the home page.\\n- Open the Advanced sub-menu and select API keys .\\n- Click New API Key , name it Onyx. Select All Users for User Level and Read-only for Scope .\\n- Click Save . Copy the key and put it into Onyx.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.673472374076985, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nDiscourse Connector\\nConnectors\\nDiscourse Connector\\nAccess knowledge from your Discourse\", \"user must have admin priveleges\\n- Click the Admin menu from the home page.\\n- Open the Advanced sub-menu and select API keys .\\n- Click New API Key , name it Onyx. Select All Users for User Level and Read-only for Scope .\\n- Click Save...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29836}], \"rephrased_query\": \"what is onyx I, II, III, and IV?\", \"predicted_flow\": \"question-answer\", \"predicted_search\": \"semantic\", \"applied_source_filters\": null, \"applied_time_cutoff\": null, \"recency_bias_multiplier\": 0.5}\n" -"{\"llm_selected_doc_indices\": []}\n" -"{\"final_context_docs\": [{\"document_id\": \"https://docs.onyx.app/introduction\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into any LLM of your choice. Onyx can be deployed anywhere and for any scale - on a laptop, on-premise, or to cloud. Since you own the deployment, your user data and chats are fully in your own control. Onyx is MIT licensed and designed to be modular and easily extensible. The system also comes fully ready for production usage with user authentication, role management (admin/basic users), chat persistence, and a UI for configuring Personas (AI Assistants) and their Prompts.\\nOnyx also serves as a Unified Search across all common workplace tools such as Slack, Google Drive, Confluence, etc. By combining LLMs and team specific knowledge, Onyx becomes a subject matter expert for the team. Its like ChatGPT if it had access to your teams unique knowledge! It enables questions such as A customer wants feature X, is this already supported? or Wheres the pull request for feature Y?\\nOnyx can also be plugged into existing tools like Slack to get answers and AI chats directly in Slack.\\n\\nDemo\\n\\nMain Features \\n- Chat UI with the ability to select documents to chat with.\\n- Create custom AI Assistants with different prompts and backing knowledge sets.\\n- Connect Onyx with LLM of your choice (self-host for a fully airgapped solution).\\n- Document Search + AI Answers for natural language queries.\\n- Connectors to all common workplace tools like Google Drive, Confluence, Slack, etc.\\n- Slack integration to get answers and search results directly in Slack.\\n\\nUpcoming\\n- Chat/Prompt sharing with specific teammates and user groups.\\n- Multi-modal model support, chat with images, video etc.\\n- Choosing between LLMs and parameters during chat session.\\n- Tool calling and agent configurations options.\\n- Organizational understanding and ability to locate and suggest experts from your team.\\n\\nOther Noteable Benefits of Onyx\\n- User Authentication with document level access management.\\n- Best in class Hybrid Search across all sources (BM-25 + prefix aware embedding models).\\n- Admin Dashboard to configure connectors, document-sets, access, etc.\\n- Custom deep learning models + learn from user feedback.\\n- Easy deployment and ability to host Onyx anywhere of your choosing.\\nQuickstart\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into any LLM of your choice. Onyx can be deployed anywhere and for any scale - on a laptop, on-premise, or to cloud. Since you own the deployment, your user data and chats are fully in your own control. Onyx is MIT licensed and designed to be modular and easily extensible.\", \"semantic_identifier\": \"Introduction - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/introduction\", \"source_links\": {\"0\": \"https://docs.onyx.app/introduction\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into\", \"\"]}, {\"document_id\": \"https://www.onyx.app/\", \"content\": \"Help your \\u00b0\\nEng\\nSupport\\nSales\\nProduct\\nOps team\\nfind information faster\\nThe open source AI connected to your company's docs, apps, and people Book a demo\\nYour browser does not support the video tag.\\nAI Workplace Search\\nFind answers across all your teams' applications\\nYour browser does not support the video tag.\\nAI Assistant\\nCreate AI Assistants powered by your org's unique knowledge, available right where you work\\nYour browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\\nOnyx connects to all your apps\\nWorks out of the box, syncs in real time, with document level access.\\n40+ integrations available, with more being built every day.\\nBuilt for\\nEnterprise\\nIt's been great to partner and work with the Onyx team ... it's an easy to set up, intuitive product that finds natural product market fit by meeting your team where they're already collaborating.\\nTony Rios\\nDirector, Product Ops at Ramp\\nData\\nSecurity\\nRun Onyx fully air gapped in your VPC or even on-premise.\\nNo data needs to ever leave your deployment.\\nAdvanced\\nPermission\\nDocument level permissions automatically inherited from connected sources.\\nEasily create advanced access rules directly within Onyx.\\nMost\\nExtensible\\nModular, open-source, and easy to customize.\\nPlug in custom tools, processing modules, and UI elements to make Onyx work the way you need it to.\\nModel\\nAgnostic\\nChoose any model provider, or plug in your own self-hosted LLM.\\nPick the model that works for your use case, swap them at will. Control is yours.\\nInternal Search\\nThe average worker spends 9.3 hours a week looking for information. Unblock your team with GenAI.\\nCustomer Support\\nInstantly answer questions across your entire product.\\nDevelopers\\nEmpower your devs to ship with speed and confidence.\\nSales\\nClose deals faster with instant access to every customer conversation and prodpuct update.\\nWe use cookies to enhance your experience and analyze our site usage. Do you accept?\\nAccept Reject\", \"blurb\": \"Help your \\u00b0\\nEng\\nSupport\\nSales\\nProduct\\nOps team\\nfind information faster\\nThe open source AI connected to your company's docs, apps, and people Book a demo\\nYour browser does not support the video tag.\\nAI Workplace Search\\nFind answers across all your teams' applications\\nYour browser does not support the video tag.\\nAI Assistant\\nCreate AI Assistants powered by your org's unique knowledge, available right where you work\\nYour browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\", \"semantic_identifier\": \"Onyx\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://www.onyx.app/\", \"source_links\": {\"0\": \"https://www.onyx.app/\"}, \"match_highlights\": [\"\", \" browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\\nOnyx connects to all your apps\\nWorks out of the box, syncs in real time, with document level access.\\n40+ integrations available, with more being built every day.\\nBuilt for\\nEnterprise\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/system_overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking to customize the system or become an open source contributors, this is a great place to start.\\n\\nSystem Architecture\\nWhether deploying Onyx on a single instance or a container orchestration platform, the flow of data is the same. Documents are pulled and processed via connectors and then persisted in Vespa/Postgres which run in containers within your system.\\nThe only time sensitive data leaves your Onyx setup is when it makes a call to an LLM to generate an answer. The communications to the LLM are encrypted. The data persistence at the LLM API depends on the terms of the LLM hosting service you are using.\\nWe also note that Onyx has some very limited and anonymous telemetry to help us improve the system by identifying bottlenecks and flaky data connectors. You can turn off the telemetry with by setting the DISABLE_TELEMETRY env variable to True.\\n\\nEmbedding Flow\\nEach document is split into smaller sections called Chunks.\\nBy passing chunks to the LLM instead of full documents, we are able to reduce noise to the model by only passing in the relevant sections of the document. Additionally this is significantly more cost efficient as LLM services generally charge per token. Finally by embedding chunks rather than full documents, we are able to retain more detail as each vector embedding is only capable of encoding a limited amount of information.\\nThe addition of mini-chunks takes this concept even further. By embedding at different sizes, Onyx can retrieve both high level context and details. Mini-chunks can also be turned on/off via environment variables as generating multiple vectors per chunk can slow down document indexing if deployed on less capable hardware.\\nIn choosing our embedding model, we use the latest state-of-the-art biencoder that is small enough to run on CPU while maintaining subsecond document retrieval times.\\n\\nQuery Flow\\nThis flow is often updated as were constantly striving to push the capabilities of the retrieval pipeline with the most recent advancements coming out of research and the opensource community.\\nAlso note that many of the parameters of this flow such as how much documents to retrieve, how many to rerank, what models to use, which chunks are passed to the LLM, etc. are all configurable.\\nIf there are any questions, dont hesitate to reach out to the maintainers!\\nMultilingual Setup Contact Us\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking to customize the system or become an open source contributors, this is a great place to start.\\n\\nSystem Architecture\\nWhether deploying Onyx on a single instance or a container orchestration platform, the flow of data is the same.\", \"semantic_identifier\": \"System Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/system_overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/system_overview\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking...\"]}, {\"document_id\": \"https://docs.onyx.app/tools/overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform actions (e.g. write to a database, send an email, etc.)\\n- Generate content (e.g. generate an Image, create a plot, etc.)\\nBy default, we have a three tools built-in to Onyx. These are:\\n-\\nSearchTool . This is the core of Onyx. Adding this tool to an Assistant allows it to search over the knowledge youve connected up to Onyx through Connectors . This is the only tool available to the default Onyx assistant.\\n-\\nImageGenerationTool . This leverages DALLE-3 to generate images.\\n-\\nInternetSearchTool . This uses Bing to search the internet. To enable this as an option, set the BING_API_KEY environment variable.\\nEmbedding Models Custom Tools\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform actions (e.g. write to a database, send an email, etc.)\\n- Generate content (e.g. generate an Image, create a plot, etc.)\\nBy default, we have a three tools built-in to Onyx.\", \"semantic_identifier\": \"Tools Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/tools/overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/tools/overview\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/configuration_guide\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nConfiguring Onyx\\nWelcome to Onyx\\nConfiguring Onyx\\nHow to customize your deployment environment.\\n\\nCommon Environment Variables\\nAll of the global configuration options that are not built into the UI are set via environment variables. This page contains an exhaustive list of all the options.\\nThere are defaults set in the code so changing/settings these values is not required to use Onyx. A few notable settings that are more frequently changed however are the following:\\n- AUTH_TYPE (default value is disabled )\\n- MULTILINGUAL_QUERY_EXPANSION (you can provide a comma separated list of languages for query rephrasing such as English,French )\\n- LOG_LEVEL (default is info )\\n- WEB_DOMAIN (your full url in production, including the protocol- e.g. https://www.onyx.app )\\n\\nDocker Compose\\nThere are several ways to configure environment variables for the containers. For Docker Compose, there are many ways to pass environment variables to the container, any of the standard approaches will work. However the preferred approach for Onyx is to use the .env file. To do this, create a file called .env at onyx/deployment/docker_compose/.env . From there, populate it with the values you want to override:\\n# Configures basic email/password based login AUTH_TYPE=\\\"basic\\\" # Rephrasing the query into different languages to improve search recall MULTILINGUAL_QUERY_EXPANSION=\\\"English,Spanish,German\\\" # Set a cheaper/faster LLM for the flows that are easier (such as translating the query etc.) FAST_GEN_AI_MODEL_VERSION=\\\"gpt-3.5-turbo\\\" # Setting more verbose logging LOG_LEVEL=\\\"debug\\\" LOG_ALL_MODEL_INTERACTIONS=\\\"true\\\"\\n\\nKubernetes\\nFor Kubernetes, the deployment yaml files includes an Environment ConfigMap. Simply update the values in the file here .\\n\\nAll Environment Variables\\nThis is an extensive list of the currently supported environment variables within Onyx. There are several classes of environment variables. All of the global configuration options that are not built into the UI are set via environment variables.\\nYou can set these in your .env file.\\n\\nAuth Settings\\nThese variables control authentication and user management in Onyx.\\nAUTH_TYPE\\nControls the authentication method used by Onyx.\\ndisabled : No authentication is required.\\ngoogle_oauth : Users can log in using their Google accounts.\\nbasic : Standard username/password authentication.\\noidc : OpenID Connect, available in the enterprise edition.\\nsaml : Security Assertion Markup Language, available in the enterprise edition.\\n\\nSESSION_EXPIRE_TIME_SECONDS\\nDefines the duration of a users session in seconds. Default is 24 hours.\\n\\nENCRYPTION_KEY_SECRET\\nA strong, unique string used for encryption purposes. Keep this value secret.\\n\\nVALID_EMAIL_DOMAINS\\nComma-separated list of allowed email domains for authentication. Leave empty to allow all domains.\\n\\nGOOGLE_OAUTH_CLIENT_ID\\nClient ID for Google OAuth authentication, obtained from Google Cloud Console .\\n\\nGOOGLE_OAUTH_CLIENT_SECRET\\nClient Secret for Google OAuth authentication, obtained from Google Cloud Console . Keep this value secret.\\n\\nREQUIRE_EMAIL_VERIFICATION\\nWhen set to true , users must verify their email before accessing Onyx.\\n\\nSMTP_SERVER\\nHostname of the SMTP server for sending verification emails. Default is smtp.gmail.com .\\n\\nSMTP_PORT\\nPort used for SMTP communication. Common values are 587 (TLS) or 465 (SSL).\\n\\nSMTP_USER\\nUsername for SMTP authentication, often an email address used to send verification emails.\\n\\nSMTP_PASS\\nPassword for SMTP authentication. Keep this value secret.\\n\\nEMAIL_FROM\\nEmail address used as the sender for verification emails.\\n\\nNEXT_PUBLIC_FORGOT_PASSWORD_ENABLED\\nSet to true to enable the forgot password feature. Only enable this if you have configured the above SMTP settings (For email functionality).\\n\\nGen AI Settings\\nThese variables configure the generative AI capabilities of Onyx. These are covered in more depth at the generative AI configs .\\n\\nGEN_AI_MODEL_PROVIDER\\nSpecifies the provider of the generative AI model (e.g., openai , anthropic , huggingface ).\\n\\nGEN_AI_MODEL_VERSION\\nDefines the version of the generative AI model to use (e.g., gpt-4 for OpenAI).\\n\\nFAST_GEN_AI_MODEL_VERSION\\nSpecifies a faster (usually smaller) model version for certain tasks.\\n\\nGEN_AI_API_KEY\\nAPI key for accessing the generative AI service. Keep this value secret.\\n\\n...\\n\\nPOSTGRES_HOST\\nHostname or IP address of the Postgres server. Default is relational_db .\\n\\nVESPA_HOST\\nHostname or IP address of the Vespa server. Default is index .\\n\\nWEB_DOMAIN\\nFully qualified domain name used for the Onyx web interface. (e.g. https://www.onyx.com )\\n\\nNLP Model Configurations\\nAdvanced settings for NLP models. Modify with caution.\\n\\nINDEX_BATCH_SIZE\\nSize of batch used when indexing documents. Overrides the default batch size for indexing operations.\\n\\nEMBEDDING_BATCH_SIZE\\nSize of batch used when embedding documents during indexing and search operations. Overrides the default batch size for embedding processes.\\n\\nDOCUMENT_ENCODER_MODEL\\nName or path of the encoder model used for document encoding.\\n\\nDOC_EMBEDDING_DIM\\nDimension of document embeddings, typically matching the chosen encoder models output dimension.\\n\\nNORMALIZE_EMBEDDINGS\\nSet to true to enable normalization of embeddings.\\n\\nASYM_QUERY_PREFIX\\nText prepended to queries in asymmetric semantic search.\\n\\nENABLE_RERANKING_REAL_TIME_FLOW\\nSet to true to enable reranking in real-time search flow.\\n\\nENABLE_RERANKING_ASYNC_FLOW\\nSet to true to enable reranking in asynchronous search flow.\\n\\nMODEL_SERVER_HOST\\nHostname or IP address of the model server. Default is inference_model_server .\\n\\nMODEL_SERVER_PORT\\nPort on which the model server is listening.\\n\\nMiscellaneous\\n< Various other configuration options.\\n\\nDISABLE_TELEMETRY\\nSet to true to opt out of telemetry. Telemetry helps improve Onyx; no sensitive data is collected.\\n\\nLOG_LEVEL\\nSets the logging verbosity. Possible values: debug , info , warning , error , critical .\\n\\nLOG_ALL_MODEL_INTERACTIONS\\nSet to true to enable logging of all prompts sent to the LLM.\\n\\nLOG_VESPA_TIMING_INFORMATION\\nSet to true to enable additional logging of Vespa query performance.\\n\\nLOG_ENDPOINT_LATENCY\\nSet to true to enable logging of endpoint latency information.\\nCustom Model Server Multilingual Setup\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nConfiguring Onyx\\nWelcome to Onyx\\nConfiguring Onyx\\nHow to customize your deployment environment.\\n\\nCommon Environment Variables\\nAll of the global configuration options that are not built into the UI are set via environment variables. This page contains an exhaustive list of all the options.\\nThere are defaults set in the code so changing/settings these values is not required to use Onyx.\", \"semantic_identifier\": \"Configuring Onyx - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/configuration_guide\", \"source_links\": {\"0\": \"https://docs.onyx.app/configuration_guide\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nConfiguring Onyx\\nWelcome to Onyx\\nConfiguring Onyx\\nHow to customize\", \"variables. This page contains an exhaustive list of all the options.\\nThere are defaults set in the code so changing/settings these values is not required to use Onyx. A few notable settings that are more...\"]}, {\"document_id\": \"https://docs.onyx.app/connectors/notion\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nNotion Connector\\nConnectors\\nNotion Connector\\nAccess knowledge from your Notion workspace\\n\\nHow it works\\nThe Notion connector uses the Notion search API to fetch all pages that the connector has access to within a workspace. For follow up indexing runs, the connector only retrieves pages that have been updated since the last indexing attempt. Indexing is configured to run every 10 minutes , so page updates should appear within 10 minutes.\\n\\nSetting up\\n\\nAuthorization\\nIn order to authorize Onyx to connect to your Notion workspace, youll need to create a new integration in Notion, which will then provide you with a secret token.\\nThese steps are pulled from this Notion guide which you can also follow.\\n\\nStep 1: Create an integration\\n- Visit https://www.notion.com/my-integrations in your browser.\\n- Click the + New integration button.\\n- Name the integration (something like Onyx could work).\\n- Select Read content as the only capability required for Onyx.\\n- Click Submit to create the integration.\\nOn the next page, youll find your Notion integration token, also called an API key. Youll need this token to configure Onyx to index Notion, so make a copy of it.\\nThe integration has been added to the workspace, so any member can share pages and databases with it. Theres no requirement to be an Admin to share information with an integration.\\n\\nStep 2: Share pages/databases with your integration\\nNow that youve created an integration, you need to grant it access to Notion pages/databases. To keep your information secure, integrations dont have access to any pages or databases in the workspace at first. You must share specific pages with an integration in order for Onyx to access those pages.\\nTo share a page/database with your integration:\\n- Go to the page/database in your workspace.\\n- Click the on the top right corner of the page.\\n- Scroll to the bottom of the pop-up and click Add connections.\\n- Search for and select the new integration in the Search for connections... menu.\\n- If youve added a page, all child pages also become accesssible to Onyx. If youve added a database, all rows (and their children) become accessible to Onyx.\\nOnce youve granted access to a page/database, you can start configuring Onyx to index those databases.\\n\\nIndexing\\n- Navigate to the Admin Dashboard and select the Notion connector.\\n- In Step 1 , provide the Integration Token Secret you obtained in the Authorization steps above:\\n- Click the Connect button! Your content will then be pulled into Onyx every 10 minutes.\\nNote - As mentioned, the Notion connector currently indexes everything it has access to. If you want to limit specific content being indexed, simply unshare the database from Notion with the integration.\\nLinear Connector Oracle Storage Connector\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nNotion Connector\\nConnectors\\nNotion Connector\\nAccess knowledge from your Notion workspace\\n\\nHow it works\\nThe Notion connector uses the Notion search API to fetch all pages that the connector has access to within a workspace. For follow up indexing runs, the connector only retrieves pages that have been updated since the last indexing attempt. Indexing is configured to run every 10 minutes , so page updates should appear within 10 minutes.\", \"semantic_identifier\": \"Notion Connector - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/connectors/notion\", \"source_links\": {\"0\": \"https://docs.onyx.app/connectors/notion\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nNotion Connector\\nConnectors\\nNotion Connector\\nAccess knowledge from your Notion workspace\", \"since the last indexing attempt. Indexing is configured to run every 10 minutes , so page updates should appear within 10 minutes.\\n\\nSetting up\\n\\nAuthorization\\nIn order to authorize Onyx to connect to your Notion workspace, youll...\"]}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/ai_platform\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user chat sessions, attaching custom tools, handling LLM reasoning, code execution, data analysis, referencing internal knowledge, and much more.\\nOnyx as a platform is not a no-code agent builder. We are made by developers for developers and this gives your team the full flexibility and power to create agents not constrained by blocks and simple logic paths.\\n\\nFlexibility and Extensibility\\nOnyx is open source and completely whitebox. This not only gives transparency to what happens within the system but also means that your team can directly modify the source code to suit your unique needs.\\nEnterprise Search Customer Support\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user chat sessions, attaching custom tools, handling LLM reasoning, code execution, data analysis, referencing internal knowledge, and much more.\\nOnyx as a platform is not a no-code agent builder.\", \"semantic_identifier\": \"AI Platform - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/more/use_cases/ai_platform\", \"source_links\": {\"0\": \"https://docs.onyx.app/more/use_cases/ai_platform\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user...\"]}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI more versatile for work by enabling new types of questions like What is the most common feature request weve heard from customers this month. Whereas other AI systems have no context of your team and are generally unhelpful with work related questions, Onyx makes it possible to ask these questions in natural language and get back answers in seconds.\\nOnyx can connect to +30 different tools and the use cases are not limited to the ones in the following pages. The highlighted use cases are for inspiration and come from feedback gathered from our users and customers.\\n\\nCommon Getting Started Questions:\\n\\nWhy are these docs connected in my Onyx deployment?\\nAnswer: This is just an example of how connectors work in Onyx. You can connect up your own teams knowledge and you will be able to ask questions unique to your organization. Onyx will keep all of the knowledge up to date and in sync with your connected applications.\\n\\nIs my data being sent anywhere when I connect it up to Onyx?\\nAnswer: No! Onyx is built with data security as our highest priority. We open sourced it so our users can know exactly what is going on with their data. By default all of the document processing happens within Onyx. The only time it is sent outward is for the GenAI call to generate answers.\\n\\nWhere is the feature for auto sync-ing document level access permissions from all connected sources?\\nAnswer: This falls under the Enterprise Edition set of Onyx features built on top of the MIT/community edition. If you are on Onyx Cloud, you have access to them by default. If youre running it yourself, reach out to the Onyx team to receive access.\\nAdvanced Curator Examples Enterprise Search\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI more versatile for work by enabling new types of questions like What is the most common feature request weve heard from customers this month. Whereas other AI systems have no context of your team and are generally unhelpful with work related questions, Onyx makes it possible to ask these questions in natural language and get back answers in seconds.\", \"semantic_identifier\": \"Use Cases Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/more/use_cases/overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/more/use_cases/overview\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/google_oauth_setup\", \"content\": \"To turn the feature on set:\\n- AUTH_TYPE=google_oauth\\n- OAUTH_CLIENT_ID=\\n- OAUTH_CLIENT_SECRET=\\n- If setting up in production, then:\\n- WEB_DOMAIN=\\n\\nNon Containerized\\nSimply set the above environment variables when running the different Onyx processes.\\n- The backend api server uses the 3 environment variables\\n- The frontend hits the api server to determine what user authentication setting is configured and serves the relevant pages.\\n\\nDocker Compose\\nSimply set the 4 environment variables in a file called .env under onyx/deployment/docker_compose .\\n\\nKubernetes\\nKubernetes deployment was designed for production use and assumes that user Auth is a required feature therefore it is on by default. To set up the required values, replace the REPLACE-THIS values in secrets.yaml with thebase64 encoded client ID and client secret from above.\\nBasic Auth Setup OIDC/SAML Setup\", \"blurb\": \"To turn the feature on set:\\n- AUTH_TYPE=google_oauth\\n- OAUTH_CLIENT_ID=\\n- OAUTH_CLIENT_SECRET=\\n- If setting up in production, then:\\n- WEB_DOMAIN=\\n\\nNon Containerized\\nSimply set the above environment variables when running the different Onyx processes.\", \"semantic_identifier\": \"Google OAuth Setup - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/google_oauth_setup\", \"source_links\": {\"0\": \"https://docs.onyx.app/google_oauth_setup\"}, \"match_highlights\": [\"\", \"=\\n- OAUTH_CLIENT_SECRET=\\n- If setting up in production, then:\\n- WEB_DOMAIN=onyx.app>\\n\\nNon Containerized\\nSimply set the above environment variables when running the different Onyx processes.\\n- The backend api server uses the 3 environment variables\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/multilingual_setup\", \"content\": \"onyx documentation home page search... navigation welcome to onyx multilingual setup welcome to onyx multilingual setup how to set up onyx to support languages other than english for the majority of use cases, onyx provides an easy way to configure the system for multilingual use. to skip the details and just go to setup, see the configuration section below. how it works onyx has two main flows that assume english as a default. to use onyx in multilingual or non - english cases, these must be handled. - the vector portion of the hybrid - search / reranking. this selects relevant documents to pass to the large language model as context - the prompts for the large language model to instruct it on how to answer user queries. to address the first point, the english first embedding / reranking models can be swapped out for multilingual models. additionally query expansion is applied to rephrase the user query into the target languages. to address the second point, additional instructions are given to the llm to respect the input language and to respond in the same language as the user query. note : the onyx llm prompts are still in english, just with added instructions if the user configures multilingual settings ( see below ). if all of your documents and queries are in some other language, it will be better to simply translate all of onyxs prompts directly to that target language. you can do so here.\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nMultilingual Setup\\nWelcome to Onyx\\nMultilingual Setup\\nHow to set up Onyx to support languages other than English\\nFor the majority of use cases, Onyx provides an easy way to configure the system for multilingual use. To skip the details and just go to setup, see the Configuration section below.\\n\\nHow it works\\nOnyx has two main flows that assume English as a default. To use Onyx in multilingual or non-english cases, these must be handled.\", \"semantic_identifier\": \"Multilingual Setup - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/multilingual_setup\", \"source_links\": {\"0\": \"https://docs.onyx.app/multilingual_setup\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nMultilingual Setup\\nWelcome to Onyx\\nMultilingual Setup\\nHow to set up Onyx to support languages other than English\\nFor the majority of use cases, Onyx provides an easy way to configure the system for multilingual use. To skip the details and just go to setup\", \"\"]}]}\n" -"{\"tool_name\": \"run_search\", \"tool_args\": {\"query\": \"what is onyx I, II, III, and IV?\"}, \"tool_result\": [{\"document_id\": \"https://docs.onyx.app/introduction\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into any LLM of your choice. Onyx can be deployed anywhere and for any scale - on a laptop, on-premise, or to cloud. Since you own the deployment, your user data and chats are fully in your own control. Onyx is MIT licensed and designed to be modular and easily extensible. The system also comes fully ready for production usage with user authentication, role management (admin/basic users), chat persistence, and a UI for configuring Personas (AI Assistants) and their Prompts.\\nOnyx also serves as a Unified Search across all common workplace tools such as Slack, Google Drive, Confluence, etc. By combining LLMs and team specific knowledge, Onyx becomes a subject matter expert for the team. Its like ChatGPT if it had access to your teams unique knowledge! It enables questions such as A customer wants feature X, is this already supported? or Wheres the pull request for feature Y?\\nOnyx can also be plugged into existing tools like Slack to get answers and AI chats directly in Slack.\\n\\nDemo\\n\\nMain Features \\n- Chat UI with the ability to select documents to chat with.\\n- Create custom AI Assistants with different prompts and backing knowledge sets.\\n- Connect Onyx with LLM of your choice (self-host for a fully airgapped solution).\\n- Document Search + AI Answers for natural language queries.\\n- Connectors to all common workplace tools like Google Drive, Confluence, Slack, etc.\\n- Slack integration to get answers and search results directly in Slack.\\n\\nUpcoming\\n- Chat/Prompt sharing with specific teammates and user groups.\\n- Multi-modal model support, chat with images, video etc.\\n- Choosing between LLMs and parameters during chat session.\\n- Tool calling and agent configurations options.\\n- Organizational understanding and ability to locate and suggest experts from your team.\\n\\nOther Noteable Benefits of Onyx\\n- User Authentication with document level access management.\\n- Best in class Hybrid Search across all sources (BM-25 + prefix aware embedding models).\\n- Admin Dashboard to configure connectors, document-sets, access, etc.\\n- Custom deep learning models + learn from user feedback.\\n- Easy deployment and ability to host Onyx anywhere of your choosing.\\nQuickstart\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into any LLM of your choice. Onyx can be deployed anywhere and for any scale - on a laptop, on-premise, or to cloud. Since you own the deployment, your user data and chats are fully in your own control. Onyx is MIT licensed and designed to be modular and easily extensible.\", \"semantic_identifier\": \"Introduction - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/introduction\", \"source_links\": {\"0\": \"https://docs.onyx.app/introduction\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into\", \"\"]}, {\"document_id\": \"https://www.onyx.app/\", \"content\": \"Help your \\u00b0\\nEng\\nSupport\\nSales\\nProduct\\nOps team\\nfind information faster\\nThe open source AI connected to your company's docs, apps, and people Book a demo\\nYour browser does not support the video tag.\\nAI Workplace Search\\nFind answers across all your teams' applications\\nYour browser does not support the video tag.\\nAI Assistant\\nCreate AI Assistants powered by your org's unique knowledge, available right where you work\\nYour browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\\nOnyx connects to all your apps\\nWorks out of the box, syncs in real time, with document level access.\\n40+ integrations available, with more being built every day.\\nBuilt for\\nEnterprise\\nIt's been great to partner and work with the Onyx team ... it's an easy to set up, intuitive product that finds natural product market fit by meeting your team where they're already collaborating.\\nTony Rios\\nDirector, Product Ops at Ramp\\nData\\nSecurity\\nRun Onyx fully air gapped in your VPC or even on-premise.\\nNo data needs to ever leave your deployment.\\nAdvanced\\nPermission\\nDocument level permissions automatically inherited from connected sources.\\nEasily create advanced access rules directly within Onyx.\\nMost\\nExtensible\\nModular, open-source, and easy to customize.\\nPlug in custom tools, processing modules, and UI elements to make Onyx work the way you need it to.\\nModel\\nAgnostic\\nChoose any model provider, or plug in your own self-hosted LLM.\\nPick the model that works for your use case, swap them at will. Control is yours.\\nInternal Search\\nThe average worker spends 9.3 hours a week looking for information. Unblock your team with GenAI.\\nCustomer Support\\nInstantly answer questions across your entire product.\\nDevelopers\\nEmpower your devs to ship with speed and confidence.\\nSales\\nClose deals faster with instant access to every customer conversation and prodpuct update.\\nWe use cookies to enhance your experience and analyze our site usage. Do you accept?\\nAccept Reject\", \"blurb\": \"Help your \\u00b0\\nEng\\nSupport\\nSales\\nProduct\\nOps team\\nfind information faster\\nThe open source AI connected to your company's docs, apps, and people Book a demo\\nYour browser does not support the video tag.\\nAI Workplace Search\\nFind answers across all your teams' applications\\nYour browser does not support the video tag.\\nAI Assistant\\nCreate AI Assistants powered by your org's unique knowledge, available right where you work\\nYour browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\", \"semantic_identifier\": \"Onyx\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://www.onyx.app/\", \"source_links\": {\"0\": \"https://www.onyx.app/\"}, \"match_highlights\": [\"\", \" browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\\nOnyx connects to all your apps\\nWorks out of the box, syncs in real time, with document level access.\\n40+ integrations available, with more being built every day.\\nBuilt for\\nEnterprise\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/system_overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking to customize the system or become an open source contributors, this is a great place to start.\\n\\nSystem Architecture\\nWhether deploying Onyx on a single instance or a container orchestration platform, the flow of data is the same. Documents are pulled and processed via connectors and then persisted in Vespa/Postgres which run in containers within your system.\\nThe only time sensitive data leaves your Onyx setup is when it makes a call to an LLM to generate an answer. The communications to the LLM are encrypted. The data persistence at the LLM API depends on the terms of the LLM hosting service you are using.\\nWe also note that Onyx has some very limited and anonymous telemetry to help us improve the system by identifying bottlenecks and flaky data connectors. You can turn off the telemetry with by setting the DISABLE_TELEMETRY env variable to True.\\n\\nEmbedding Flow\\nEach document is split into smaller sections called Chunks.\\nBy passing chunks to the LLM instead of full documents, we are able to reduce noise to the model by only passing in the relevant sections of the document. Additionally this is significantly more cost efficient as LLM services generally charge per token. Finally by embedding chunks rather than full documents, we are able to retain more detail as each vector embedding is only capable of encoding a limited amount of information.\\nThe addition of mini-chunks takes this concept even further. By embedding at different sizes, Onyx can retrieve both high level context and details. Mini-chunks can also be turned on/off via environment variables as generating multiple vectors per chunk can slow down document indexing if deployed on less capable hardware.\\nIn choosing our embedding model, we use the latest state-of-the-art biencoder that is small enough to run on CPU while maintaining subsecond document retrieval times.\\n\\nQuery Flow\\nThis flow is often updated as were constantly striving to push the capabilities of the retrieval pipeline with the most recent advancements coming out of research and the opensource community.\\nAlso note that many of the parameters of this flow such as how much documents to retrieve, how many to rerank, what models to use, which chunks are passed to the LLM, etc. are all configurable.\\nIf there are any questions, dont hesitate to reach out to the maintainers!\\nMultilingual Setup Contact Us\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking to customize the system or become an open source contributors, this is a great place to start.\\n\\nSystem Architecture\\nWhether deploying Onyx on a single instance or a container orchestration platform, the flow of data is the same.\", \"semantic_identifier\": \"System Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/system_overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/system_overview\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking...\"]}, {\"document_id\": \"https://docs.onyx.app/tools/overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform actions (e.g. write to a database, send an email, etc.)\\n- Generate content (e.g. generate an Image, create a plot, etc.)\\nBy default, we have a three tools built-in to Onyx. These are:\\n-\\nSearchTool . This is the core of Onyx. Adding this tool to an Assistant allows it to search over the knowledge youve connected up to Onyx through Connectors . This is the only tool available to the default Onyx assistant.\\n-\\nImageGenerationTool . This leverages DALLE-3 to generate images.\\n-\\nInternetSearchTool . This uses Bing to search the internet. To enable this as an option, set the BING_API_KEY environment variable.\\nEmbedding Models Custom Tools\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform actions (e.g. write to a database, send an email, etc.)\\n- Generate content (e.g. generate an Image, create a plot, etc.)\\nBy default, we have a three tools built-in to Onyx.\", \"semantic_identifier\": \"Tools Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/tools/overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/tools/overview\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/configuration_guide\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nConfiguring Onyx\\nWelcome to Onyx\\nConfiguring Onyx\\nHow to customize your deployment environment.\\n\\nCommon Environment Variables\\nAll of the global configuration options that are not built into the UI are set via environment variables. This page contains an exhaustive list of all the options.\\nThere are defaults set in the code so changing/settings these values is not required to use Onyx. A few notable settings that are more frequently changed however are the following:\\n- AUTH_TYPE (default value is disabled )\\n- MULTILINGUAL_QUERY_EXPANSION (you can provide a comma separated list of languages for query rephrasing such as English,French )\\n- LOG_LEVEL (default is info )\\n- WEB_DOMAIN (your full url in production, including the protocol- e.g. https://www.onyx.app )\\n\\nDocker Compose\\nThere are several ways to configure environment variables for the containers. For Docker Compose, there are many ways to pass environment variables to the container, any of the standard approaches will work. However the preferred approach for Onyx is to use the .env file. To do this, create a file called .env at onyx/deployment/docker_compose/.env . From there, populate it with the values you want to override:\\n# Configures basic email/password based login AUTH_TYPE=\\\"basic\\\" # Rephrasing the query into different languages to improve search recall MULTILINGUAL_QUERY_EXPANSION=\\\"English,Spanish,German\\\" # Set a cheaper/faster LLM for the flows that are easier (such as translating the query etc.) FAST_GEN_AI_MODEL_VERSION=\\\"gpt-3.5-turbo\\\" # Setting more verbose logging LOG_LEVEL=\\\"debug\\\" LOG_ALL_MODEL_INTERACTIONS=\\\"true\\\"\\n\\nKubernetes\\nFor Kubernetes, the deployment yaml files includes an Environment ConfigMap. Simply update the values in the file here .\\n\\nAll Environment Variables\\nThis is an extensive list of the currently supported environment variables within Onyx. There are several classes of environment variables. All of the global configuration options that are not built into the UI are set via environment variables.\\nYou can set these in your .env file.\\n\\nAuth Settings\\nThese variables control authentication and user management in Onyx.\\nAUTH_TYPE\\nControls the authentication method used by Onyx.\\ndisabled : No authentication is required.\\ngoogle_oauth : Users can log in using their Google accounts.\\nbasic : Standard username/password authentication.\\noidc : OpenID Connect, available in the enterprise edition.\\nsaml : Security Assertion Markup Language, available in the enterprise edition.\\n\\nSESSION_EXPIRE_TIME_SECONDS\\nDefines the duration of a users session in seconds. Default is 24 hours.\\n\\nENCRYPTION_KEY_SECRET\\nA strong, unique string used for encryption purposes. Keep this value secret.\\n\\nVALID_EMAIL_DOMAINS\\nComma-separated list of allowed email domains for authentication. Leave empty to allow all domains.\\n\\nGOOGLE_OAUTH_CLIENT_ID\\nClient ID for Google OAuth authentication, obtained from Google Cloud Console .\\n\\nGOOGLE_OAUTH_CLIENT_SECRET\\nClient Secret for Google OAuth authentication, obtained from Google Cloud Console . Keep this value secret.\\n\\nREQUIRE_EMAIL_VERIFICATION\\nWhen set to true , users must verify their email before accessing Onyx.\\n\\nSMTP_SERVER\\nHostname of the SMTP server for sending verification emails. Default is smtp.gmail.com .\\n\\nSMTP_PORT\\nPort used for SMTP communication. Common values are 587 (TLS) or 465 (SSL).\\n\\nSMTP_USER\\nUsername for SMTP authentication, often an email address used to send verification emails.\\n\\nSMTP_PASS\\nPassword for SMTP authentication. Keep this value secret.\\n\\nEMAIL_FROM\\nEmail address used as the sender for verification emails.\\n\\nNEXT_PUBLIC_FORGOT_PASSWORD_ENABLED\\nSet to true to enable the forgot password feature. Only enable this if you have configured the above SMTP settings (For email functionality).\\n\\nGen AI Settings\\nThese variables configure the generative AI capabilities of Onyx. These are covered in more depth at the generative AI configs .\\n\\nGEN_AI_MODEL_PROVIDER\\nSpecifies the provider of the generative AI model (e.g., openai , anthropic , huggingface ).\\n\\nGEN_AI_MODEL_VERSION\\nDefines the version of the generative AI model to use (e.g., gpt-4 for OpenAI).\\n\\nFAST_GEN_AI_MODEL_VERSION\\nSpecifies a faster (usually smaller) model version for certain tasks.\\n\\nGEN_AI_API_KEY\\nAPI key for accessing the generative AI service. Keep this value secret.\\n\\n...\\n\\nPOSTGRES_HOST\\nHostname or IP address of the Postgres server. Default is relational_db .\\n\\nVESPA_HOST\\nHostname or IP address of the Vespa server. Default is index .\\n\\nWEB_DOMAIN\\nFully qualified domain name used for the Onyx web interface. (e.g. https://www.onyx.com )\\n\\nNLP Model Configurations\\nAdvanced settings for NLP models. Modify with caution.\\n\\nINDEX_BATCH_SIZE\\nSize of batch used when indexing documents. Overrides the default batch size for indexing operations.\\n\\nEMBEDDING_BATCH_SIZE\\nSize of batch used when embedding documents during indexing and search operations. Overrides the default batch size for embedding processes.\\n\\nDOCUMENT_ENCODER_MODEL\\nName or path of the encoder model used for document encoding.\\n\\nDOC_EMBEDDING_DIM\\nDimension of document embeddings, typically matching the chosen encoder models output dimension.\\n\\nNORMALIZE_EMBEDDINGS\\nSet to true to enable normalization of embeddings.\\n\\nASYM_QUERY_PREFIX\\nText prepended to queries in asymmetric semantic search.\\n\\nENABLE_RERANKING_REAL_TIME_FLOW\\nSet to true to enable reranking in real-time search flow.\\n\\nENABLE_RERANKING_ASYNC_FLOW\\nSet to true to enable reranking in asynchronous search flow.\\n\\nMODEL_SERVER_HOST\\nHostname or IP address of the model server. Default is inference_model_server .\\n\\nMODEL_SERVER_PORT\\nPort on which the model server is listening.\\n\\nMiscellaneous\\n< Various other configuration options.\\n\\nDISABLE_TELEMETRY\\nSet to true to opt out of telemetry. Telemetry helps improve Onyx; no sensitive data is collected.\\n\\nLOG_LEVEL\\nSets the logging verbosity. Possible values: debug , info , warning , error , critical .\\n\\nLOG_ALL_MODEL_INTERACTIONS\\nSet to true to enable logging of all prompts sent to the LLM.\\n\\nLOG_VESPA_TIMING_INFORMATION\\nSet to true to enable additional logging of Vespa query performance.\\n\\nLOG_ENDPOINT_LATENCY\\nSet to true to enable logging of endpoint latency information.\\nCustom Model Server Multilingual Setup\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nConfiguring Onyx\\nWelcome to Onyx\\nConfiguring Onyx\\nHow to customize your deployment environment.\\n\\nCommon Environment Variables\\nAll of the global configuration options that are not built into the UI are set via environment variables. This page contains an exhaustive list of all the options.\\nThere are defaults set in the code so changing/settings these values is not required to use Onyx.\", \"semantic_identifier\": \"Configuring Onyx - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/configuration_guide\", \"source_links\": {\"0\": \"https://docs.onyx.app/configuration_guide\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nConfiguring Onyx\\nWelcome to Onyx\\nConfiguring Onyx\\nHow to customize\", \"variables. This page contains an exhaustive list of all the options.\\nThere are defaults set in the code so changing/settings these values is not required to use Onyx. A few notable settings that are more...\"]}, {\"document_id\": \"https://docs.onyx.app/connectors/notion\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nNotion Connector\\nConnectors\\nNotion Connector\\nAccess knowledge from your Notion workspace\\n\\nHow it works\\nThe Notion connector uses the Notion search API to fetch all pages that the connector has access to within a workspace. For follow up indexing runs, the connector only retrieves pages that have been updated since the last indexing attempt. Indexing is configured to run every 10 minutes , so page updates should appear within 10 minutes.\\n\\nSetting up\\n\\nAuthorization\\nIn order to authorize Onyx to connect to your Notion workspace, youll need to create a new integration in Notion, which will then provide you with a secret token.\\nThese steps are pulled from this Notion guide which you can also follow.\\n\\nStep 1: Create an integration\\n- Visit https://www.notion.com/my-integrations in your browser.\\n- Click the + New integration button.\\n- Name the integration (something like Onyx could work).\\n- Select Read content as the only capability required for Onyx.\\n- Click Submit to create the integration.\\nOn the next page, youll find your Notion integration token, also called an API key. Youll need this token to configure Onyx to index Notion, so make a copy of it.\\nThe integration has been added to the workspace, so any member can share pages and databases with it. Theres no requirement to be an Admin to share information with an integration.\\n\\nStep 2: Share pages/databases with your integration\\nNow that youve created an integration, you need to grant it access to Notion pages/databases. To keep your information secure, integrations dont have access to any pages or databases in the workspace at first. You must share specific pages with an integration in order for Onyx to access those pages.\\nTo share a page/database with your integration:\\n- Go to the page/database in your workspace.\\n- Click the on the top right corner of the page.\\n- Scroll to the bottom of the pop-up and click Add connections.\\n- Search for and select the new integration in the Search for connections... menu.\\n- If youve added a page, all child pages also become accesssible to Onyx. If youve added a database, all rows (and their children) become accessible to Onyx.\\nOnce youve granted access to a page/database, you can start configuring Onyx to index those databases.\\n\\nIndexing\\n- Navigate to the Admin Dashboard and select the Notion connector.\\n- In Step 1 , provide the Integration Token Secret you obtained in the Authorization steps above:\\n- Click the Connect button! Your content will then be pulled into Onyx every 10 minutes.\\nNote - As mentioned, the Notion connector currently indexes everything it has access to. If you want to limit specific content being indexed, simply unshare the database from Notion with the integration.\\nLinear Connector Oracle Storage Connector\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nNotion Connector\\nConnectors\\nNotion Connector\\nAccess knowledge from your Notion workspace\\n\\nHow it works\\nThe Notion connector uses the Notion search API to fetch all pages that the connector has access to within a workspace. For follow up indexing runs, the connector only retrieves pages that have been updated since the last indexing attempt. Indexing is configured to run every 10 minutes , so page updates should appear within 10 minutes.\", \"semantic_identifier\": \"Notion Connector - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/connectors/notion\", \"source_links\": {\"0\": \"https://docs.onyx.app/connectors/notion\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nNotion Connector\\nConnectors\\nNotion Connector\\nAccess knowledge from your Notion workspace\", \"since the last indexing attempt. Indexing is configured to run every 10 minutes , so page updates should appear within 10 minutes.\\n\\nSetting up\\n\\nAuthorization\\nIn order to authorize Onyx to connect to your Notion workspace, youll...\"]}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/ai_platform\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user chat sessions, attaching custom tools, handling LLM reasoning, code execution, data analysis, referencing internal knowledge, and much more.\\nOnyx as a platform is not a no-code agent builder. We are made by developers for developers and this gives your team the full flexibility and power to create agents not constrained by blocks and simple logic paths.\\n\\nFlexibility and Extensibility\\nOnyx is open source and completely whitebox. This not only gives transparency to what happens within the system but also means that your team can directly modify the source code to suit your unique needs.\\nEnterprise Search Customer Support\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user chat sessions, attaching custom tools, handling LLM reasoning, code execution, data analysis, referencing internal knowledge, and much more.\\nOnyx as a platform is not a no-code agent builder.\", \"semantic_identifier\": \"AI Platform - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/more/use_cases/ai_platform\", \"source_links\": {\"0\": \"https://docs.onyx.app/more/use_cases/ai_platform\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user...\"]}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI more versatile for work by enabling new types of questions like What is the most common feature request weve heard from customers this month. Whereas other AI systems have no context of your team and are generally unhelpful with work related questions, Onyx makes it possible to ask these questions in natural language and get back answers in seconds.\\nOnyx can connect to +30 different tools and the use cases are not limited to the ones in the following pages. The highlighted use cases are for inspiration and come from feedback gathered from our users and customers.\\n\\nCommon Getting Started Questions:\\n\\nWhy are these docs connected in my Onyx deployment?\\nAnswer: This is just an example of how connectors work in Onyx. You can connect up your own teams knowledge and you will be able to ask questions unique to your organization. Onyx will keep all of the knowledge up to date and in sync with your connected applications.\\n\\nIs my data being sent anywhere when I connect it up to Onyx?\\nAnswer: No! Onyx is built with data security as our highest priority. We open sourced it so our users can know exactly what is going on with their data. By default all of the document processing happens within Onyx. The only time it is sent outward is for the GenAI call to generate answers.\\n\\nWhere is the feature for auto sync-ing document level access permissions from all connected sources?\\nAnswer: This falls under the Enterprise Edition set of Onyx features built on top of the MIT/community edition. If you are on Onyx Cloud, you have access to them by default. If youre running it yourself, reach out to the Onyx team to receive access.\\nAdvanced Curator Examples Enterprise Search\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI more versatile for work by enabling new types of questions like What is the most common feature request weve heard from customers this month. Whereas other AI systems have no context of your team and are generally unhelpful with work related questions, Onyx makes it possible to ask these questions in natural language and get back answers in seconds.\", \"semantic_identifier\": \"Use Cases Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/more/use_cases/overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/more/use_cases/overview\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/google_oauth_setup\", \"content\": \"To turn the feature on set:\\n- AUTH_TYPE=google_oauth\\n- OAUTH_CLIENT_ID=\\n- OAUTH_CLIENT_SECRET=\\n- If setting up in production, then:\\n- WEB_DOMAIN=\\n\\nNon Containerized\\nSimply set the above environment variables when running the different Onyx processes.\\n- The backend api server uses the 3 environment variables\\n- The frontend hits the api server to determine what user authentication setting is configured and serves the relevant pages.\\n\\nDocker Compose\\nSimply set the 4 environment variables in a file called .env under onyx/deployment/docker_compose .\\n\\nKubernetes\\nKubernetes deployment was designed for production use and assumes that user Auth is a required feature therefore it is on by default. To set up the required values, replace the REPLACE-THIS values in secrets.yaml with thebase64 encoded client ID and client secret from above.\\nBasic Auth Setup OIDC/SAML Setup\", \"blurb\": \"To turn the feature on set:\\n- AUTH_TYPE=google_oauth\\n- OAUTH_CLIENT_ID=\\n- OAUTH_CLIENT_SECRET=\\n- If setting up in production, then:\\n- WEB_DOMAIN=\\n\\nNon Containerized\\nSimply set the above environment variables when running the different Onyx processes.\", \"semantic_identifier\": \"Google OAuth Setup - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/google_oauth_setup\", \"source_links\": {\"0\": \"https://docs.onyx.app/google_oauth_setup\"}, \"match_highlights\": [\"\", \"=\\n- OAUTH_CLIENT_SECRET=\\n- If setting up in production, then:\\n- WEB_DOMAIN=onyx.app>\\n\\nNon Containerized\\nSimply set the above environment variables when running the different Onyx processes.\\n- The backend api server uses the 3 environment variables\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/multilingual_setup\", \"content\": \"onyx documentation home page search... navigation welcome to onyx multilingual setup welcome to onyx multilingual setup how to set up onyx to support languages other than english for the majority of use cases, onyx provides an easy way to configure the system for multilingual use. to skip the details and just go to setup, see the configuration section below. how it works onyx has two main flows that assume english as a default. to use onyx in multilingual or non - english cases, these must be handled. - the vector portion of the hybrid - search / reranking. this selects relevant documents to pass to the large language model as context - the prompts for the large language model to instruct it on how to answer user queries. to address the first point, the english first embedding / reranking models can be swapped out for multilingual models. additionally query expansion is applied to rephrase the user query into the target languages. to address the second point, additional instructions are given to the llm to respect the input language and to respond in the same language as the user query. note : the onyx llm prompts are still in english, just with added instructions if the user configures multilingual settings ( see below ). if all of your documents and queries are in some other language, it will be better to simply translate all of onyxs prompts directly to that target language. you can do so here.\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nMultilingual Setup\\nWelcome to Onyx\\nMultilingual Setup\\nHow to set up Onyx to support languages other than English\\nFor the majority of use cases, Onyx provides an easy way to configure the system for multilingual use. To skip the details and just go to setup, see the Configuration section below.\\n\\nHow it works\\nOnyx has two main flows that assume English as a default. To use Onyx in multilingual or non-english cases, these must be handled.\", \"semantic_identifier\": \"Multilingual Setup - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/multilingual_setup\", \"source_links\": {\"0\": \"https://docs.onyx.app/multilingual_setup\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nMultilingual Setup\\nWelcome to Onyx\\nMultilingual Setup\\nHow to set up Onyx to support languages other than English\\nFor the majority of use cases, Onyx provides an easy way to configure the system for multilingual use. To skip the details and just go to setup\", \"\"]}]}\n" -"{\"sub_query\": \"on\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 0}\n" -"{\"sub_query\": \"yx I II III IV project\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 0}\n" -"{\"sub_query\": \" history\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 0}\n" -"{\"sub_query\": \"onyx software version differences\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 1}\n" -"{\"sub_query\": \"\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 1}\n" -"{\"sub_query\": \"onyx system development phases\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 2}\n" -"{\"sub_query\": \"\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 2}\n" -"{\"sub_question\": \"what\", \"level\": 0, \"level_question_nr\": 1}\n" -"{\"sub_question\": \" are the key features and capabilities of\", \"level\": 0, \"level_question_nr\": 1}\n" -"{\"sub_question\": \" Onyx I?\", \"level\": 0, \"level_question_nr\": 1}\n" -"{\"sub_question\": \"what are the key\", \"level\": 0, \"level_question_nr\": 2}\n" -"{\"sub_question\": \" features and capabilities of Onyx II?\", \"level\": 0, \"level_question_nr\": 2}\n" -"{\"sub_question\": \"\", \"level\": 0, \"level_question_nr\": 2}\n" -"{\"sub_question\": \"what are the key features and capabilities of On\", \"level\": 0, \"level_question_nr\": 3}\n" -"{\"sub_question\": \"yx III?\", \"level\": 0, \"level_question_nr\": 3}\n" -"{\"sub_question\": \"what are the key features an\", \"level\": 0, \"level_question_nr\": 4}\n" -"{\"sub_question\": \"d capabilities of Onyx IV?\", \"level\": 0, \"level_question_nr\": 4}\n" -"{\"sub_question\": \"\", \"level\": 0, \"level_question_nr\": 4}\n" -"{\"sub_query\": \"Onyx III technical specifications and features\", \"level\": 0, \"level_question_nr\": 2, \"query_id\": 0}\n" -"{\"sub_query\": \"Onyx I technical specifications and features\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 0}\n" -"{\"sub_query\": \"\", \"level\": 0, \"level_question_nr\": 2, \"query_id\": 0}\n" -"{\"sub_query\": \"Onyx III capabilities compare\", \"level\": 0, \"level_question_nr\": 2, \"query_id\": 1}\n" -"{\"sub_query\": \"Onyx IV technical specifications and features\", \"level\": 0, \"level_question_nr\": 3, \"query_id\": 0}\n" -"{\"sub_query\": \"\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 0}\n" -"{\"sub_query\": \"Onyx I system capabilities and limitations\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 1}\n" -"{\"sub_query\": \"\", \"level\": 0, \"level_question_nr\": 3, \"query_id\": 0}\n" -"{\"sub_query\": \"Onyx IV system capabilities and limitations\", \"level\": 0, \"level_question_nr\": 3, \"query_id\": 1}\n" -"{\"sub_query\": \"d to previous versions\", \"level\": 0, \"level_question_nr\": 2, \"query_id\": 1}\n" -"{\"sub_query\": \"Onyx III\", \"level\": 0, \"level_question_nr\": 2, \"query_id\": 2}\n" -"{\"sub_query\": \" unique selling points and applications\", \"level\": 0, \"level_question_nr\": 2, \"query_id\": 2}\n" -"{\"sub_query\": \"Onyx II technical specifications and features\", \"level\": 0, \"level_question_nr\": 1, \"query_id\": 0}\n" -"{\"sub_query\": \"\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 1}\n" -"{\"sub_query\": \"Onyx I core functionality\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 2}\n" -"{\"sub_query\": \"Onyx II system\", \"level\": 0, \"level_question_nr\": 1, \"query_id\": 1}\n" -"{\"sub_query\": \"\", \"level\": 0, \"level_question_nr\": 2, \"query_id\": 2}\n" -"{\"sub_query\": \" comparison\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 2}\n" -"{\"sub_query\": \"\", \"level\": 0, \"level_question_nr\": 3, \"query_id\": 1}\n" -"{\"sub_query\": \"Onyx IV comparison with previous\", \"level\": 0, \"level_question_nr\": 3, \"query_id\": 2}\n" -"{\"sub_query\": \"\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 2}\n" -"{\"sub_query\": \" versions\", \"level\": 0, \"level_question_nr\": 3, \"query_id\": 2}\n" -"{\"sub_query\": \"\", \"level\": 0, \"level_question_nr\": 3, \"query_id\": 2}\n" -"{\"sub_query\": \" capabilities and limitations\", \"level\": 0, \"level_question_nr\": 1, \"query_id\": 1}\n" -"{\"sub_query\": \"Onyx II comparison\", \"level\": 0, \"level_question_nr\": 1, \"query_id\": 2}\n" -"{\"sub_query\": \" with predecessor\", \"level\": 0, \"level_question_nr\": 1, \"query_id\": 2}\n" -"{\"sub_query\": \"\", \"level\": 0, \"level_question_nr\": 1, \"query_id\": 2}\n" -"{\"top_documents\": [{\"document_id\": \"https://docs.onyx.app/connectors/overview\", \"chunk_ind\": 0, \"semantic_identifier\": \"Connector Overview - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nConnector Overview\\nConnectors\\nConnector Overview\\nBasic Information about Connectors\\n\\nWhat are Connectors\\nConnectors hook up Onyx to your data sources so that answers are grounded in your organizations knowledge.\\n\\nConnectors help you\\n- Choose Sources so you can include only the data you want indexed.\\n- Configure Access so Onyx can securely access data with your permission.\\n- Set Up Fetching options to keep Onyxs answers up to date.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.5207147619028673, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"interested in is already mentioned).\\nDont forget to thumbs up the issues requesting the connectors that you would like to see built next!\\n\\nContributing a Connector\\nAs Onyx is opensource, one of the best features is that anyone can add to it! We encourage people who need new connectors to contribute it back to the Onyx repo for other people to benefit as well.\\nRefer to...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29837}, {\"document_id\": \"https://docs.onyx.app/enterprise_edition/theming\", \"chunk_ind\": 0, \"semantic_identifier\": \"Theming - Onyx Documentation\", \"link\": \"https://docs.onyx.app/enterprise_edition/theming\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nTheming\\nEnterprise\\nTheming\\nCustomize the look of Onyx\\nAs part of the Enterprise Edition, we provide the ability to easily customize the look of Onyx. This comes in two forms:\\n- Adding in your own custom application name / logo.\\n- Customizing every color in the UI.\\n\\nCustomizing the Application Name / Logo\\nTo provide your own application name / logo, you can use the Whitelabelling tab in the admin panel. Here, we provide a way to input a name of your choice, as well as an optional logo.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.3483393932085758, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nTheming\\nEnterprise\\nTheming\\nCustomize the look of Onyx\\nAs part of the Enterprise Edition, we provide the ability to easily customize the look of Onyx. This comes in two forms:\\n- Adding in your own custom application name / logo.\\n- Customizing every color in the UI.\\n\\nCustomizing the Application Name / Logo\\nTo\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29838}, {\"document_id\": \"https://docs.onyx.app/oidc_saml\", \"chunk_ind\": 0, \"semantic_identifier\": \"OIDC/SAML Setup - Onyx Documentation\", \"link\": \"https://docs.onyx.app/oidc_saml\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nAuth\\nOIDC/SAML Setup\\nAuth\\nOIDC/SAML Setup\\nIntegrating Onyx with your IdP\\nAs part of the Enterprise Edition, Onyx adds support for OIDC / SAML and integrates with popular IdPs (e.g. Okta, Microsoft Entra ID, etc). We also have and will continue to add new integrations with custom, in-house IdPs on request.\\nIf this is something you are looking for, please reach to us directly and wed be happy to work with you to set this up.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.3265509579564353, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nAuth\\nOIDC/SAML Setup\\nAuth\\nOIDC/SAML Setup\\nIntegrating Onyx with your IdP\\nAs part of the Enterprise Edition, Onyx adds support for OIDC / SAML and integrates with popular IdPs (e.g. Okta, Microsoft Entra ID, etc). We also have and will continue to add new integrations\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29839}], \"rephrased_query\": \"what are the key features and capabilities of Onyx III?\", \"predicted_flow\": \"question-answer\", \"predicted_search\": \"keyword\", \"applied_source_filters\": null, \"applied_time_cutoff\": null, \"recency_bias_multiplier\": 0.5}\n" -"{\"llm_selected_doc_indices\": []}\n" -"{\"final_context_docs\": [{\"document_id\": \"https://docs.onyx.app/connectors/overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nConnector Overview\\nConnectors\\nConnector Overview\\nBasic Information about Connectors\\n\\nWhat are Connectors\\nConnectors hook up Onyx to your data sources so that answers are grounded in your organizations knowledge.\\n\\nConnectors help you\\n- Choose Sources so you can include only the data you want indexed.\\n- Configure Access so Onyx can securely access data with your permission.\\n- Set Up Fetching options to keep Onyxs answers up to date.\\n\\nMonitoring Connectors\\nOpen the Connectors Dashboard (accessible from the profile icon on the top right) At the top there is a Status page which shows which sources have been indexed and the status of the indexing job.\\n\\nMissing a Connector?\\nIs there a Connector that would be useful to you? Let us know via a GitHub Issues page. (Please check if the connector youre interested in is already mentioned).\\nDont forget to thumbs up the issues requesting the connectors that you would like to see built next!\\n\\nContributing a Connector\\nAs Onyx is opensource, one of the best features is that anyone can add to it! We encourage people who need new connectors to contribute it back to the Onyx repo for other people to benefit as well.\\nRefer to this README guide for how to add a new Connector.\\nContact Us Airtable Connector\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nConnector Overview\\nConnectors\\nConnector Overview\\nBasic Information about Connectors\\n\\nWhat are Connectors\\nConnectors hook up Onyx to your data sources so that answers are grounded in your organizations knowledge.\\n\\nConnectors help you\\n- Choose Sources so you can include only the data you want indexed.\\n- Configure Access so Onyx can securely access data with your permission.\\n- Set Up Fetching options to keep Onyxs answers up to date.\", \"semantic_identifier\": \"Connector Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/connectors/overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/connectors/overview\"}, \"match_highlights\": [\"\", \"interested in is already mentioned).\\nDont forget to thumbs up the issues requesting the connectors that you would like to see built next!\\n\\nContributing a Connector\\nAs Onyx is opensource, one of the best features is that anyone can add to it! We encourage people who need new connectors to contribute it back to the Onyx repo for other people to benefit as well.\\nRefer to...\"]}, {\"document_id\": \"https://docs.onyx.app/enterprise_edition/theming\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nTheming\\nEnterprise\\nTheming\\nCustomize the look of Onyx\\nAs part of the Enterprise Edition, we provide the ability to easily customize the look of Onyx. This comes in two forms:\\n- Adding in your own custom application name / logo.\\n- Customizing every color in the UI.\\n\\nCustomizing the Application Name / Logo\\nTo provide your own application name / logo, you can use the Whitelabelling tab in the admin panel. Here, we provide a way to input a name of your choice, as well as an optional logo.\\n\\nAdvanced Options\\nOnyx also has some advanced customization options\\n- Chat Header Content Custom Markdown content that will be displayed as a banner at the top of the Chat page.\\n-\\nPopup Header The title for the popup that will be displayed for each user on their initial visit to the application. If left blank AND Custom Popup Content is specified, will use Welcome to [Application Name]! where application name is your filled in application name.\\n-\\nPopup Content Custom Markdown content that will be displayed as a popup on initial visit to the application.\\n- Chat Footer Text Custom Markdown content that will be displayed at the bottom of the Chat page.\\n- Chat Footer Logotype Add a custom logotype by uploading a new image and clicking the Update button. This logotype is the text-based logo that will be rendered at the bottom right of the chat screen.\\n\\nCustomizing Colors\\nOnyx uses Tailwind CSS for theming. The color palette is defined in two main files:\\n- web/tailwind-themes/tailwind.config.js : This file contains the base Tailwind configuration, including color definitions.\\n- web/src/app/globals.css : This file defines CSS variables for colors, which are then used in the Tailwind config.\\nTo customize the color palette of Onyx, you can:\\n- Navigate to web/src/app/globals.css\\n- Customize the base color palette (for example, create different accent colors, background colors, etc.)\\nTo choose specific colors for a given set of UI elements, you can:\\n- Navigate to web/tailwind-themes/tailwind.config.js .\\n- Override any values specified in the base tailwind.config.js file.\\nAlternatively, to customize all these colors, you can:\\n- Navigate to web/tailwind-themes .\\n- Create a new folder with the name of your organization.\\n- Create a tailwind.config.js file in this new folder.\\n- Override any values specified in the base tailwind.config.js file.\\n- Set NEXT_PUBLIC_THEME to the name of your organization (e.g. the same name as the folder you created in step 2).\\nFor example, if you wanted to make the background black, you could use:\\n/** @type {import('tailwindcss').Config} */ module.exports = { theme: { extend: { colors: { \\\"background\\\": \\\"#000000\\\", }, }, }, };\\nNOTE: for these changes to apply, you will need to build Onyx from source. If testing locally, you will need to restart the NextJS application to apply the changes.\\nEnterprise Edition Configuration Bring Your Own Analytics\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nTheming\\nEnterprise\\nTheming\\nCustomize the look of Onyx\\nAs part of the Enterprise Edition, we provide the ability to easily customize the look of Onyx. This comes in two forms:\\n- Adding in your own custom application name / logo.\\n- Customizing every color in the UI.\\n\\nCustomizing the Application Name / Logo\\nTo provide your own application name / logo, you can use the Whitelabelling tab in the admin panel. Here, we provide a way to input a name of your choice, as well as an optional logo.\", \"semantic_identifier\": \"Theming - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/enterprise_edition/theming\", \"source_links\": {\"0\": \"https://docs.onyx.app/enterprise_edition/theming\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nTheming\\nEnterprise\\nTheming\\nCustomize the look of Onyx\\nAs part of the Enterprise Edition, we provide the ability to easily customize the look of Onyx. This comes in two forms:\\n- Adding in your own custom application name / logo.\\n- Customizing every color in the UI.\\n\\nCustomizing the Application Name / Logo\\nTo\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/oidc_saml\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nAuth\\nOIDC/SAML Setup\\nAuth\\nOIDC/SAML Setup\\nIntegrating Onyx with your IdP\\nAs part of the Enterprise Edition, Onyx adds support for OIDC / SAML and integrates with popular IdPs (e.g. Okta, Microsoft Entra ID, etc). We also have and will continue to add new integrations with custom, in-house IdPs on request.\\nIf this is something you are looking for, please reach to us directly and wed be happy to work with you to set this up.\\nGoogle OAuth Setup Enterprise Edition Overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nAuth\\nOIDC/SAML Setup\\nAuth\\nOIDC/SAML Setup\\nIntegrating Onyx with your IdP\\nAs part of the Enterprise Edition, Onyx adds support for OIDC / SAML and integrates with popular IdPs (e.g. Okta, Microsoft Entra ID, etc). We also have and will continue to add new integrations with custom, in-house IdPs on request.\\nIf this is something you are looking for, please reach to us directly and wed be happy to work with you to set this up.\", \"semantic_identifier\": \"OIDC/SAML Setup - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/oidc_saml\", \"source_links\": {\"0\": \"https://docs.onyx.app/oidc_saml\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nAuth\\nOIDC/SAML Setup\\nAuth\\nOIDC/SAML Setup\\nIntegrating Onyx with your IdP\\nAs part of the Enterprise Edition, Onyx adds support for OIDC / SAML and integrates with popular IdPs (e.g. Okta, Microsoft Entra ID, etc). We also have and will continue to add new integrations\", \"\"]}]}\n" -"{\"top_documents\": [{\"document_id\": \"https://docs.onyx.app/oidc_saml\", \"chunk_ind\": 0, \"semantic_identifier\": \"OIDC/SAML Setup - Onyx Documentation\", \"link\": \"https://docs.onyx.app/oidc_saml\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nAuth\\nOIDC/SAML Setup\\nAuth\\nOIDC/SAML Setup\\nIntegrating Onyx with your IdP\\nAs part of the Enterprise Edition, Onyx adds support for OIDC / SAML and integrates with popular IdPs (e.g. Okta, Microsoft Entra ID, etc). We also have and will continue to add new integrations with custom, in-house IdPs on request.\\nIf this is something you are looking for, please reach to us directly and wed be happy to work with you to set this up.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7413804433394381, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nAuth\\nOIDC/SAML Setup\\nAuth\\nOIDC/SAML Setup\\nIntegrating Onyx with your IdP\\nAs part of the Enterprise Edition, Onyx adds support for OIDC / SAML and integrates with popular IdPs (e.g. Okta, Microsoft Entra ID, etc). We also have and will continue to add new integrations\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29840}, {\"document_id\": \"https://docs.onyx.app/enterprise_edition/theming\", \"chunk_ind\": 0, \"semantic_identifier\": \"Theming - Onyx Documentation\", \"link\": \"https://docs.onyx.app/enterprise_edition/theming\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nTheming\\nEnterprise\\nTheming\\nCustomize the look of Onyx\\nAs part of the Enterprise Edition, we provide the ability to easily customize the look of Onyx. This comes in two forms:\\n- Adding in your own custom application name / logo.\\n- Customizing every color in the UI.\\n\\nCustomizing the Application Name / Logo\\nTo provide your own application name / logo, you can use the Whitelabelling tab in the admin panel. Here, we provide a way to input a name of your choice, as well as an optional logo.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.722293899146816, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nTheming\\nEnterprise\\nTheming\\nCustomize the look of Onyx\\nAs part of the Enterprise Edition, we provide the ability to easily customize the look of Onyx. This comes in two forms:\\n- Adding in your own custom application name / logo.\\n- Customizing every color in the UI.\\n\\nCustomizing the Application Name / Logo\\nTo\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29841}], \"rephrased_query\": \"what are the key features and capabilities of Onyx II?\", \"predicted_flow\": \"question-answer\", \"predicted_search\": \"keyword\", \"applied_source_filters\": null, \"applied_time_cutoff\": null, \"recency_bias_multiplier\": 0.5}\n" -"{\"llm_selected_doc_indices\": []}\n" -"{\"final_context_docs\": [{\"document_id\": \"https://docs.onyx.app/oidc_saml\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nAuth\\nOIDC/SAML Setup\\nAuth\\nOIDC/SAML Setup\\nIntegrating Onyx with your IdP\\nAs part of the Enterprise Edition, Onyx adds support for OIDC / SAML and integrates with popular IdPs (e.g. Okta, Microsoft Entra ID, etc). We also have and will continue to add new integrations with custom, in-house IdPs on request.\\nIf this is something you are looking for, please reach to us directly and wed be happy to work with you to set this up.\\nGoogle OAuth Setup Enterprise Edition Overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nAuth\\nOIDC/SAML Setup\\nAuth\\nOIDC/SAML Setup\\nIntegrating Onyx with your IdP\\nAs part of the Enterprise Edition, Onyx adds support for OIDC / SAML and integrates with popular IdPs (e.g. Okta, Microsoft Entra ID, etc). We also have and will continue to add new integrations with custom, in-house IdPs on request.\\nIf this is something you are looking for, please reach to us directly and wed be happy to work with you to set this up.\", \"semantic_identifier\": \"OIDC/SAML Setup - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/oidc_saml\", \"source_links\": {\"0\": \"https://docs.onyx.app/oidc_saml\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nAuth\\nOIDC/SAML Setup\\nAuth\\nOIDC/SAML Setup\\nIntegrating Onyx with your IdP\\nAs part of the Enterprise Edition, Onyx adds support for OIDC / SAML and integrates with popular IdPs (e.g. Okta, Microsoft Entra ID, etc). We also have and will continue to add new integrations\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/enterprise_edition/theming\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nTheming\\nEnterprise\\nTheming\\nCustomize the look of Onyx\\nAs part of the Enterprise Edition, we provide the ability to easily customize the look of Onyx. This comes in two forms:\\n- Adding in your own custom application name / logo.\\n- Customizing every color in the UI.\\n\\nCustomizing the Application Name / Logo\\nTo provide your own application name / logo, you can use the Whitelabelling tab in the admin panel. Here, we provide a way to input a name of your choice, as well as an optional logo.\\n\\nAdvanced Options\\nOnyx also has some advanced customization options\\n- Chat Header Content Custom Markdown content that will be displayed as a banner at the top of the Chat page.\\n-\\nPopup Header The title for the popup that will be displayed for each user on their initial visit to the application. If left blank AND Custom Popup Content is specified, will use Welcome to [Application Name]! where application name is your filled in application name.\\n-\\nPopup Content Custom Markdown content that will be displayed as a popup on initial visit to the application.\\n- Chat Footer Text Custom Markdown content that will be displayed at the bottom of the Chat page.\\n- Chat Footer Logotype Add a custom logotype by uploading a new image and clicking the Update button. This logotype is the text-based logo that will be rendered at the bottom right of the chat screen.\\n\\nCustomizing Colors\\nOnyx uses Tailwind CSS for theming. The color palette is defined in two main files:\\n- web/tailwind-themes/tailwind.config.js : This file contains the base Tailwind configuration, including color definitions.\\n- web/src/app/globals.css : This file defines CSS variables for colors, which are then used in the Tailwind config.\\nTo customize the color palette of Onyx, you can:\\n- Navigate to web/src/app/globals.css\\n- Customize the base color palette (for example, create different accent colors, background colors, etc.)\\nTo choose specific colors for a given set of UI elements, you can:\\n- Navigate to web/tailwind-themes/tailwind.config.js .\\n- Override any values specified in the base tailwind.config.js file.\\nAlternatively, to customize all these colors, you can:\\n- Navigate to web/tailwind-themes .\\n- Create a new folder with the name of your organization.\\n- Create a tailwind.config.js file in this new folder.\\n- Override any values specified in the base tailwind.config.js file.\\n- Set NEXT_PUBLIC_THEME to the name of your organization (e.g. the same name as the folder you created in step 2).\\nFor example, if you wanted to make the background black, you could use:\\n/** @type {import('tailwindcss').Config} */ module.exports = { theme: { extend: { colors: { \\\"background\\\": \\\"#000000\\\", }, }, }, };\\nNOTE: for these changes to apply, you will need to build Onyx from source. If testing locally, you will need to restart the NextJS application to apply the changes.\\nEnterprise Edition Configuration Bring Your Own Analytics\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nTheming\\nEnterprise\\nTheming\\nCustomize the look of Onyx\\nAs part of the Enterprise Edition, we provide the ability to easily customize the look of Onyx. This comes in two forms:\\n- Adding in your own custom application name / logo.\\n- Customizing every color in the UI.\\n\\nCustomizing the Application Name / Logo\\nTo provide your own application name / logo, you can use the Whitelabelling tab in the admin panel. Here, we provide a way to input a name of your choice, as well as an optional logo.\", \"semantic_identifier\": \"Theming - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/enterprise_edition/theming\", \"source_links\": {\"0\": \"https://docs.onyx.app/enterprise_edition/theming\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nTheming\\nEnterprise\\nTheming\\nCustomize the look of Onyx\\nAs part of the Enterprise Edition, we provide the ability to easily customize the look of Onyx. This comes in two forms:\\n- Adding in your own custom application name / logo.\\n- Customizing every color in the UI.\\n\\nCustomizing the Application Name / Logo\\nTo\", \"\"]}]}\n" -"{\"answer_piece\": \"Based on the provide\", \"level\": 0, \"level_question_nr\": 1, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \"Base\", \"level\": 0, \"level_question_nr\": 2, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \"d context, I cannot determine the key\", \"level\": 0, \"level_question_nr\": 1, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \"d on the provided context, I cannot\", \"level\": 0, \"level_question_nr\": 2, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \" features and capabilities of Onyx II specifically\", \"level\": 0, \"level_question_nr\": 1, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \". While the documents discuss some features\", \"level\": 0, \"level_question_nr\": 1, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \" answer what the key features and capabilities\", \"level\": 0, \"level_question_nr\": 2, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \" of Onyx Enterprise Edition, such\", \"level\": 0, \"level_question_nr\": 1, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \" of Onyx III are. The given\", \"level\": 0, \"level_question_nr\": 2, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \" as OIDC/\", \"level\": 0, \"level_question_nr\": 1, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \"SAML integration [D1] and the\", \"level\": 0, \"level_question_nr\": 1, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \" documents discuss various aspects of Onyx\", \"level\": 0, \"level_question_nr\": 2, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \"ming capabilities [D2], there is no explicit\", \"level\": 0, \"level_question_nr\": 1, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"top_documents\": [{\"document_id\": \"https://docs.onyx.app/configuration_guide\", \"chunk_ind\": 1, \"semantic_identifier\": \"Configuring Onyx - Onyx Documentation\", \"link\": \"https://docs.onyx.app/configuration_guide\", \"blurb\": \"AUTH_TYPE\\nControls the authentication method used by Onyx.\\ndisabled : No authentication is required.\\ngoogle_oauth : Users can log in using their Google accounts.\\nbasic : Standard username/password authentication.\\noidc : OpenID Connect, available in the enterprise edition.\\nsaml : Security Assertion Markup Language, available in the enterprise edition.\\n\\nSESSION_EXPIRE_TIME_SECONDS\\nDefines the duration of a users session in seconds. Default is 24 hours.\\n\\nENCRYPTION_KEY_SECRET\\nA strong, unique string used for encryption purposes. Keep this value secret.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.76738777357282, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \" AI Settings\\nThese variables configure the generative AI capabilities of Onyx. These are covered in more depth at the generative AI configs .\\n\\nGEN_AI\", \"the provider of the generative AI model (e.g., openai , anthropic , huggingface ).\\n\\nGEN_AI_MODEL_VERSION\\nDefines the version of the generative AI model to use (e.g., gpt-4 for OpenAI).\\n\\nFAST_GEN\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29842}, {\"document_id\": \"https://docs.onyx.app/tools/overview\", \"chunk_ind\": 0, \"semantic_identifier\": \"Tools Overview - Onyx Documentation\", \"link\": \"https://docs.onyx.app/tools/overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform actions (e.g. write to a database, send an email, etc.)\\n- Generate content (e.g. generate an Image, create a plot, etc.)\\nBy default, we have a three tools built-in to Onyx.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7492600166190022, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from\", \"create a plot, etc.)\\nBy default, we have a three tools built-in to Onyx. These are:\\n-\\nSearchTool . This is the core of Onyx\", \"internet. To enable this as an option, set the BING_API_KEY environment variable.\\nEmbedding...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29843}, {\"document_id\": \"https://docs.onyx.app/connectors/overview\", \"chunk_ind\": 0, \"semantic_identifier\": \"Connector Overview - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nConnector Overview\\nConnectors\\nConnector Overview\\nBasic Information about Connectors\\n\\nWhat are Connectors\\nConnectors hook up Onyx to your data sources so that answers are grounded in your organizations knowledge.\\n\\nConnectors help you\\n- Choose Sources so you can include only the data you want indexed.\\n- Configure Access so Onyx can securely access data with your permission.\\n- Set Up Fetching options to keep Onyxs answers up to date.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.506725204520369, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"interested in is already mentioned).\\nDont forget to thumbs up the issues requesting the connectors that you would like to see built next!\\n\\nContributing a Connector\\nAs Onyx is opensource, one of the best features is that anyone can add to it! We encourage people who need new connectors to contribute it back to the Onyx repo for other people to benefit as well.\\nRefer to...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29844}, {\"document_id\": \"https://docs.onyx.app/slack_bot_setup\", \"chunk_ind\": 1, \"semantic_identifier\": \"Slack Bot Setup - Onyx Documentation\", \"link\": \"https://docs.onyx.app/slack_bot_setup\", \"blurb\": \"should_escape: false oauth_config: scopes: bot: - app_mentions:read - channels:history - channels:join - channels:read - chat:write - commands - groups:history - groups:read - im:history - im:read - mpim:history - reactions:write - users:read.email - users:read settings: event_subscriptions: bot_events: - app_mention - message.channels - message.groups - message.im - message.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.4911368824171017, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"connection to Slack.\\n- In the app page, navigate to the OAuth & Permissions tab under the Features header.\\n- Under OAuth Tokens for Your Workspace , select Install to\", \"will be needed later to enable us to respond to messages as OnyxBot.\\n\\nSetting Onyx to use it\\nStart by finding the admin page in the top right of the Onyx web UI.\\nOn the\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29845}], \"rephrased_query\": \"what are the key features and capabilities of Onyx IV?\", \"predicted_flow\": \"question-answer\", \"predicted_search\": \"keyword\", \"applied_source_filters\": null, \"applied_time_cutoff\": null, \"recency_bias_multiplier\": 0.5}\n" -"{\"llm_selected_doc_indices\": []}\n" -"{\"final_context_docs\": [{\"document_id\": \"https://docs.onyx.app/configuration_guide\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nConfiguring Onyx\\nWelcome to Onyx\\nConfiguring Onyx\\nHow to customize your deployment environment.\\n\\nCommon Environment Variables\\nAll of the global configuration options that are not built into the UI are set via environment variables. This page contains an exhaustive list of all the options.\\nThere are defaults set in the code so changing/settings these values is not required to use Onyx. A few notable settings that are more frequently changed however are the following:\\n- AUTH_TYPE (default value is disabled )\\n- MULTILINGUAL_QUERY_EXPANSION (you can provide a comma separated list of languages for query rephrasing such as English,French )\\n- LOG_LEVEL (default is info )\\n- WEB_DOMAIN (your full url in production, including the protocol- e.g. https://www.onyx.app )\\n\\nDocker Compose\\nThere are several ways to configure environment variables for the containers. For Docker Compose, there are many ways to pass environment variables to the container, any of the standard approaches will work. However the preferred approach for Onyx is to use the .env file. To do this, create a file called .env at onyx/deployment/docker_compose/.env . From there, populate it with the values you want to override:\\n# Configures basic email/password based login AUTH_TYPE=\\\"basic\\\" # Rephrasing the query into different languages to improve search recall MULTILINGUAL_QUERY_EXPANSION=\\\"English,Spanish,German\\\" # Set a cheaper/faster LLM for the flows that are easier (such as translating the query etc.) FAST_GEN_AI_MODEL_VERSION=\\\"gpt-3.5-turbo\\\" # Setting more verbose logging LOG_LEVEL=\\\"debug\\\" LOG_ALL_MODEL_INTERACTIONS=\\\"true\\\"\\n\\nKubernetes\\nFor Kubernetes, the deployment yaml files includes an Environment ConfigMap. Simply update the values in the file here .\\n\\nAll Environment Variables\\nThis is an extensive list of the currently supported environment variables within Onyx. There are several classes of environment variables. All of the global configuration options that are not built into the UI are set via environment variables.\\nYou can set these in your .env file.\\n\\nAuth Settings\\nThese variables control authentication and user management in Onyx.\\nAUTH_TYPE\\nControls the authentication method used by Onyx.\\ndisabled : No authentication is required.\\ngoogle_oauth : Users can log in using their Google accounts.\\nbasic : Standard username/password authentication.\\noidc : OpenID Connect, available in the enterprise edition.\\nsaml : Security Assertion Markup Language, available in the enterprise edition.\\n\\nSESSION_EXPIRE_TIME_SECONDS\\nDefines the duration of a users session in seconds. Default is 24 hours.\\n\\nENCRYPTION_KEY_SECRET\\nA strong, unique string used for encryption purposes. Keep this value secret.\\n\\nVALID_EMAIL_DOMAINS\\nComma-separated list of allowed email domains for authentication. Leave empty to allow all domains.\\n\\nGOOGLE_OAUTH_CLIENT_ID\\nClient ID for Google OAuth authentication, obtained from Google Cloud Console .\\n\\nGOOGLE_OAUTH_CLIENT_SECRET\\nClient Secret for Google OAuth authentication, obtained from Google Cloud Console . Keep this value secret.\\n\\nREQUIRE_EMAIL_VERIFICATION\\nWhen set to true , users must verify their email before accessing Onyx.\\n\\nSMTP_SERVER\\nHostname of the SMTP server for sending verification emails. Default is smtp.gmail.com .\\n\\nSMTP_PORT\\nPort used for SMTP communication. Common values are 587 (TLS) or 465 (SSL).\\n\\nSMTP_USER\\nUsername for SMTP authentication, often an email address used to send verification emails.\\n\\nSMTP_PASS\\nPassword for SMTP authentication. Keep this value secret.\\n\\nEMAIL_FROM\\nEmail address used as the sender for verification emails.\\n\\nNEXT_PUBLIC_FORGOT_PASSWORD_ENABLED\\nSet to true to enable the forgot password feature. Only enable this if you have configured the above SMTP settings (For email functionality).\\n\\nGen AI Settings\\nThese variables configure the generative AI capabilities of Onyx. These are covered in more depth at the generative AI configs .\\n\\nGEN_AI_MODEL_PROVIDER\\nSpecifies the provider of the generative AI model (e.g., openai , anthropic , huggingface ).\\n\\nGEN_AI_MODEL_VERSION\\nDefines the version of the generative AI model to use (e.g., gpt-4 for OpenAI).\\n\\nFAST_GEN_AI_MODEL_VERSION\\nSpecifies a faster (usually smaller) model version for certain tasks.\\n\\nGEN_AI_API_KEY\\nAPI key for accessing the generative AI service. Keep this value secret.\\nGEN_AI_LLM_PROVIDER_TYPE\\nSpecifies the type of LLM provider being used (e.g., openai , anthropic , azure ).\\n\\nGEN_AI_MAX_TOKENS\\nMaximum number of tokens to generate in AI responses.\\n\\nQA_TIMEOUT\\nTimeout for question-answering operations in seconds.\\n\\nMAX_CHUNKS_FED_TO_CHAT\\nMaximum number of document chunks fed into a single chat session.\\n\\nDISABLE_LLM_FILTER_EXTRACTION\\nSet to true to disable LLM-based filter extraction from queries.\\n\\nDISABLE_LLM_CHUNK_FILTER\\nSet to true to disable LLM-based filtering of document chunks.\\n\\nDISABLE_LLM_CHOOSE_SEARCH\\nSet to true to disable LLM-based selection of search method.\\n\\nDISABLE_LLM_QUERY_REPHRASE\\nSet to true to disable LLM-based query rephrasing.\\n\\nDISABLE_GENERATIVE_AI\\nSet to true to disable all generative AI functionality.\\n\\nDISABLE_LITELLM_STREAMING\\nSet to true to disable streaming responses when using LiteLLM.\\n\\nLITELLM_EXTRA_HEADERS\\nJSON-formatted string of key-value pairs for additional headers in LiteLLM API requests.\\n\\nTOKEN_BUDGET_GLOBALLY_ENABLED\\nSet to true to enable the global token budget system.\\n\\nAWS Bedrock Settings\\nThese variables are used for AWS Bedrock integration.\\n\\nAWS_ACCESS_KEY_ID\\nAWS access key ID for Bedrock access, obtained from AWS IAM.\\n\\nAWS_SECRET_ACCESS_KEY\\nAWS secret access key for Bedrock access, obtained from AWS IAM. Keep this value secret.\\n\\nAWS_REGION_NAME\\nAWS region where Bedrock is deployed (e.g., us-west-2 ).\\n\\nQuery Options\\nThese variables control various aspects of query processing and search behavior.\\n\\nDOC_TIME_DECAY\\nControls the recency bias in search results. Higher values increase preference for newer documents.\\n\\nHYBRID_ALPHA\\nBalances keyword vs. vector search in hybrid search. Range 0-1 (0 for pure keyword, 1 for pure vector search).\\n\\nEDIT_KEYWORD_QUERY\\nSet to true to enable query editing for keyword searches.\\n\\nMULTILINGUAL_QUERY_EXPANSION\\nSet to true to enable multilingual query expansion.\\n\\nQA_PROMPT_OVERRIDE\\nCustom prompt text to override the default prompt used for question-answering.\\n\\nOther Services\\nConfiguration for external services used by Onyx.\\nPOSTGRES_HOST\\nHostname or IP address of the Postgres server. Default is relational_db .\\n\\nVESPA_HOST\\nHostname or IP address of the Vespa server. Default is index .\\n\\nWEB_DOMAIN\\nFully qualified domain name used for the Onyx web interface. (e.g. https://www.onyx.com )\\n\\nNLP Model Configurations\\nAdvanced settings for NLP models. Modify with caution.\\n\\nINDEX_BATCH_SIZE\\nSize of batch used when indexing documents. Overrides the default batch size for indexing operations.\\n\\nEMBEDDING_BATCH_SIZE\\nSize of batch used when embedding documents during indexing and search operations. Overrides the default batch size for embedding processes.\\n\\nDOCUMENT_ENCODER_MODEL\\nName or path of the encoder model used for document encoding.\\n\\nDOC_EMBEDDING_DIM\\nDimension of document embeddings, typically matching the chosen encoder models output dimension.\\n\\nNORMALIZE_EMBEDDINGS\\nSet to true to enable normalization of embeddings.\\n\\nASYM_QUERY_PREFIX\\nText prepended to queries in asymmetric semantic search.\\n\\nENABLE_RERANKING_REAL_TIME_FLOW\\nSet to true to enable reranking in real-time search flow.\\n\\nENABLE_RERANKING_ASYNC_FLOW\\nSet to true to enable reranking in asynchronous search flow.\\n\\nMODEL_SERVER_HOST\\nHostname or IP address of the model server. Default is inference_model_server .\\n\\nMODEL_SERVER_PORT\\nPort on which the model server is listening.\\n\\nMiscellaneous\\n< Various other configuration options.\\n\\nDISABLE_TELEMETRY\\nSet to true to opt out of telemetry. Telemetry helps improve Onyx; no sensitive data is collected.\\n\\nLOG_LEVEL\\nSets the logging verbosity. Possible values: debug , info , warning , error , critical .\\n\\nLOG_ALL_MODEL_INTERACTIONS\\nSet to true to enable logging of all prompts sent to the LLM.\\n\\nLOG_VESPA_TIMING_INFORMATION\\nSet to true to enable additional logging of Vespa query performance.\\n\\nLOG_ENDPOINT_LATENCY\\nSet to true to enable logging of endpoint latency information.\\nCustom Model Server Multilingual Setup\", \"blurb\": \"AUTH_TYPE\\nControls the authentication method used by Onyx.\\ndisabled : No authentication is required.\\ngoogle_oauth : Users can log in using their Google accounts.\\nbasic : Standard username/password authentication.\\noidc : OpenID Connect, available in the enterprise edition.\\nsaml : Security Assertion Markup Language, available in the enterprise edition.\\n\\nSESSION_EXPIRE_TIME_SECONDS\\nDefines the duration of a users session in seconds. Default is 24 hours.\\n\\nENCRYPTION_KEY_SECRET\\nA strong, unique string used for encryption purposes. Keep this value secret.\", \"semantic_identifier\": \"Configuring Onyx - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/configuration_guide\", \"source_links\": {\"0\": \"https://docs.onyx.app/configuration_guide\"}, \"match_highlights\": [\"\", \" AI Settings\\nThese variables configure the generative AI capabilities of Onyx. These are covered in more depth at the generative AI configs .\\n\\nGEN_AI\", \"the provider of the generative AI model (e.g., openai , anthropic , huggingface ).\\n\\nGEN_AI_MODEL_VERSION\\nDefines the version of the generative AI model to use (e.g., gpt-4 for OpenAI).\\n\\nFAST_GEN\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/tools/overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform actions (e.g. write to a database, send an email, etc.)\\n- Generate content (e.g. generate an Image, create a plot, etc.)\\nBy default, we have a three tools built-in to Onyx. These are:\\n-\\nSearchTool . This is the core of Onyx. Adding this tool to an Assistant allows it to search over the knowledge youve connected up to Onyx through Connectors . This is the only tool available to the default Onyx assistant.\\n-\\nImageGenerationTool . This leverages DALLE-3 to generate images.\\n-\\nInternetSearchTool . This uses Bing to search the internet. To enable this as an option, set the BING_API_KEY environment variable.\\nEmbedding Models Custom Tools\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform actions (e.g. write to a database, send an email, etc.)\\n- Generate content (e.g. generate an Image, create a plot, etc.)\\nBy default, we have a three tools built-in to Onyx.\", \"semantic_identifier\": \"Tools Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/tools/overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/tools/overview\"}, \"match_highlights\": [\"\", \"Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from\", \"create a plot, etc.)\\nBy default, we have a three tools built-in to Onyx. These are:\\n-\\nSearchTool . This is the core of Onyx\", \"internet. To enable this as an option, set the BING_API_KEY environment variable.\\nEmbedding...\"]}, {\"document_id\": \"https://docs.onyx.app/connectors/overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nConnector Overview\\nConnectors\\nConnector Overview\\nBasic Information about Connectors\\n\\nWhat are Connectors\\nConnectors hook up Onyx to your data sources so that answers are grounded in your organizations knowledge.\\n\\nConnectors help you\\n- Choose Sources so you can include only the data you want indexed.\\n- Configure Access so Onyx can securely access data with your permission.\\n- Set Up Fetching options to keep Onyxs answers up to date.\\n\\nMonitoring Connectors\\nOpen the Connectors Dashboard (accessible from the profile icon on the top right) At the top there is a Status page which shows which sources have been indexed and the status of the indexing job.\\n\\nMissing a Connector?\\nIs there a Connector that would be useful to you? Let us know via a GitHub Issues page. (Please check if the connector youre interested in is already mentioned).\\nDont forget to thumbs up the issues requesting the connectors that you would like to see built next!\\n\\nContributing a Connector\\nAs Onyx is opensource, one of the best features is that anyone can add to it! We encourage people who need new connectors to contribute it back to the Onyx repo for other people to benefit as well.\\nRefer to this README guide for how to add a new Connector.\\nContact Us Airtable Connector\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nConnector Overview\\nConnectors\\nConnector Overview\\nBasic Information about Connectors\\n\\nWhat are Connectors\\nConnectors hook up Onyx to your data sources so that answers are grounded in your organizations knowledge.\\n\\nConnectors help you\\n- Choose Sources so you can include only the data you want indexed.\\n- Configure Access so Onyx can securely access data with your permission.\\n- Set Up Fetching options to keep Onyxs answers up to date.\", \"semantic_identifier\": \"Connector Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/connectors/overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/connectors/overview\"}, \"match_highlights\": [\"\", \"interested in is already mentioned).\\nDont forget to thumbs up the issues requesting the connectors that you would like to see built next!\\n\\nContributing a Connector\\nAs Onyx is opensource, one of the best features is that anyone can add to it! We encourage people who need new connectors to contribute it back to the Onyx repo for other people to benefit as well.\\nRefer to...\"]}, {\"document_id\": \"https://docs.onyx.app/slack_bot_setup\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSlack Bot Setup\\nWelcome to Onyx\\nSlack Bot Setup\\nHow to set up a Slack bot to automatically answer questions\\n\\nOnyxBot Introduction\\nOnyx will connect to your Slack and listen for messages to answer.\\nYou can easily configure rules for what channels Onyx should respond in, what knowledge sets should back each configured channel, and set filters to respond or not respond to different types of messages.\\nWhen Onyx identifies valid questions, it will respond in the message thread with:\\n- An LLM generated answer\\n- Quotes of the most relevant excerpts\\n- Sources with highlighted keywords\\nOnyx also provides a configuration page so you can create custom settings for each slack channel (or you can just use the default settings for all your channels).\\nSince we are using Web Sockets, Onyx is able to initiate the connection. This means that this is able to work even if you are running Onyx inside a firewall protected VPC.\\n\\nSetting up\\n\\nAuthorization\\nNote: You must be an admin of the Slack workspace to set up the Slack bot.\\n- Navigate and sign in to https://api.slack.com/apps .\\n- Create a new Slack app:\\n- Click the Create New App button in the top right.\\n- Select From an app manifest option.\\n- Select the relevant workspace from the dropdown and click Next .\\n- Select the YAML tab, paste the following manifest into the text box, and click Next :\\ndisplay_information: name: OnyxBot description: I help answer questions! features: app_home: home_tab_enabled: false messages_tab_enabled: true messages_tab_read_only_enabled: false bot_user: display_name: OnyxBot always_online: true slash_commands: - command: /onyx description: Get back a private answer! usage_hint: Put your question here!\\nshould_escape: false oauth_config: scopes: bot: - app_mentions:read - channels:history - channels:join - channels:read - chat:write - commands - groups:history - groups:read - im:history - im:read - mpim:history - reactions:write - users:read.email - users:read settings: event_subscriptions: bot_events: - app_mention - message.channels - message.groups - message.im - message.mpim interactivity: is_enabled: true org_deploy_enabled: false socket_mode_enabled: true token_rotation_enabled: false\\n- Click the Create button.\\n- Generate an App-level Token ; Under Basic Information , scroll to the App-level tokens section and click the button to generate an App-level token . ( learn more )\\n Add the connections:write scope to the app-level token and click Generate . Copy this somewhere safe for now, as you will need this later to initiate the Web Socket-based connection to Slack.\\n- In the app page, navigate to the OAuth & Permissions tab under the Features header.\\n- Under OAuth Tokens for Your Workspace , select Install to Workspace and Allow the app.\\n- Copy the Bot User OAuth Token , this will be needed later to enable us to respond to messages as OnyxBot.\\n\\nSetting Onyx to use it\\nStart by finding the admin page in the top right of the Onyx web UI.\\nOn the left hand menu of the admin page, navigate to the bottom to Bots .\\nProvide your Slack Tokens and Onyx will start to respond to your slack channels after a short startup delay.\\nThere are also a set of less often used / more advanced configuration options available via environment variables that can set things like how many Reference Documents to show per answer, etc. Refer to the available configs here\\nResourcing GenAI Overview\", \"blurb\": \"should_escape: false oauth_config: scopes: bot: - app_mentions:read - channels:history - channels:join - channels:read - chat:write - commands - groups:history - groups:read - im:history - im:read - mpim:history - reactions:write - users:read.email - users:read settings: event_subscriptions: bot_events: - app_mention - message.channels - message.groups - message.im - message.\", \"semantic_identifier\": \"Slack Bot Setup - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/slack_bot_setup\", \"source_links\": {\"0\": \"https://docs.onyx.app/slack_bot_setup\"}, \"match_highlights\": [\"\", \"connection to Slack.\\n- In the app page, navigate to the OAuth & Permissions tab under the Features header.\\n- Under OAuth Tokens for Your Workspace , select Install to\", \"will be needed later to enable us to respond to messages as OnyxBot.\\n\\nSetting Onyx to use it\\nStart by finding the admin page in the top right of the Onyx web UI.\\nOn the\", \"\"]}]}\n" -"{\"answer_piece\": \" such as connectors [D1], the\", \"level\": 0, \"level_question_nr\": 2, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \" mention of \\\"Onyx II\\\"\", \"level\": 0, \"level_question_nr\": 1, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \" or any version numbering system\", \"level\": 0, \"level_question_nr\": 1, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \"ming capabilities [D2], and authentication features\", \"level\": 0, \"level_question_nr\": 2, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \". I cannot make assumptions about which\", \"level\": 0, \"level_question_nr\": 1, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \" version these features belong to,\", \"level\": 0, \"level_question_nr\": 1, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \" [[3]]()\", \"level\": 0, \"level_question_nr\": 2, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \"ering of Onyx. Therefore, I must\", \"level\": 0, \"level_question_nr\": 2, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \" so I must answer \\\"I don't know\", \"level\": 0, \"level_question_nr\": 1, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \"Base\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \" respond with \\\"I don't know\", \"level\": 0, \"level_question_nr\": 2, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \"\\\" to maintain accuracy based solely on the given context\", \"level\": 0, \"level_question_nr\": 1, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \"d on the provided context, I\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \".\\\"\", \"level\": 0, \"level_question_nr\": 2, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \".\", \"level\": 0, \"level_question_nr\": 1, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \" cannot find any specific information about\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \" Onyx I's key features an\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \"d capabilities. The documentation appears to cover\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \" various aspects of Onyx as a product\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \", including connectors, authentication, enterprise\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \" features, etc., but does not explicitly describe\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \" different versions labeled as Onyx I,\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \" II, III, and IV.\\n\\nThe closest\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \" relevant information shows that Onyx is\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \" described as \\\"the AI Assistant\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \" connected to your company's docs,\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \" apps, and people\\\" [D9\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \"], but this appears to be describing\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \" the product in general rather than a\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \"Base\", \"level\": 0, \"level_question_nr\": 3, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \"d on the provided context, I cannot\", \"level\": 0, \"level_question_nr\": 3, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \" specific version.\\n\\nI would have to say\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \" \\\"I don't know\\\" about the\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \" specific features and capabilities of On\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \"yx I, as this information is not containe\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \" answer what the key features an\", \"level\": 0, \"level_question_nr\": 3, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \"d capabilities of Onyx IV\", \"level\": 0, \"level_question_nr\": 3, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \"d within the provided context.\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \" are. The documents provided ([D1], [D\", \"level\": 0, \"level_question_nr\": 3, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \"2], [D3], [D4])\", \"level\": 0, \"level_question_nr\": 3, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \" only contain information about configuring\", \"level\": 0, \"level_question_nr\": 3, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \" Onyx, its tools, conn\", \"level\": 0, \"level_question_nr\": 3, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \"ectors, and Slack bot setup. There is no\", \"level\": 0, \"level_question_nr\": 3, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \" mention of Onyx IV or any\", \"level\": 0, \"level_question_nr\": 3, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \" versioning system labeled as I\", \"level\": 0, \"level_question_nr\": 3, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \", II, III, or IV. I\", \"level\": 0, \"level_question_nr\": 3, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \" would need additional context specifically about Onyx IV\", \"level\": 0, \"level_question_nr\": 3, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"answer_piece\": \" to answer this question.\", \"level\": 0, \"level_question_nr\": 3, \"answer_type\": \"agent_sub_answer\"}\n" -"{\"top_documents\": [{\"document_id\": \"https://docs.onyx.app/enterprise_edition/overview\", \"chunk_ind\": 0, \"semantic_identifier\": \"Enterprise Edition Overview - Onyx Documentation\", \"link\": \"https://docs.onyx.app/enterprise_edition/overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nEnterprise Edition Overview\\nEnterprise\\nEnterprise Edition Overview\\nAt Onyx, we strive to make our core open-source offering as powerful as possible. However, we understand that large enterprises require additional support and functionality, so we offer additional enterprise-oriented features and functionality.\\n\\nEE Features\\nHere are some of our enterprise-only offerings.\\n\\nSecurity and Access Control\\n-\\nSingle Sign-On (SSO) Streamline user authentication and enhance security with SSO integration (OIDC + SAML)\\n-\\nRole-Based Access Control (RBAC) Manage user permissions efficiently with granular control over access levels.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.9239999362050967, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"Enterprise\\nEnterprise Edition Overview\\nAt Onyx, we strive to make our core open-source offering as powerful as possible. However\", \"support and functionality, so we offer additional enterprise-oriented features and functionality.\\n\\nEE Features\\nHere are some\", \" inheritance for documents and folders.\\n-\\nAPI Key Authentication Secure your API integrations\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29846}, {\"document_id\": \"https://docs.onyx.app/guides/assistants\", \"chunk_ind\": 0, \"semantic_identifier\": \"Creating Assistants - Onyx Documentation\", \"link\": \"https://docs.onyx.app/guides/assistants\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGuides\\nCreating Assistants\\nGuides\\nCreating Assistants\\nA comprehensive guide to creating and configuring AI assistants in Onyx\\n\\nIntroduction\\nOnyx empowers you to create custom AI assistants tailored to your specific needs. These assistants can be configured to handle a wide range of tasks, from answering HR queries to assisting with technical support. This guide will walk you through the process of creating an effective assistant using Onyxs platform.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7989118033543049, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"Tools : Available integrations and capabilities\\n- Starter Messages : Initial\", \" Prompt Types\\nOnyx uses two main types of prompts when configuring an assistant: the System Prompt and the Task Prompt\", \"General behavioral guidelines\\n- Any limitations or restrictions\\nThe System\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29847}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/enterprise_search\", \"chunk_ind\": 1, \"semantic_identifier\": \"Enterprise Search - Onyx Documentation\", \"link\": \"https://docs.onyx.app/more/use_cases/enterprise_search\", \"blurb\": \"This in turn lets them give the most holistic and technically accurate response possible to your customers. On the other end, even the super stars of your sales team will not be able to review 10 hours of transcripts before hopping on that critical call, but Onyx can easily parse through it in mere seconds and give crucial context to help your team close.\\nUse Cases Overview AI Platform\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.768983980852454, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"This in turn lets them give the most holistic and technically accurate response possible to your customers. On the other end, even the super stars of your sales team will not be able to review 10 hours of transcripts before hopping on that critical call, but Onyx can easily parse through it in mere seconds and give crucial context to help your team close.\\nUse Cases Overview AI...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29848}, {\"document_id\": \"https://docs.onyx.app/configuration_guide\", \"chunk_ind\": 1, \"semantic_identifier\": \"Configuring Onyx - Onyx Documentation\", \"link\": \"https://docs.onyx.app/configuration_guide\", \"blurb\": \"AUTH_TYPE\\nControls the authentication method used by Onyx.\\ndisabled : No authentication is required.\\ngoogle_oauth : Users can log in using their Google accounts.\\nbasic : Standard username/password authentication.\\noidc : OpenID Connect, available in the enterprise edition.\\nsaml : Security Assertion Markup Language, available in the enterprise edition.\\n\\nSESSION_EXPIRE_TIME_SECONDS\\nDefines the duration of a users session in seconds. Default is 24 hours.\\n\\nENCRYPTION_KEY_SECRET\\nA strong, unique string used for encryption purposes. Keep this value secret.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.76738777357282, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \" AI Settings\\nThese variables configure the generative AI capabilities of Onyx. These are covered in more depth at the generative AI configs .\\n\\nGEN_AI\", \"the provider of the generative AI model (e.g., openai , anthropic , huggingface ).\\n\\nGEN_AI_MODEL_VERSION\\nDefines the version of the generative AI model to use (e.g., gpt-4 for OpenAI).\\n\\nFAST_GEN\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29849}, {\"document_id\": \"https://docs.onyx.app/tools/overview\", \"chunk_ind\": 0, \"semantic_identifier\": \"Tools Overview - Onyx Documentation\", \"link\": \"https://docs.onyx.app/tools/overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform actions (e.g. write to a database, send an email, etc.)\\n- Generate content (e.g. generate an Image, create a plot, etc.)\\nBy default, we have a three tools built-in to Onyx.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7492600166190022, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from\", \"create a plot, etc.)\\nBy default, we have a three tools built-in to Onyx. These are:\\n-\\nSearchTool . This is the core of Onyx\", \"internet. To enable this as an option, set the BING_API_KEY environment variable.\\nEmbedding...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29850}, {\"document_id\": \"https://docs.onyx.app/oidc_saml\", \"chunk_ind\": 0, \"semantic_identifier\": \"OIDC/SAML Setup - Onyx Documentation\", \"link\": \"https://docs.onyx.app/oidc_saml\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nAuth\\nOIDC/SAML Setup\\nAuth\\nOIDC/SAML Setup\\nIntegrating Onyx with your IdP\\nAs part of the Enterprise Edition, Onyx adds support for OIDC / SAML and integrates with popular IdPs (e.g. Okta, Microsoft Entra ID, etc). We also have and will continue to add new integrations with custom, in-house IdPs on request.\\nIf this is something you are looking for, please reach to us directly and wed be happy to work with you to set this up.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7413804433394381, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nAuth\\nOIDC/SAML Setup\\nAuth\\nOIDC/SAML Setup\\nIntegrating Onyx with your IdP\\nAs part of the Enterprise Edition, Onyx adds support for OIDC / SAML and integrates with popular IdPs (e.g. Okta, Microsoft Entra ID, etc). We also have and will continue to add new integrations\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29851}, {\"document_id\": \"https://docs.onyx.app/enterprise_edition/theming\", \"chunk_ind\": 0, \"semantic_identifier\": \"Theming - Onyx Documentation\", \"link\": \"https://docs.onyx.app/enterprise_edition/theming\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nTheming\\nEnterprise\\nTheming\\nCustomize the look of Onyx\\nAs part of the Enterprise Edition, we provide the ability to easily customize the look of Onyx. This comes in two forms:\\n- Adding in your own custom application name / logo.\\n- Customizing every color in the UI.\\n\\nCustomizing the Application Name / Logo\\nTo provide your own application name / logo, you can use the Whitelabelling tab in the admin panel. Here, we provide a way to input a name of your choice, as well as an optional logo.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.722293899146816, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nTheming\\nEnterprise\\nTheming\\nCustomize the look of Onyx\\nAs part of the Enterprise Edition, we provide the ability to easily customize the look of Onyx. This comes in two forms:\\n- Adding in your own custom application name / logo.\\n- Customizing every color in the UI.\\n\\nCustomizing the Application Name / Logo\\nTo\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29852}, {\"document_id\": \"https://docs.onyx.app/system_overview\", \"chunk_ind\": 0, \"semantic_identifier\": \"System Overview - Onyx Documentation\", \"link\": \"https://docs.onyx.app/system_overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking to customize the system or become an open source contributors, this is a great place to start.\\n\\nSystem Architecture\\nWhether deploying Onyx on a single instance or a container orchestration platform, the flow of data is the same.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7100937288926017, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"of mini-chunks takes this concept even further. By embedding at different sizes, Onyx can retrieve both high level context and details. Mini-chunks can also be turned on/off\", \"Flow\\nThis flow is often updated as were constantly striving to push the capabilities of the retrieval pipeline with the most recent advancements coming out of research and the opensource community.\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29853}, {\"document_id\": \"https://docs.onyx.app/enterprise_edition/configuration\", \"chunk_ind\": 0, \"semantic_identifier\": \"Enterprise Edition Configuration - Onyx Documentation\", \"link\": \"https://docs.onyx.app/enterprise_edition/configuration\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nEnterprise Edition Configuration\\nEnterprise\\nEnterprise Edition Configuration\\nEnterprise-only configuration\\n\\nEE environment variables\\nIn additon to the extra features mentioned in the overview page , you have access to additional configuraton options in the form of environment variables as an Entprprise Edition user.\\n\\nENV_SEED_CONFIGURATION\\nThis variable allows you to start your Onyx instance with pre-configured options that persist across restarts.\\n\\nConfiguration Options\\nENV_SEED_CONFIGURATION accepts a JSON string with the following options:\\n- llms : List of LLM configurations (name, provider, api_key,\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.709427478173413, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"configuration\\n\\nEE environment variables\\nIn additon to the extra features mentioned in the overview page , you have access to additional configuraton\", \"CONFIGURATION\\nThis variable allows you to start your Onyx instance with pre-configured options that persist across \", \"llms : List of LLM configurations (name, provider, api_key, api_base, api_version, custom_config...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29854}, {\"document_id\": \"https://docs.onyx.app/guides/embedding_providers\", \"chunk_ind\": 1, \"semantic_identifier\": \"Embedding Models - Onyx Documentation\", \"link\": \"https://docs.onyx.app/guides/embedding_providers\", \"blurb\": \"Choosing the Right Model\\nConsider these factors when selecting an embedding model:\\n- Task Complexity : More complex tasks may benefit from larger models like text-embedding-3-large or voyage-large-2-instruct .\\n- Language Specificity : For English-specific tasks, consider Coheres models.\\n- Performance vs. Efficiency : Balance the trade-off between model performance and computational efficiency based on your needs.\\n- Integration Complexity : Consider the ease of setup, especially for models like Gecko that require more configuration.\\n\\nBest Practices\\n- Experiment : Test different models with your typical data to compare performance.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6858807426747197, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"Stay Updated : Regularly check for updates or new model releases from providers.\\n- Security : Always use the secure interface provided by the application to input your API keys or upload credential files.\\nRemember to review each providers documentation for the most up-to-date information on model capabilities and integration details.\\nLLM Providers Tools Overview\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29855}, {\"document_id\": \"https://docs.onyx.app/introduction\", \"chunk_ind\": 0, \"semantic_identifier\": \"Introduction - Onyx Documentation\", \"link\": \"https://docs.onyx.app/introduction\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into any LLM of your choice. Onyx can be deployed anywhere and for any scale - on a laptop, on-premise, or to cloud. Since you own the deployment, your user data and chats are fully in your own control. Onyx is MIT licensed and designed to be modular and easily extensible.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6146251739194588, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"such as A customer wants feature X, is this already supported? or Wheres the pull request for feature Y?\\nOnyx can also be plugged into existing tools like Slack to get answers and AI chats directly in Slack.\\n\\nDemo\\n\\nMain Features \\n- Chat UI with the ability to select documents to chat with.\\n- Create custom AI Assistants\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29856}, {\"document_id\": \"https://docs.onyx.app/connectors/productboard\", \"chunk_ind\": 0, \"semantic_identifier\": \"Productboard Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/productboard\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nProductboard Connector\\nConnectors\\nProductboard Connector\\nSync knowledge from Productboard\\n\\nHow it works\\nThe Productboard connector pulls in all the Features , Components , Products , and Objectives into Onyx. At this time, the Productboard APIs does not support pulling in Releases or Notes .\\nEverything is updated every 10 minutes.\\n\\nSetting up\\n\\nAuthorization\\n- Follow the Getting a token guide here to get an Access Token.\\n\\nIndexing\\n- Navigate to the Admin Dashboard and select the Productboard Connector\\n- In Step 1 , provide your Access Token\\n- Click Connect to begin indexing\\nOracle Storage Connector R2 Connector\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.5641978117284419, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"Connector\\nConnectors\\nProductboard Connector\\nSync knowledge from Productboard\\n\\nHow it works\\nThe Productboard connector pulls in all the Features , Components , Products , and Objectives into Onyx. At this time, the Productboard APIs does not support pulling in Releases or Notes .\\nEverything is updated every 10 minutes.\\n\\nSetting up\\n\\n\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29857}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/sales\", \"chunk_ind\": 0, \"semantic_identifier\": \"Sales - Onyx Documentation\", \"link\": \"https://docs.onyx.app/more/use_cases/sales\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nSales\\nUse Cases\\nSales\\nKeep your team up to date on every conversation and update so they can close.\\n\\nRecall Every Detail\\nBeing able to instantly revisit every detail of any call without reading transcripts is helping Sales teams provide more tailored pitches, build stronger relationships, and close more deals. Instead of searching and reading through hours of transcripts in preparation for a call, your team can now ask Onyx What specific features was ACME interested in seeing for the demo.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.5479788623628652, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"pitches, build stronger relationships, and close more deals. Instead of searching and reading through hours of transcripts in preparation for a call, your team can now ask Onyx What specific features was ACME interested in seeing for the demo. Since your team doesnt have time to read every transcript prior to a call, Onyx provides a more thorough summary because it can...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29858}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/overview\", \"chunk_ind\": 0, \"semantic_identifier\": \"Use Cases Overview - Onyx Documentation\", \"link\": \"https://docs.onyx.app/more/use_cases/overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI more versatile for work by enabling new types of questions like What is the most common feature request weve heard from customers this month. Whereas other AI systems have no context of your team and are generally unhelpful with work related questions, Onyx makes it possible to ask these questions in natural language and get back answers in seconds.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.5441332237211185, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"generate answers.\\n\\nWhere is the feature for auto sync-ing document level access permissions from all connected sources?\\nAnswer: This falls under the Enterprise Edition set of Onyx features built on top of the MIT/community edition. If you are on Onyx Cloud, you have access to them by default. If youre running it yourself, reach out to the Onyx team to receive...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29859}, {\"document_id\": \"https://docs.onyx.app/tools/custom\", \"chunk_ind\": 0, \"semantic_identifier\": \"Custom Tools - Onyx Documentation\", \"link\": \"https://docs.onyx.app/tools/custom\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nCustom Tools\\nTools\\nCustom Tools\\nHow to create custom tools with Onyx\\nFirst, navigate to the Admin console, and go to the Tools tab. Click the New Tool button.\\nNext, specify a OpenAPI 3.0 or OpenAPI 3.1 schema that defines the APIs that you want to make available as part of this tool.\\nOnyx provides dynamic context variables that can be utilized within your OpenAPI definition, enhancing the functionality and context-awareness of your custom tools.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.5277030746538452, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"Tools tab. Click the New Tool button.\\nNext, specify a OpenAPI 3.0 or OpenAPI 3.1 schema that defines the APIs that you want to make available as part of this tool.\\nOnyx provides dynamic context variables that can be utilized within your OpenAPI definition, enhancing the functionality and context-awareness of your custom tools. These variables are:\\n-\\nCHAT_SESSION_ID : Replaced...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29860}, {\"document_id\": \"https://docs.onyx.app/connectors/overview\", \"chunk_ind\": 0, \"semantic_identifier\": \"Connector Overview - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nConnector Overview\\nConnectors\\nConnector Overview\\nBasic Information about Connectors\\n\\nWhat are Connectors\\nConnectors hook up Onyx to your data sources so that answers are grounded in your organizations knowledge.\\n\\nConnectors help you\\n- Choose Sources so you can include only the data you want indexed.\\n- Configure Access so Onyx can securely access data with your permission.\\n- Set Up Fetching options to keep Onyxs answers up to date.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.5207147619028673, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"interested in is already mentioned).\\nDont forget to thumbs up the issues requesting the connectors that you would like to see built next!\\n\\nContributing a Connector\\nAs Onyx is opensource, one of the best features is that anyone can add to it! We encourage people who need new connectors to contribute it back to the Onyx repo for other people to benefit as well.\\nRefer to...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29861}, {\"document_id\": \"https://www.onyx.app/\", \"chunk_ind\": 0, \"semantic_identifier\": \"Onyx\", \"link\": \"https://www.onyx.app/\", \"blurb\": \"Help your \\u00b0\\nEng\\nSupport\\nSales\\nProduct\\nOps team\\nfind information faster\\nThe open source AI connected to your company's docs, apps, and people Book a demo\\nYour browser does not support the video tag.\\nAI Workplace Search\\nFind answers across all your teams' applications\\nYour browser does not support the video tag.\\nAI Assistant\\nCreate AI Assistants powered by your org's unique knowledge, available right where you work\\nYour browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.5005257810370336, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \" browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\\nOnyx connects to all your apps\\nWorks out of the box, syncs in real time, with document level access.\\n40+ integrations available, with more being built every day.\\nBuilt for\\nEnterprise\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29862}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/support\", \"chunk_ind\": 0, \"semantic_identifier\": \"Customer Support - Onyx Documentation\", \"link\": \"https://docs.onyx.app/more/use_cases/support\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nCustomer Support\\nUse Cases\\nCustomer Support\\nHelp your customer support team instantly answer any question across your entire product.\\n\\nAI Enabled Support\\nCustomer support agents have one of the highest breadth jobs. They field requests that cover the entire surface area of the product and need to help your users find success on extremely short timelines. Because theyre not the same people who designed or built the system, they often lack the depth of understanding needed - resulting in delays and escalations to other teams.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.49562041633184817, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"the ability of the AI system to break down difficult concepts and convoluted processes into more digestible descriptions and for your team members to be able to chat back and forth with the system to build a better understanding.\\nOnyx takes care of both of these. The system connects up to over 30+ different applications and the knowledge is pulled in constantly...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29863}, {\"document_id\": \"https://docs.onyx.app/slack_bot_setup\", \"chunk_ind\": 1, \"semantic_identifier\": \"Slack Bot Setup - Onyx Documentation\", \"link\": \"https://docs.onyx.app/slack_bot_setup\", \"blurb\": \"should_escape: false oauth_config: scopes: bot: - app_mentions:read - channels:history - channels:join - channels:read - chat:write - commands - groups:history - groups:read - im:history - im:read - mpim:history - reactions:write - users:read.email - users:read settings: event_subscriptions: bot_events: - app_mention - message.channels - message.groups - message.im - message.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.49505915407800327, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"connection to Slack.\\n- In the app page, navigate to the OAuth & Permissions tab under the Features header.\\n- Under OAuth Tokens for Your Workspace , select Install to\", \"will be needed later to enable us to respond to messages as OnyxBot.\\n\\nSetting Onyx to use it\\nStart by finding the admin page in the top right of the Onyx web UI.\\nOn the\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29864}, {\"document_id\": \"https://docs.onyx.app/gen_ai_configs/overview\", \"chunk_ind\": 0, \"semantic_identifier\": \"GenAI Overview - Onyx Documentation\", \"link\": \"https://docs.onyx.app/gen_ai_configs/overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nGenAI Overview\\nGen AI Configs\\nGenAI Overview\\nOverview of the Generative AI functionality in Onyx\\n\\nLLM Options\\nOnyx supports a large range of LLM hosting services and local/custom such as:\\n- For cloud providers, we support OpenAI , Anthropic , Azure OpenAI , HuggingFace , Replicate , AWS Bedrock , Cohere , and many others.\\n- For self-hosted, we support Ollama and GPT4All (or any other way you choose to provide an OpenAI-compatible API).\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.49294959570418817, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"Search...\\nNavigation\\nGen AI Configs\\nGenAI Overview\\nGen AI Configs\\nGenAI Overview\\nOverview of the Generative AI functionality in Onyx\\n\\nLLM Options\\nOnyx supports a large range of LLM hosting services and local/custom such as:\\n- For cloud providers, we support OpenAI , Anthropic\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29865}, {\"document_id\": \"https://docs.onyx.app/quickstart\", \"chunk_ind\": 1, \"semantic_identifier\": \"Quickstart - Onyx Documentation\", \"link\": \"https://docs.onyx.app/quickstart\", \"blurb\": \"You can get an OpenAI API key at: https://platform.openai.com/account/api-keys\\nYou can also replace OpenAI with a model provider of your choice, see here for more info\\n\\nIndexing Documents\\nThis quickstart guide will index a publicly accessible website as this requires no additional authorization setup\\n- Navigate to the top right of Onyxs home screen and select Admin Panel\\n- In the Web Connector dashboard, pick any base URL to index.\\n- This will index all pages under that base URL that is reachable from hyperlinks.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.477913749484956, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"You can get an OpenAI API key at: https://platform.openai.com/account/api-keys\\nYou can also replace OpenAI with a model provider of your choice, see here for more info\\n\\nIndexing\", \"publicly accessible website as this requires no additional authorization setup\\n- Navigate to the top right of Onyxs home screen and select Admin Panel\\n- In the Web Connector dashboard, pick any...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29866}, {\"document_id\": \"https://docs.onyx.app/connectors/discourse\", \"chunk_ind\": 0, \"semantic_identifier\": \"Discourse Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/discourse\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nDiscourse Connector\\nConnectors\\nDiscourse Connector\\nAccess knowledge from your Discourse Topics\\n\\nHow it works\\nThe Discourse connector indexes documents from your Discourse Topics .\\n\\nSetting up\\n\\nAuthorization\\n- Log into your Discourse account\\nThis Discourse user must have admin priveleges\\n- Click the Admin menu from the home page.\\n- Open the Advanced sub-menu and select API keys .\\n- Click New API Key , name it Onyx. Select All Users for User Level and Read-only for Scope .\\n- Click Save . Copy the key and put it into Onyx.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.4729337866287866, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"Discourse user must have admin priveleges\\n- Click the Admin menu from the home page.\\n- Open the Advanced sub-menu and select API keys .\\n- Click New API Key , name it Onyx. Select All Users for User Level and Read-only for Scope .\\n- Click Save . Copy the key and put it into Onyx.\\n- for the API Key\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29867}, {\"document_id\": \"https://docs.onyx.app/connectors/gong\", \"chunk_ind\": 0, \"semantic_identifier\": \"Gong Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/gong\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nGong Connector\\nConnectors\\nGong Connector\\nAccess the latest call transcripts from Gong\\n\\nHow it works\\nThe Gong connector pulls in the transcripts of calls recorded via Gong. The Gong connector indexes the call title, call description, and contents of the actual transcript.\\nNew transcripts are pulled every 10 minutes.\\n\\nSetting up\\n\\nAuthorization\\n- User must get an Access Key and Access Key Secret to pull in Gong transcripts\\n- As an admin, go to Company Settings on the right of the top options bar (see below)\\n 3. Next, find the Ecosystem block and select API 4.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.46898086331361705, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"select API 4. Once there, select API KEYS (its right next to INTEGRATIONS ) 5. Click on GET API KEY and note down the ACCESS KEY and ACCESS KEY SECRET\\n\\nIndexing\\n- In the Onyx UI, navigate to the Admin Dashboard and select the Gong Connector\\n- Provide the Access Key and Access Key Secret from the previous step\\n- \", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29868}, {\"document_id\": \"https://docs.onyx.app/enterprise_edition/custom_analytics\", \"chunk_ind\": 0, \"semantic_identifier\": \"Bring Your Own Analytics - Onyx Documentation\", \"link\": \"https://docs.onyx.app/enterprise_edition/custom_analytics\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nBring Your Own Analytics\\nEnterprise\\nBring Your Own Analytics\\nAdd your own analytics provider to Onyx\\nAs part of the Enterprise Edition, we provide the ability to bring your own analytics provider. This allows you to get session replays, usage metrics, etc. in the platform youre alraedy familiar with.\\nTo enable this, there are a few steps:\\n- Set the CUSTOM_ANALYTICS_SECRET_KEY environment variable to some random string (e.g. 2uIfMPVgHCTD57HU ). Make sure you have the value saved temporarily somewhere.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.4635422471311731, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"This allows you to get session replays, usage metrics, etc. in the platform youre alraedy familiar with.\\nTo enable this, there are a few steps:\\n- Set the CUSTOM_ANALYTICS_SECRET_KEY environment variable to some random string (e.g. 2uIfMPVgHCTD57HU ). Make sure you have the value saved temporarily somewhere.\\n- Re-deploy Onyx.\\n- Go to the Custom Analytics tab in the Admin Panel.\\n...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29869}, {\"document_id\": \"https://docs.onyx.app/connectors/zendesk\", \"chunk_ind\": 0, \"semantic_identifier\": \"Zendesk Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/zendesk\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nZendesk Connector\\nConnectors\\nZendesk Connector\\nAccess knowledge from Zendesk Articles\\n\\nHow it works\\nThe Zendesk Connector syncs all of the published Articles in your companys subdomain.\\nSome current limitations (a contributor is currently working on extending these):\\n- It does not pick up Zendesk Tickets\\n- It does not include comments.\\n- It pulls all of the articles, does not allow selection by Category etc.\\n\\nSetting up\\n\\nAuthorization\\n- The Zendesk Connector requires 3 things to connect:\\n- Subdomain of the tenant (ex.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.44580869839906695, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nZendesk Connector\\nConnectors\\nZendesk Connector\\nAccess knowledge from Zendesk Articles\\n\\nHow it works\\nThe Zendesk Connector syncs all of the published Articles in your companys subdomain.\\nSome current limitations (a contributor is currently working on extending these):\\n- It does not pick up Zendesk Tickets\\n- It does not...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29870}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/ai_platform\", \"chunk_ind\": 0, \"semantic_identifier\": \"AI Platform - Onyx Documentation\", \"link\": \"https://docs.onyx.app/more/use_cases/ai_platform\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user chat sessions, attaching custom tools, handling LLM reasoning, code execution, data analysis, referencing internal knowledge, and much more.\\nOnyx as a platform is not a no-code agent builder.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.4456716540735705, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"developers for developers and this gives your team the full flexibility and power to create agents not constrained by blocks and simple logic paths.\\n\\nFlexibility and Extensibility\\nOnyx is open source and completely whitebox. This not only gives transparency to what happens within the system but also means that your team can directly modify the source code to suit your unique...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29871}, {\"document_id\": \"https://docs.onyx.app/connectors/oci_storage\", \"chunk_ind\": 0, \"semantic_identifier\": \"Oracle Storage Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/oci_storage\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nOracle Storage Connector\\nConnectors\\nOracle Storage Connector\\nAccess documents stored in Oracle Cloud Infrastructure Object Storage\\n\\nHow it works\\nThe Oracle Cloud Infrastructure (OCI) Storage connector pulls in all documents from the specified OCI bucket. It supports various file formats including PDF, DOC, DOCX, TXT, and more.\\nDocuments are updated every 1 day.\\n\\nSetting up\\n\\nAuthorization\\n- Log into your Oracle Cloud Console.\\n- Click on the user icon in the top-right corner and select User Settings.\\n-\\nUnder Resources, click on Customer Secret Keys.\\n-\\nClick Generate Secret Key.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.4407582659145628, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nOracle Storage Connector\\nConnectors\\nOracle Storage Connector\\nAccess documents\", \"Log into your Oracle Cloud Console.\\n- Click on the user icon in the top-right corner and select User Settings.\\n-\\nUnder Resources, click on Customer Secret Keys.\\n-\\nClick Generate Secret Key.\\n-\\nEnter a friendly name for your...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29872}, {\"document_id\": \"https://docs.onyx.app/connectors/freshdesk\", \"chunk_ind\": 0, \"semantic_identifier\": \"Freshdesk Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/freshdesk\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nFreshdesk Connector\\nConnectors\\nFreshdesk Connector\\nAccess knowledge from your Freshdesk Tickets\\n\\nHow it works\\nThe Freshdesk connector indexes tickets from your Freshdesk account.\\n\\nSetting up\\n\\nAuthorization\\n- Login to Freshdesk\\n- The Freshdesk user must be a verified agent, admin, or owner.\\n- Click the profile avatar and choose profile settings.\\n- Select View API Key .\\n- Once you have the API key, you can use it (as well as your domain and password) to authorize your Onyx connector.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.4379703360724948, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"Freshdesk user must be a verified agent, admin, or owner.\\n- Click the profile avatar and choose profile settings.\\n- Select View API Key .\\n- Once you have the API key, you can use it (as well as your domain and password) to authorize your Onyx connector.\\n\\nIndexing\\n- Navigate to the Admin Dashboard.\\n- In the sidebar select Add Connector and click on the Freshdesk tile.\\n...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29873}, {\"document_id\": \"https://docs.onyx.app/connectors/file\", \"chunk_ind\": 0, \"semantic_identifier\": \"File Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/file\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nFile Connector\\nConnectors\\nFile Connector\\nAccess knowledge from Local Files\\n\\nHow it works\\nThe File Connector indexes user uploaded files. Currently supports .txt , .pdf , .docx , .pptx , .xlsx , .csv , .md , .mdx , .conf , .log , .json , .tsv , .xml , .yml , .yaml , .eml , and .epub files.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.4377576698832462, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"primary_owners\\n- secondary_owners\\n- doc_updated_at\\n- file_display_name\\nYou can also include arbitrary key/value pairs which will be understood as tags. These tags can then be used in the \", \"with certain tag(s) attached\\nFor example:\\n#DANSWER_METADATA={\\\"link\\\": \\\"https://github.com/onyx-dot-app/onyx/blob/main/CONTRIBUTING.md\\\", \\\"primary_owners\\\": [\\\"yuhong@onyx.app\\\"...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29874}, {\"document_id\": \"https://docs.onyx.app/enterprise_edition/curator/overview\", \"chunk_ind\": 0, \"semantic_identifier\": \"Curator Role Overview - Onyx Documentation\", \"link\": \"https://docs.onyx.app/enterprise_edition/curator/overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nCurator\\nCurator Role Overview\\nCurator\\nCurator Role Overview\\nThe Curator role is a role available in Onyxs Enterprise Edition.\\nCurators are essentially group level admins.\\nThis role is designed for larger organizations to be able to delegate the task of managing each groups data to users within that group.\\n\\nCurator Role Capabilities\\nCurators are able to do the following for groups they curate:\\n-\\nAdd and Remove Users to/from a Group\\n Curators are able to add and remove Basic users to/from a group.\\n-\\nCreate and Manage Credentials\\n Curators are able to create credentials for connectors.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.4245889774272307, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"\\nCurator Role Overview\\nThe Curator role is a role available in Onyxs Enterprise Edition.\\nCurators are essentially group level admins.\\nThis role\", \"task of managing each groups data to users within that group.\\n\\nCurator Role Capabilities\\nCurators are able to do the following for groups they curate:\\n-\\nAdd and Remove Users\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29875}, {\"document_id\": \"https://docs.onyx.app/connectors/s3\", \"chunk_ind\": 0, \"semantic_identifier\": \"S3 Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/s3\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nS3 Connector\\nConnectors\\nS3 Connector\\nAccess documents stored in Amazon S3 buckets\\n\\nHow it works\\nThe S3 connector pulls in all documents from the specified Amazon S3 bucket. It supports various file formats including PDF, DOC, DOCX, TXT, and more.\\nDocuments are updated every 1 day.\\n\\nSetting up\\n\\nAuthorization\\n- Log into your AWS Management Console.\\n- Navigate to the IAM (Identity and Access Management) dashboard.\\n- In the left sidebar, click on Users and then Create user.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.4209410623332803, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"and click Next.\\n- Add any tags if needed, then click Create user.\\n- Youll now be on the users page. Click on the user you just created.\\n- Click create access key and select Third-party service\\n- Select I understand the above recommendation and want to proceed to create an access key and then Next.\\n- Optionally, set a description tag and then press create access key.\\n...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29876}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/operations\", \"chunk_ind\": 0, \"semantic_identifier\": \"Operations - Onyx Documentation\", \"link\": \"https://docs.onyx.app/more/use_cases/operations\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nOperations\\nUse Cases\\nOperations\\nDouble the productivity of your Ops teams like IT, HR, etc.\\n\\nAutomatically Resolve Tickets\\nModern teams are leveraging AI to auto-resolve up to 50% of tickets. Whether it is an employee asking about benefits details or how to set up the VPN for remote work, Onyx can help your team help themselves. This frees up your team to do the real impactful work of landing star candidates or improving your internal processes.\\n\\nAI Aided Onboarding\\nOne of the periods where your team needs the most help is when theyre just ramping up.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.4168068112423194, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nOperations\\nUse Cases\\nOperations\\nDouble the productivity of your Ops teams like IT\", \"Modern teams are leveraging AI to auto-resolve up to 50% of tickets. Whether it is an employee asking about benefits details or how to set up the VPN for remote work, Onyx can help your team help themselves. This frees up your team to do...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29877}, {\"document_id\": \"https://docs.onyx.app/connectors/google_storage\", \"chunk_ind\": 0, \"semantic_identifier\": \"Google Storage Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/google_storage\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nGoogle Storage Connector\\nConnectors\\nGoogle Storage Connector\\nAccess documents stored in Google Cloud Storage buckets\\n\\nHow it works\\nThe Google Cloud Storage connector pulls in all documents from the specified GCS bucket. It supports various file formats including PDF, DOC, DOCX, TXT, and more.\\nDocuments are updated every 1 day.\\n\\nSetting up\\n\\nAuthorization\\n-\\nLog into your Google Cloud Console.\\n-\\nNavigate to IAM & Admin > Service Accounts.\\n-\\nClick Create Service Account.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.40974290050106216, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"Click Create Service Account.\\n-\\nSet a name for the new service account (e.g., onyx-gcs-connector) and click Create.\\n-\\nFor the role, select Storage Object \", \" the Service Accounts page, find your newly created account and click on it.\\n-\\nIn the Keys section, click Add Key > Create new key.\\n-\\nChoose JSON as the key type and click Create\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29878}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/customer_support\", \"chunk_ind\": 0, \"semantic_identifier\": \"Customer Support\", \"link\": \"https://docs.onyx.app/more/use_cases/customer_support\", \"blurb\": \"Help your customer support team instantly answer any question across your entire product\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.39713949868935244, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"the ability of the AI system to break down difficult concepts and convoluted processes into more digestible descriptions and for your team members to be able to chat back and forth with the system to build a better understanding.\\n\\nOnyx takes care of both of these. The system connects up to over 30+ different applications and the knowledge is pulled in...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29879}, {\"document_id\": \"https://docs.onyx.app/multilingual_setup\", \"chunk_ind\": 0, \"semantic_identifier\": \"Multilingual Setup - Onyx Documentation\", \"link\": \"https://docs.onyx.app/multilingual_setup\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nMultilingual Setup\\nWelcome to Onyx\\nMultilingual Setup\\nHow to set up Onyx to support languages other than English\\nFor the majority of use cases, Onyx provides an easy way to configure the system for multilingual use. To skip the details and just go to setup, see the Configuration section below.\\n\\nHow it works\\nOnyx has two main flows that assume English as a default. To use Onyx in multilingual or non-english cases, these must be handled.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.35765014173569426, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"Multilingual Setup\\nWelcome to Onyx\\nMultilingual Setup\\nHow to set up Onyx to support languages other than English\\nFor the majority of use cases, Onyx provides an easy way to configure the system for multilingual use. To skip the details and just go to setup, see the Configuration section below.\\n\\nHow it works\\nOnyx has two main flows that assume English...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29880}, {\"document_id\": \"https://docs.onyx.app/connectors/egnyte\", \"chunk_ind\": 0, \"semantic_identifier\": \"Egnyte Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/egnyte\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nEgnyte Connector\\nConnectors\\nEgnyte Connector\\nAccess files stored in Egnyte\\n\\nHow it works\\nThe Egnyte connector pulls in files stored in Egnyte. The Egnyte connector indexes the file name, file type, and contents of the file.\\nNew files are pulled every 10 minutes.\\n\\nSetup\\n\\nConfigure your Egnyte Application + Onyx env variables\\nThis is only necessary if self-hosting Onyx. If using Onyx Cloud , you can skip this step.\\n- Create an Egnyte Application.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.34190275050246677, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nEgnyte Connector\\nConnectors\\nEgnyte Connector\\nAccess files stored in \", \"connector indexes the file name, file type, and contents of the file.\\nNew files are pulled every 10 minutes.\\n\\nSetup\\n\\nConfigure your Egnyte Application + Onyx env variables\\nThis is only necessary if self-hosting Onyx. If using OnyxOnyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nCustom Model Server\\nGen AI Configs\\nCustom Model Server\\nConfigure Onyx to use a Custom Model Server via requests\\nOnyx can also make requests to an arbitrary model server via REST requests. Optionally an access token can be passed\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29882}, {\"document_id\": \"https://docs.onyx.app/google_oauth_setup\", \"chunk_ind\": 1, \"semantic_identifier\": \"Google OAuth Setup - Onyx Documentation\", \"link\": \"https://docs.onyx.app/google_oauth_setup\", \"blurb\": \"To turn the feature on set:\\n- AUTH_TYPE=google_oauth\\n- OAUTH_CLIENT_ID=\\n- OAUTH_CLIENT_SECRET=\\n- If setting up in production, then:\\n- WEB_DOMAIN=\\n\\nNon Containerized\\nSimply set the above environment variables when running the different Onyx processes.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.33653529983264613, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"=\\n- OAUTH_CLIENT_SECRET=\\n- If setting up in production, then:\\n- WEB_DOMAIN=onyx.app>\\n\\nNon Containerized\\nSimply set the above environment variables when running the different Onyx processes.\\n- The backend api server uses the 3 environment variables\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29883}, {\"document_id\": \"https://docs.onyx.app/connectors/bookstack\", \"chunk_ind\": 0, \"semantic_identifier\": \"BookStack Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/bookstack\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nBookStack Connector\\nConnectors\\nBookStack Connector\\nAccess knowledge from your own BookStack instance\\n\\nHow it works\\nThe BookStack connector fetches all shelves, books, chapters and pages from the connected instance upon connector setup. From that point on, the connector will pull in everything updated since last sync every 10 minutes.\\n\\nSetting up\\n\\nAuthorization\\nYou will need API credentials for a user in your BookStack instance. To do this:\\n- Find or create a user youd want to use as the connection user.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.32874514934579047, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"users permissions.\\n- This user must have a role assigned that has the Access system API system permission.\\n- Edit that user using an admin account, and find the API Tokens section at the bottom of\", \"Authorization steps above:\\n- Click the Connect button! Your content will then be pulled into Onyx every 10 minutes.\\nAsana Connector ClickUp Connector\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29884}, {\"document_id\": \"https://docs.onyx.app/connectors/requesttracker\", \"chunk_ind\": 0, \"semantic_identifier\": \"Request Tracker Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/requesttracker\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nRequest Tracker Connector\\nConnectors\\nRequest Tracker Connector\\nAccess tickets and transactions from Request Tracker 4.x\\n\\nHow it works\\nThe Request Tracker connector will pull in all tickets updated within the last 10 minutes into the dataset.\\nTickets are updated every 10 minutes.\\nOnly Request Tracker REST API 1.0 is supported at this time. REST API 1.0 is implemented in Request Tracker 4.x, Request Tracker 5.x is not supported currently.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.3130317896091815, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nRequest Tracker Connector\\nConnectors\\nRequest Tracker Connector\\nAccess tickets\", \".\\n\\nSetting up\\n\\nCreate or use a Request Tracker user who has the appropriate permissions\\n- Create a Request Tracker user that has read access to all queues Onyx should read.\\n\\nConfigure DAnswer Request Tracker connector and begin indexing\\n...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29885}, {\"document_id\": \"https://docs.onyx.app/connectors/jira\", \"chunk_ind\": 0, \"semantic_identifier\": \"Jira Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/jira\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nJira Connector\\nConnectors\\nJira Connector\\nAccess the latest issue and project updates from Jira\\n\\nHow it works\\nThe Jira connector pulls in all tickets from the specified projects every 10 minutes.\\nFor every jira issue this connector will pull:\\n- Title\\n- Description\\n- Common fields (like assignee, reporter, status etc.)\\n- Custom fields\\n- Comments\\n\\nSetting up\\n\\nAuthorization\\n- Jira Cloud : follow the guide described here to get an access token.\\n- Jira Server : follow the guide described here to get a personal access token.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.31064305852520896, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nJira Connector\\nConnectors\\nJira Connector\\nAccess the latest issue and project updates from Jira\\n\\nHow it works\\nThe Jira connector pulls in all tickets from the specified \", \"project you want to index, provide a single URL to any page in the project. Also you can specify which users comments not to index (this is generally useful to...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29886}, {\"document_id\": \"https://docs.onyx.app/enterprise_edition/permissioning\", \"chunk_ind\": 0, \"semantic_identifier\": \"Permissioning - Onyx Documentation\", \"link\": \"https://docs.onyx.app/enterprise_edition/permissioning\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nPermissioning\\nEnterprise\\nPermissioning\\nPermissions for what documents users can and cannot access in Onyx are determined by the access level set for each connector.\\n\\nConnector Access Types:\\n\\n1. Public\\n- Any user can access the documents in the connector\\n\\n2. Private\\n- All documents from connectors that are private are only accessible to users in the group(s) that the connector is attached to.\\n\\n3. Sync\\n- When one a connector is created with syncing access enabled, the permissions are inhereted from the source.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.2869038144386974, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nPermissioning\\nEnterprise\\nPermissioning\\nPermissions for what documents users can and cannot access in Onyx are determined by the access level set for each connector.\\n\\nConnector Access Types:\\n\\n1. Public\\n- Any user can access the documents in the connector\\n\\n2. Private\\n- \", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29887}], \"rephrased_query\": \"what is onyx I, II, III, and IV?\", \"predicted_flow\": \"question-answer\", \"predicted_search\": \"keyword\", \"applied_source_filters\": null, \"applied_time_cutoff\": null, \"recency_bias_multiplier\": 0.5}\n" -"{\"llm_selected_doc_indices\": []}\n" -"{\"final_context_docs\": [{\"document_id\": \"https://docs.onyx.app/enterprise_edition/overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nEnterprise Edition Overview\\nEnterprise\\nEnterprise Edition Overview\\nAt Onyx, we strive to make our core open-source offering as powerful as possible. However, we understand that large enterprises require additional support and functionality, so we offer additional enterprise-oriented features and functionality.\\n\\nEE Features\\nHere are some of our enterprise-only offerings.\\n\\nSecurity and Access Control\\n-\\nSingle Sign-On (SSO) Streamline user authentication and enhance security with SSO integration (OIDC + SAML)\\n-\\nRole-Based Access Control (RBAC) Manage user permissions efficiently with granular control over access levels.\\n-\\nCredential Encryption Ensure the highest level of security for sensitive information with robust encryption.\\n-\\nDocument Permission Inheritance Simplify permission management with hierarchical inheritance for documents and folders.\\n-\\nAPI Key Authentication Secure your API integrations with dedicated API key authentication.\\n\\nEnhanced Functionality\\n-\\nAdditional APIs Access extended API endpoints for more advanced integrations and workflows.\\n-\\nWhite Labeling Customize the interface to match your brand identity for a seamless user experience.\\n-\\nAdmin Dashboard / Analytics Gain insights into usage patterns and system performance with comprehensive analytics.\\n-\\nQuery History Track and analyze user queries for improved auditing and optimization.\\n-\\nUsage Limits Configuration Set and manage usage limits to align with your organizations needs and policies.\\n\\nSupport and Services\\n- Enterprise-Level Support Benefit from priority support with dedicated account managers and faster response times.\\n\\nRoadmap\\nWere constantly working to expand our enterprise offerings. Heres a preview of some exciting features on our roadmap:\\n-\\nExpert Suggestion Leverage AI-powered recommendations to connect users with internal subject matter experts.\\n-\\nPersonalized Search Deliver tailored search results based on user roles, permissions, and past interactions.\\n-\\nOrg-Structure Importing Seamlessly integrate your organizations hierarchy for more intuitive permission management and content organization.\\n\\nGetting Started with Enterprise Features\\nTo learn more about our Enterprise plan and relevant features, feel free to contact us at founders@onyx.app or join our Slack or Discord\\nOIDC/SAML Setup Enterprise Edition Configuration\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nEnterprise Edition Overview\\nEnterprise\\nEnterprise Edition Overview\\nAt Onyx, we strive to make our core open-source offering as powerful as possible. However, we understand that large enterprises require additional support and functionality, so we offer additional enterprise-oriented features and functionality.\\n\\nEE Features\\nHere are some of our enterprise-only offerings.\\n\\nSecurity and Access Control\\n-\\nSingle Sign-On (SSO) Streamline user authentication and enhance security with SSO integration (OIDC + SAML)\\n-\\nRole-Based Access Control (RBAC) Manage user permissions efficiently with granular control over access levels.\", \"semantic_identifier\": \"Enterprise Edition Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/enterprise_edition/overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/enterprise_edition/overview\"}, \"match_highlights\": [\"\", \"Enterprise\\nEnterprise Edition Overview\\nAt Onyx, we strive to make our core open-source offering as powerful as possible. However\", \"support and functionality, so we offer additional enterprise-oriented features and functionality.\\n\\nEE Features\\nHere are some\", \" inheritance for documents and folders.\\n-\\nAPI Key Authentication Secure your API integrations\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/guides/assistants\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGuides\\nCreating Assistants\\nGuides\\nCreating Assistants\\nA comprehensive guide to creating and configuring AI assistants in Onyx\\n\\nIntroduction\\nOnyx empowers you to create custom AI assistants tailored to your specific needs. These assistants can be configured to handle a wide range of tasks, from answering HR queries to assisting with technical support. This guide will walk you through the process of creating an effective assistant using Onyxs platform.\\n\\nConfiguration Options\\nWhen creating an assistant in Onyx, you have several configuration options:\\n- Name : The identifier for your assistant\\n- Description : A brief overview of the assistants purpose and capabilities\\n- System Prompt : Defines the assistants role and overall behavior\\n- Task Prompt : Specifies how the assistant should handle user queries\\n- Tools : Available integrations and capabilities\\n- Starter Messages : Initial messages to guide user interaction\\n- LLM Provider : The language model powering your assistant\\n\\nUnderstanding Different Prompt Types\\nOnyx uses two main types of prompts when configuring an assistant: the System Prompt and the Task Prompt (Additional Instructions). Understanding the difference between these is crucial for creating an effective assistant.\\n\\nSystem Prompt\\nThe System Prompt sets the overall context and behavior of your assistant. It defines:\\n- The assistants role\\n- General behavioral guidelines\\n- Any limitations or restrictions\\nThe System Prompt is like giving your assistant its job description and what its purpose is.\\nExample System Prompt:\\nYou are an HR assistant for Onyx Inc. You have access to the company's HR policies, benefits packages, and procedures. Maintain a professional and friendly tone in all interactions. If you're unsure about any information, advise the user to contact the HR department directly. Do not make up information or policies.\\n\\nTask Prompt\\nThe Task Prompt provides specific instructions on how the assistant should handle and respond to user queries. It defines:\\n- Steps to follow for each query\\n- How to process and present information\\n- When to ask for clarification\\n- How to handle different types of requests\\nThe Task Prompt is like giving your assistant a specific protocol for handling each interaction.\\nExample Task Prompt:\\nFollow these steps when responding to a user query: 1. Identify the main HR topic or policy in the user's question. 2. Search the provided HR documents for relevant information. 3. Summarize the applicable policy or procedure in clear, concise language. 4. If multiple policies apply, list them in order of relevance. 5. Provide the source document and section for your information. 6.\\nIf the query is unclear, ask the user for clarification before providing an answer. 7. If the query is outside your knowledge base, politely direct the user to contact the HR department.\\n\\nTesting and Refinement\\nAfter creating your assistant:\\n- Conduct test runs with various queries\\n- Gather feedback from a small group of users\\n- Use Onyxs analytics tools to identify areas for improvement\\n- Regularly update and refine your assistant based on feedback and changing needs\\n\\nSharing and Permissions\\n- Determine the appropriate access level for the assistant (e.g., specific departments, entire organization)\\n- Utilize Onyxs group features to manage access efficiently\\n- Consider creating multiple versions of an assistant for different user groups if needed\\nBy carefully configuring these elements, you can create a Onyx assistant that effectively serves your organizations needs, providing accurate and helpful responses to user queries.\\nEnterprise Edition Configuration LLM Providers\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGuides\\nCreating Assistants\\nGuides\\nCreating Assistants\\nA comprehensive guide to creating and configuring AI assistants in Onyx\\n\\nIntroduction\\nOnyx empowers you to create custom AI assistants tailored to your specific needs. These assistants can be configured to handle a wide range of tasks, from answering HR queries to assisting with technical support. This guide will walk you through the process of creating an effective assistant using Onyxs platform.\", \"semantic_identifier\": \"Creating Assistants - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/guides/assistants\", \"source_links\": {\"0\": \"https://docs.onyx.app/guides/assistants\"}, \"match_highlights\": [\"\", \"Tools : Available integrations and capabilities\\n- Starter Messages : Initial\", \" Prompt Types\\nOnyx uses two main types of prompts when configuring an assistant: the System Prompt and the Task Prompt\", \"General behavioral guidelines\\n- Any limitations or restrictions\\nThe System\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/enterprise_search\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nEnterprise Search\\nUse Cases\\nEnterprise Search\\nValue of Enterprise Search with Onyx\\n\\nWhat is Enterprise Search and why is it Important?\\nAn Enterprise Search system gives team members a single place to access all of the disparate knowledge of an organization. Critical information is saved across a host of channels like call transcripts with prospects, engineering design docs, IT runbooks, customer support email exchanges, project management tickets, and more. As fast moving teams scale up, information gets spread out and more disorganized.\\nSince it quickly becomes infeasible to check across every source, decisions get made on incomplete information, employee satisfaction decreases, and the most valuable members of your team are tied up with constant distractions as junior teammates are unable to unblock themselves. Onyx solves this problem by letting anyone on the team access all of the knowledge across your organization in a permissioned and secure way. Users can ask questions in natural language and get back answers and documents across all of the connected sources instantly.\\n\\nWhats the Real Cost?\\nA typical knowledge worker spends over 2 hours a week on search, but more than that, the cost of incomplete or incorrect information can be extremely high. Customer support/success that isnt able to find the reference to similar cases could cause hours or even days of delay leading to lower customer satisfaction or in the worst case - churn. An account exec not realizing that a prospect had previously mentioned a specific need could lead to lost deals. An engineer not realizing a similar feature had previously been built could result in weeks of wasted development time and tech debt with duplicate implementation. With a lack of knowledge, your whole organization is navigating in the dark - inefficient and mistake prone.\\n\\nMore than Search\\nWhen analyzing the entire corpus of knowledge within your company is as easy as asking a question in a search bar, your entire team can stay informed and up to date. Onyx also makes it trivial to identify where knowledge is well documented and where it is lacking. Team members who are centers of knowledge can begin to effectively document their expertise since it is no longer being thrown into a black hole. All of this allows the organization to achieve higher efficiency and drive business outcomes.\\nWith Generative AI, the entire user experience has evolved as well. For example, instead of just finding similar cases for your customer support team to reference, Onyx breaks down the issue and explains it so that even the most junior members can understand it.\\nThis in turn lets them give the most holistic and technically accurate response possible to your customers. On the other end, even the super stars of your sales team will not be able to review 10 hours of transcripts before hopping on that critical call, but Onyx can easily parse through it in mere seconds and give crucial context to help your team close.\\nUse Cases Overview AI Platform\", \"blurb\": \"This in turn lets them give the most holistic and technically accurate response possible to your customers. On the other end, even the super stars of your sales team will not be able to review 10 hours of transcripts before hopping on that critical call, but Onyx can easily parse through it in mere seconds and give crucial context to help your team close.\\nUse Cases Overview AI Platform\", \"semantic_identifier\": \"Enterprise Search - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/more/use_cases/enterprise_search\", \"source_links\": {\"0\": \"https://docs.onyx.app/more/use_cases/enterprise_search\"}, \"match_highlights\": [\"This in turn lets them give the most holistic and technically accurate response possible to your customers. On the other end, even the super stars of your sales team will not be able to review 10 hours of transcripts before hopping on that critical call, but Onyx can easily parse through it in mere seconds and give crucial context to help your team close.\\nUse Cases Overview AI...\"]}, {\"document_id\": \"https://docs.onyx.app/configuration_guide\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nConfiguring Onyx\\nWelcome to Onyx\\nConfiguring Onyx\\nHow to customize your deployment environment.\\n\\nCommon Environment Variables\\nAll of the global configuration options that are not built into the UI are set via environment variables. This page contains an exhaustive list of all the options.\\nThere are defaults set in the code so changing/settings these values is not required to use Onyx. A few notable settings that are more frequently changed however are the following:\\n- AUTH_TYPE (default value is disabled )\\n- MULTILINGUAL_QUERY_EXPANSION (you can provide a comma separated list of languages for query rephrasing such as English,French )\\n- LOG_LEVEL (default is info )\\n- WEB_DOMAIN (your full url in production, including the protocol- e.g. https://www.onyx.app )\\n\\nDocker Compose\\nThere are several ways to configure environment variables for the containers. For Docker Compose, there are many ways to pass environment variables to the container, any of the standard approaches will work. However the preferred approach for Onyx is to use the .env file. To do this, create a file called .env at onyx/deployment/docker_compose/.env . From there, populate it with the values you want to override:\\n# Configures basic email/password based login AUTH_TYPE=\\\"basic\\\" # Rephrasing the query into different languages to improve search recall MULTILINGUAL_QUERY_EXPANSION=\\\"English,Spanish,German\\\" # Set a cheaper/faster LLM for the flows that are easier (such as translating the query etc.) FAST_GEN_AI_MODEL_VERSION=\\\"gpt-3.5-turbo\\\" # Setting more verbose logging LOG_LEVEL=\\\"debug\\\" LOG_ALL_MODEL_INTERACTIONS=\\\"true\\\"\\n\\nKubernetes\\nFor Kubernetes, the deployment yaml files includes an Environment ConfigMap. Simply update the values in the file here .\\n\\nAll Environment Variables\\nThis is an extensive list of the currently supported environment variables within Onyx. There are several classes of environment variables. All of the global configuration options that are not built into the UI are set via environment variables.\\nYou can set these in your .env file.\\n\\nAuth Settings\\nThese variables control authentication and user management in Onyx.\\nAUTH_TYPE\\nControls the authentication method used by Onyx.\\ndisabled : No authentication is required.\\ngoogle_oauth : Users can log in using their Google accounts.\\nbasic : Standard username/password authentication.\\noidc : OpenID Connect, available in the enterprise edition.\\nsaml : Security Assertion Markup Language, available in the enterprise edition.\\n\\nSESSION_EXPIRE_TIME_SECONDS\\nDefines the duration of a users session in seconds. Default is 24 hours.\\n\\nENCRYPTION_KEY_SECRET\\nA strong, unique string used for encryption purposes. Keep this value secret.\\n\\nVALID_EMAIL_DOMAINS\\nComma-separated list of allowed email domains for authentication. Leave empty to allow all domains.\\n\\nGOOGLE_OAUTH_CLIENT_ID\\nClient ID for Google OAuth authentication, obtained from Google Cloud Console .\\n\\nGOOGLE_OAUTH_CLIENT_SECRET\\nClient Secret for Google OAuth authentication, obtained from Google Cloud Console . Keep this value secret.\\n\\nREQUIRE_EMAIL_VERIFICATION\\nWhen set to true , users must verify their email before accessing Onyx.\\n\\nSMTP_SERVER\\nHostname of the SMTP server for sending verification emails. Default is smtp.gmail.com .\\n\\nSMTP_PORT\\nPort used for SMTP communication. Common values are 587 (TLS) or 465 (SSL).\\n\\nSMTP_USER\\nUsername for SMTP authentication, often an email address used to send verification emails.\\n\\nSMTP_PASS\\nPassword for SMTP authentication. Keep this value secret.\\n\\nEMAIL_FROM\\nEmail address used as the sender for verification emails.\\n\\nNEXT_PUBLIC_FORGOT_PASSWORD_ENABLED\\nSet to true to enable the forgot password feature. Only enable this if you have configured the above SMTP settings (For email functionality).\\n\\nGen AI Settings\\nThese variables configure the generative AI capabilities of Onyx. These are covered in more depth at the generative AI configs .\\n\\nGEN_AI_MODEL_PROVIDER\\nSpecifies the provider of the generative AI model (e.g., openai , anthropic , huggingface ).\\n\\nGEN_AI_MODEL_VERSION\\nDefines the version of the generative AI model to use (e.g., gpt-4 for OpenAI).\\n\\nFAST_GEN_AI_MODEL_VERSION\\nSpecifies a faster (usually smaller) model version for certain tasks.\\n\\nGEN_AI_API_KEY\\nAPI key for accessing the generative AI service. Keep this value secret.\\nGEN_AI_LLM_PROVIDER_TYPE\\nSpecifies the type of LLM provider being used (e.g., openai , anthropic , azure ).\\n\\nGEN_AI_MAX_TOKENS\\nMaximum number of tokens to generate in AI responses.\\n\\nQA_TIMEOUT\\nTimeout for question-answering operations in seconds.\\n\\nMAX_CHUNKS_FED_TO_CHAT\\nMaximum number of document chunks fed into a single chat session.\\n\\nDISABLE_LLM_FILTER_EXTRACTION\\nSet to true to disable LLM-based filter extraction from queries.\\n\\nDISABLE_LLM_CHUNK_FILTER\\nSet to true to disable LLM-based filtering of document chunks.\\n\\nDISABLE_LLM_CHOOSE_SEARCH\\nSet to true to disable LLM-based selection of search method.\\n\\nDISABLE_LLM_QUERY_REPHRASE\\nSet to true to disable LLM-based query rephrasing.\\n\\nDISABLE_GENERATIVE_AI\\nSet to true to disable all generative AI functionality.\\n\\nDISABLE_LITELLM_STREAMING\\nSet to true to disable streaming responses when using LiteLLM.\\n\\nLITELLM_EXTRA_HEADERS\\nJSON-formatted string of key-value pairs for additional headers in LiteLLM API requests.\\n\\nTOKEN_BUDGET_GLOBALLY_ENABLED\\nSet to true to enable the global token budget system.\\n\\nAWS Bedrock Settings\\nThese variables are used for AWS Bedrock integration.\\n\\nAWS_ACCESS_KEY_ID\\nAWS access key ID for Bedrock access, obtained from AWS IAM.\\n\\nAWS_SECRET_ACCESS_KEY\\nAWS secret access key for Bedrock access, obtained from AWS IAM. Keep this value secret.\\n\\nAWS_REGION_NAME\\nAWS region where Bedrock is deployed (e.g., us-west-2 ).\\n\\nQuery Options\\nThese variables control various aspects of query processing and search behavior.\\n\\nDOC_TIME_DECAY\\nControls the recency bias in search results. Higher values increase preference for newer documents.\\n\\nHYBRID_ALPHA\\nBalances keyword vs. vector search in hybrid search. Range 0-1 (0 for pure keyword, 1 for pure vector search).\\n\\nEDIT_KEYWORD_QUERY\\nSet to true to enable query editing for keyword searches.\\n\\nMULTILINGUAL_QUERY_EXPANSION\\nSet to true to enable multilingual query expansion.\\n\\nQA_PROMPT_OVERRIDE\\nCustom prompt text to override the default prompt used for question-answering.\\n\\nOther Services\\nConfiguration for external services used by Onyx.\\nPOSTGRES_HOST\\nHostname or IP address of the Postgres server. Default is relational_db .\\n\\nVESPA_HOST\\nHostname or IP address of the Vespa server. Default is index .\\n\\nWEB_DOMAIN\\nFully qualified domain name used for the Onyx web interface. (e.g. https://www.onyx.com )\\n\\nNLP Model Configurations\\nAdvanced settings for NLP models. Modify with caution.\\n\\nINDEX_BATCH_SIZE\\nSize of batch used when indexing documents. Overrides the default batch size for indexing operations.\\n\\nEMBEDDING_BATCH_SIZE\\nSize of batch used when embedding documents during indexing and search operations. Overrides the default batch size for embedding processes.\\n\\nDOCUMENT_ENCODER_MODEL\\nName or path of the encoder model used for document encoding.\\n\\nDOC_EMBEDDING_DIM\\nDimension of document embeddings, typically matching the chosen encoder models output dimension.\\n\\nNORMALIZE_EMBEDDINGS\\nSet to true to enable normalization of embeddings.\\n\\nASYM_QUERY_PREFIX\\nText prepended to queries in asymmetric semantic search.\\n\\nENABLE_RERANKING_REAL_TIME_FLOW\\nSet to true to enable reranking in real-time search flow.\\n\\nENABLE_RERANKING_ASYNC_FLOW\\nSet to true to enable reranking in asynchronous search flow.\\n\\nMODEL_SERVER_HOST\\nHostname or IP address of the model server. Default is inference_model_server .\\n\\nMODEL_SERVER_PORT\\nPort on which the model server is listening.\\n\\nMiscellaneous\\n< Various other configuration options.\\n\\nDISABLE_TELEMETRY\\nSet to true to opt out of telemetry. Telemetry helps improve Onyx; no sensitive data is collected.\\n\\nLOG_LEVEL\\nSets the logging verbosity. Possible values: debug , info , warning , error , critical .\\n\\nLOG_ALL_MODEL_INTERACTIONS\\nSet to true to enable logging of all prompts sent to the LLM.\\n\\nLOG_VESPA_TIMING_INFORMATION\\nSet to true to enable additional logging of Vespa query performance.\\n\\nLOG_ENDPOINT_LATENCY\\nSet to true to enable logging of endpoint latency information.\\nCustom Model Server Multilingual Setup\", \"blurb\": \"AUTH_TYPE\\nControls the authentication method used by Onyx.\\ndisabled : No authentication is required.\\ngoogle_oauth : Users can log in using their Google accounts.\\nbasic : Standard username/password authentication.\\noidc : OpenID Connect, available in the enterprise edition.\\nsaml : Security Assertion Markup Language, available in the enterprise edition.\\n\\nSESSION_EXPIRE_TIME_SECONDS\\nDefines the duration of a users session in seconds. Default is 24 hours.\\n\\nENCRYPTION_KEY_SECRET\\nA strong, unique string used for encryption purposes. Keep this value secret.\", \"semantic_identifier\": \"Configuring Onyx - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/configuration_guide\", \"source_links\": {\"0\": \"https://docs.onyx.app/configuration_guide\"}, \"match_highlights\": [\"\", \" AI Settings\\nThese variables configure the generative AI capabilities of Onyx. These are covered in more depth at the generative AI configs .\\n\\nGEN_AI\", \"the provider of the generative AI model (e.g., openai , anthropic , huggingface ).\\n\\nGEN_AI_MODEL_VERSION\\nDefines the version of the generative AI model to use (e.g., gpt-4 for OpenAI).\\n\\nFAST_GEN\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/tools/overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform actions (e.g. write to a database, send an email, etc.)\\n- Generate content (e.g. generate an Image, create a plot, etc.)\\nBy default, we have a three tools built-in to Onyx. These are:\\n-\\nSearchTool . This is the core of Onyx. Adding this tool to an Assistant allows it to search over the knowledge youve connected up to Onyx through Connectors . This is the only tool available to the default Onyx assistant.\\n-\\nImageGenerationTool . This leverages DALLE-3 to generate images.\\n-\\nInternetSearchTool . This uses Bing to search the internet. To enable this as an option, set the BING_API_KEY environment variable.\\nEmbedding Models Custom Tools\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform actions (e.g. write to a database, send an email, etc.)\\n- Generate content (e.g. generate an Image, create a plot, etc.)\\nBy default, we have a three tools built-in to Onyx.\", \"semantic_identifier\": \"Tools Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/tools/overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/tools/overview\"}, \"match_highlights\": [\"\", \"Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from\", \"create a plot, etc.)\\nBy default, we have a three tools built-in to Onyx. These are:\\n-\\nSearchTool . This is the core of Onyx\", \"internet. To enable this as an option, set the BING_API_KEY environment variable.\\nEmbedding...\"]}, {\"document_id\": \"https://docs.onyx.app/oidc_saml\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nAuth\\nOIDC/SAML Setup\\nAuth\\nOIDC/SAML Setup\\nIntegrating Onyx with your IdP\\nAs part of the Enterprise Edition, Onyx adds support for OIDC / SAML and integrates with popular IdPs (e.g. Okta, Microsoft Entra ID, etc). We also have and will continue to add new integrations with custom, in-house IdPs on request.\\nIf this is something you are looking for, please reach to us directly and wed be happy to work with you to set this up.\\nGoogle OAuth Setup Enterprise Edition Overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nAuth\\nOIDC/SAML Setup\\nAuth\\nOIDC/SAML Setup\\nIntegrating Onyx with your IdP\\nAs part of the Enterprise Edition, Onyx adds support for OIDC / SAML and integrates with popular IdPs (e.g. Okta, Microsoft Entra ID, etc). We also have and will continue to add new integrations with custom, in-house IdPs on request.\\nIf this is something you are looking for, please reach to us directly and wed be happy to work with you to set this up.\", \"semantic_identifier\": \"OIDC/SAML Setup - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/oidc_saml\", \"source_links\": {\"0\": \"https://docs.onyx.app/oidc_saml\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nAuth\\nOIDC/SAML Setup\\nAuth\\nOIDC/SAML Setup\\nIntegrating Onyx with your IdP\\nAs part of the Enterprise Edition, Onyx adds support for OIDC / SAML and integrates with popular IdPs (e.g. Okta, Microsoft Entra ID, etc). We also have and will continue to add new integrations\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/enterprise_edition/theming\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nTheming\\nEnterprise\\nTheming\\nCustomize the look of Onyx\\nAs part of the Enterprise Edition, we provide the ability to easily customize the look of Onyx. This comes in two forms:\\n- Adding in your own custom application name / logo.\\n- Customizing every color in the UI.\\n\\nCustomizing the Application Name / Logo\\nTo provide your own application name / logo, you can use the Whitelabelling tab in the admin panel. Here, we provide a way to input a name of your choice, as well as an optional logo.\\n\\nAdvanced Options\\nOnyx also has some advanced customization options\\n- Chat Header Content Custom Markdown content that will be displayed as a banner at the top of the Chat page.\\n-\\nPopup Header The title for the popup that will be displayed for each user on their initial visit to the application. If left blank AND Custom Popup Content is specified, will use Welcome to [Application Name]! where application name is your filled in application name.\\n-\\nPopup Content Custom Markdown content that will be displayed as a popup on initial visit to the application.\\n- Chat Footer Text Custom Markdown content that will be displayed at the bottom of the Chat page.\\n- Chat Footer Logotype Add a custom logotype by uploading a new image and clicking the Update button. This logotype is the text-based logo that will be rendered at the bottom right of the chat screen.\\n\\nCustomizing Colors\\nOnyx uses Tailwind CSS for theming. The color palette is defined in two main files:\\n- web/tailwind-themes/tailwind.config.js : This file contains the base Tailwind configuration, including color definitions.\\n- web/src/app/globals.css : This file defines CSS variables for colors, which are then used in the Tailwind config.\\nTo customize the color palette of Onyx, you can:\\n- Navigate to web/src/app/globals.css\\n- Customize the base color palette (for example, create different accent colors, background colors, etc.)\\nTo choose specific colors for a given set of UI elements, you can:\\n- Navigate to web/tailwind-themes/tailwind.config.js .\\n- Override any values specified in the base tailwind.config.js file.\\nAlternatively, to customize all these colors, you can:\\n- Navigate to web/tailwind-themes .\\n- Create a new folder with the name of your organization.\\n- Create a tailwind.config.js file in this new folder.\\n- Override any values specified in the base tailwind.config.js file.\\n- Set NEXT_PUBLIC_THEME to the name of your organization (e.g. the same name as the folder you created in step 2).\\nFor example, if you wanted to make the background black, you could use:\\n/** @type {import('tailwindcss').Config} */ module.exports = { theme: { extend: { colors: { \\\"background\\\": \\\"#000000\\\", }, }, }, };\\nNOTE: for these changes to apply, you will need to build Onyx from source. If testing locally, you will need to restart the NextJS application to apply the changes.\\nEnterprise Edition Configuration Bring Your Own Analytics\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nTheming\\nEnterprise\\nTheming\\nCustomize the look of Onyx\\nAs part of the Enterprise Edition, we provide the ability to easily customize the look of Onyx. This comes in two forms:\\n- Adding in your own custom application name / logo.\\n- Customizing every color in the UI.\\n\\nCustomizing the Application Name / Logo\\nTo provide your own application name / logo, you can use the Whitelabelling tab in the admin panel. Here, we provide a way to input a name of your choice, as well as an optional logo.\", \"semantic_identifier\": \"Theming - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/enterprise_edition/theming\", \"source_links\": {\"0\": \"https://docs.onyx.app/enterprise_edition/theming\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nTheming\\nEnterprise\\nTheming\\nCustomize the look of Onyx\\nAs part of the Enterprise Edition, we provide the ability to easily customize the look of Onyx. This comes in two forms:\\n- Adding in your own custom application name / logo.\\n- Customizing every color in the UI.\\n\\nCustomizing the Application Name / Logo\\nTo\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/system_overview\", \"content\": \"onyx documentation home page search... navigation welcome to onyx system overview welcome to onyx system overview explanation of different system components and flows this page discusses how onyx works from a high level. the aim is to give transparency into our designs. that way you can have peace of mind in using onyx. alternatively if youre looking to customize the system or become an open source contributors, this is a great place to start. system architecture whether deploying onyx on a single instance or a container orchestration platform, the flow of data is the same. documents are pulled and processed via connectors and then persisted in vespa / postgres which run in containers within your system. the only time sensitive data leaves your onyx setup is when it makes a call to an llm to generate an answer. the communications to the llm are encrypted. the data persistence at the llm api depends on the terms of the llm hosting service you are using. we also note that onyx has some very limited and anonymous telemetry to help us improve the system by identifying bottle\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking to customize the system or become an open source contributors, this is a great place to start.\\n\\nSystem Architecture\\nWhether deploying Onyx on a single instance or a container orchestration platform, the flow of data is the same.\", \"semantic_identifier\": \"System Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/system_overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/system_overview\"}, \"match_highlights\": [\"\", \"of mini-chunks takes this concept even further. By embedding at different sizes, Onyx can retrieve both high level context and details. Mini-chunks can also be turned on/off\", \"Flow\\nThis flow is often updated as were constantly striving to push the capabilities of the retrieval pipeline with the most recent advancements coming out of research and the opensource community.\"]}]}\n" -"{\"answer_piece\": \"Based on the provide\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_level_answer\"}\n" -"{\"answer_piece\": \"d information and sub-questions [Q\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_level_answer\"}\n" -"{\"answer_piece\": \"1][Q2][Q3\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_level_answer\"}\n" -"{\"answer_piece\": \"][Q4], I cannot\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_level_answer\"}\n" -"{\"answer_piece\": \" identify any specific versions of Onyx labele\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_level_answer\"}\n" -"{\"answer_piece\": \"d as I, II, III, or\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_level_answer\"}\n" -"{\"answer_piece\": \" IV. The documentation does not mention or\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_level_answer\"}\n" -"{\"answer_piece\": \" describe any version numbering system using\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_level_answer\"}\n" -"{\"answer_piece\": \" these Roman numerals.\\n\\nWhat\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_level_answer\"}\n" -"{\"answer_piece\": \" we do know about Onyx from the\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_level_answer\"}\n" -"{\"answer_piece\": \" documents is that it is:\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_level_answer\"}\n" -"{\"answer_piece\": \"\\n- An AI Assistant connected to company\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_level_answer\"}\n" -"{\"answer_piece\": \"'s docs, apps, and people\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_level_answer\"}\n" -"{\"answer_piece\": \" [[9]]()\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_level_answer\"}\n" -"{\"answer_piece\": \"[[11]]()\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_level_answer\"}\n" -"{\"answer_piece\": \"MIT licensed version\\n 2. An\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_level_answer\"}\n" -"{\"answer_piece\": \" Enterprise Edition with additional features [\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_level_answer\"}\n" -"{\"answer_piece\": \"D1]\\n\\nThe documentation\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_level_answer\"}\n" -"{\"answer_piece\": \" discusses various features, capabilities, and configurations\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_level_answer\"}\n" -"{\"answer_piece\": \", but does not organize or\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_level_answer\"}\n" -"{\"answer_piece\": \" categorize them into versions I through\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_level_answer\"}\n" -"{\"answer_piece\": \" IV. Therefore, I must conclude that either\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_level_answer\"}\n" -"{\"answer_piece\": \" these version designations do not exist,\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_level_answer\"}\n" -"{\"answer_piece\": \" or they are not documented in the provided materials\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_level_answer\"}\n" -"{\"answer_piece\": \".\\n\\nIf you're intereste\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_level_answer\"}\n" -"{\"answer_piece\": \"d in understanding what Onyx offers\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_level_answer\"}\n" -"{\"answer_piece\": \", it would be more\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_level_answer\"}\n" -"{\"answer_piece\": \" accurate to look at its features by\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_level_answer\"}\n" -"{\"answer_piece\": \" edition type (open-source vs. enterprise\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_level_answer\"}\n" -"{\"answer_piece\": \") rather than trying to identify specific version\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_level_answer\"}\n" -"{\"answer_piece\": \" numbers.\", \"level\": 0, \"level_question_nr\": 0, \"answer_type\": \"agent_level_answer\"}\n" -"{\"citations\": []}\n" -"{\"message_id\": 426, \"parent_message\": 425, \"latest_child_message\": null, \"message\": \"Based on the provided information and sub-questions [Q1][Q2][Q3][Q4], I cannot identify any specific versions of Onyx labeled as I, II, III, or IV. The documentation does not mention or describe any version numbering system using these Roman numerals.\\n\\nWhat we do know about Onyx from the documents is that it is:\\n- An AI Assistant connected to company's docs, apps, and people [[9]]()[[11]]()MIT licensed version\\n 2. An Enterprise Edition with additional features [D1]\\n\\nThe documentation discusses various features, capabilities, and configurations, but does not organize or categorize them into versions I through IV. Therefore, I must conclude that either these version designations do not exist, or they are not documented in the provided materials.\\n\\nIf you're interested in understanding what Onyx offers, it would be more accurate to look at its features by edition type (open-source vs. enterprise) rather than trying to identify specific version numbers.\", \"rephrased_query\": \"what is onyx I, II, III, and IV?\", \"context_docs\": {\"top_documents\": [{\"document_id\": \"https://docs.onyx.app/enterprise_edition/overview\", \"chunk_ind\": 0, \"semantic_identifier\": \"Enterprise Edition Overview - Onyx Documentation\", \"link\": \"https://docs.onyx.app/enterprise_edition/overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nEnterprise Edition Overview\\nEnterprise\\nEnterprise Edition Overview\\nAt Onyx, we strive to make our core open-source offering as powerful as possible. However, we understand that large enterprises require additional support and functionality, so we offer additional enterprise-oriented features and functionality.\\n\\nEE Features\\nHere are some of our enterprise-only offerings.\\n\\nSecurity and Access Control\\n-\\nSingle Sign-On (SSO) Streamline user authentication and enhance security with SSO integration (OIDC + SAML)\\n-\\nRole-Based Access Control (RBAC) Manage user permissions efficiently with granular control over access levels.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.9239999362050967, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"Enterprise\\nEnterprise Edition Overview\\nAt Onyx, we strive to make our core open-source offering as powerful as possible. However\", \"support and functionality, so we offer additional enterprise-oriented features and functionality.\\n\\nEE Features\\nHere are some\", \" inheritance for documents and folders.\\n-\\nAPI Key Authentication Secure your API integrations\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29846}, {\"document_id\": \"https://docs.onyx.app/guides/assistants\", \"chunk_ind\": 0, \"semantic_identifier\": \"Creating Assistants - Onyx Documentation\", \"link\": \"https://docs.onyx.app/guides/assistants\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGuides\\nCreating Assistants\\nGuides\\nCreating Assistants\\nA comprehensive guide to creating and configuring AI assistants in Onyx\\n\\nIntroduction\\nOnyx empowers you to create custom AI assistants tailored to your specific needs. These assistants can be configured to handle a wide range of tasks, from answering HR queries to assisting with technical support. This guide will walk you through the process of creating an effective assistant using Onyxs platform.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7989118033543049, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"Tools : Available integrations and capabilities\\n- Starter Messages : Initial\", \" Prompt Types\\nOnyx uses two main types of prompts when configuring an assistant: the System Prompt and the Task Prompt\", \"General behavioral guidelines\\n- Any limitations or restrictions\\nThe System\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29847}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/enterprise_search\", \"chunk_ind\": 1, \"semantic_identifier\": \"Enterprise Search - Onyx Documentation\", \"link\": \"https://docs.onyx.app/more/use_cases/enterprise_search\", \"blurb\": \"This in turn lets them give the most holistic and technically accurate response possible to your customers. On the other end, even the super stars of your sales team will not be able to review 10 hours of transcripts before hopping on that critical call, but Onyx can easily parse through it in mere seconds and give crucial context to help your team close.\\nUse Cases Overview AI Platform\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.768983980852454, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"This in turn lets them give the most holistic and technically accurate response possible to your customers. On the other end, even the super stars of your sales team will not be able to review 10 hours of transcripts before hopping on that critical call, but Onyx can easily parse through it in mere seconds and give crucial context to help your team close.\\nUse Cases Overview AI...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29848}, {\"document_id\": \"https://docs.onyx.app/configuration_guide\", \"chunk_ind\": 1, \"semantic_identifier\": \"Configuring Onyx - Onyx Documentation\", \"link\": \"https://docs.onyx.app/configuration_guide\", \"blurb\": \"AUTH_TYPE\\nControls the authentication method used by Onyx.\\ndisabled : No authentication is required.\\ngoogle_oauth : Users can log in using their Google accounts.\\nbasic : Standard username/password authentication.\\noidc : OpenID Connect, available in the enterprise edition.\\nsaml : Security Assertion Markup Language, available in the enterprise edition.\\n\\nSESSION_EXPIRE_TIME_SECONDS\\nDefines the duration of a users session in seconds. Default is 24 hours.\\n\\nENCRYPTION_KEY_SECRET\\nA strong, unique string used for encryption purposes. Keep this value secret.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.76738777357282, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \" AI Settings\\nThese variables configure the generative AI capabilities of Onyx. These are covered in more depth at the generative AI configs .\\n\\nGEN_AI\", \"the provider of the generative AI model (e.g., openai , anthropic , huggingface ).\\n\\nGEN_AI_MODEL_VERSION\\nDefines the version of the generative AI model to use (e.g., gpt-4 for OpenAI).\\n\\nFAST_GEN\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29849}, {\"document_id\": \"https://docs.onyx.app/tools/overview\", \"chunk_ind\": 0, \"semantic_identifier\": \"Tools Overview - Onyx Documentation\", \"link\": \"https://docs.onyx.app/tools/overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform actions (e.g. write to a database, send an email, etc.)\\n- Generate content (e.g. generate an Image, create a plot, etc.)\\nBy default, we have a three tools built-in to Onyx.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7492600166190022, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from\", \"create a plot, etc.)\\nBy default, we have a three tools built-in to Onyx. These are:\\n-\\nSearchTool . This is the core of Onyx\", \"internet. To enable this as an option, set the BING_API_KEY environment variable.\\nEmbedding...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29850}, {\"document_id\": \"https://docs.onyx.app/oidc_saml\", \"chunk_ind\": 0, \"semantic_identifier\": \"OIDC/SAML Setup - Onyx Documentation\", \"link\": \"https://docs.onyx.app/oidc_saml\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nAuth\\nOIDC/SAML Setup\\nAuth\\nOIDC/SAML Setup\\nIntegrating Onyx with your IdP\\nAs part of the Enterprise Edition, Onyx adds support for OIDC / SAML and integrates with popular IdPs (e.g. Okta, Microsoft Entra ID, etc). We also have and will continue to add new integrations with custom, in-house IdPs on request.\\nIf this is something you are looking for, please reach to us directly and wed be happy to work with you to set this up.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7413804433394381, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nAuth\\nOIDC/SAML Setup\\nAuth\\nOIDC/SAML Setup\\nIntegrating Onyx with your IdP\\nAs part of the Enterprise Edition, Onyx adds support for OIDC / SAML and integrates with popular IdPs (e.g. Okta, Microsoft Entra ID, etc). We also have and will continue to add new integrations\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29851}, {\"document_id\": \"https://docs.onyx.app/enterprise_edition/theming\", \"chunk_ind\": 0, \"semantic_identifier\": \"Theming - Onyx Documentation\", \"link\": \"https://docs.onyx.app/enterprise_edition/theming\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nTheming\\nEnterprise\\nTheming\\nCustomize the look of Onyx\\nAs part of the Enterprise Edition, we provide the ability to easily customize the look of Onyx. This comes in two forms:\\n- Adding in your own custom application name / logo.\\n- Customizing every color in the UI.\\n\\nCustomizing the Application Name / Logo\\nTo provide your own application name / logo, you can use the Whitelabelling tab in the admin panel. Here, we provide a way to input a name of your choice, as well as an optional logo.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.722293899146816, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nTheming\\nEnterprise\\nTheming\\nCustomize the look of Onyx\\nAs part of the Enterprise Edition, we provide the ability to easily customize the look of Onyx. This comes in two forms:\\n- Adding in your own custom application name / logo.\\n- Customizing every color in the UI.\\n\\nCustomizing the Application Name / Logo\\nTo\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29852}, {\"document_id\": \"https://docs.onyx.app/system_overview\", \"chunk_ind\": 0, \"semantic_identifier\": \"System Overview - Onyx Documentation\", \"link\": \"https://docs.onyx.app/system_overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking to customize the system or become an open source contributors, this is a great place to start.\\n\\nSystem Architecture\\nWhether deploying Onyx on a single instance or a container orchestration platform, the flow of data is the same.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7100937288926017, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"of mini-chunks takes this concept even further. By embedding at different sizes, Onyx can retrieve both high level context and details. Mini-chunks can also be turned on/off\", \"Flow\\nThis flow is often updated as were constantly striving to push the capabilities of the retrieval pipeline with the most recent advancements coming out of research and the opensource community.\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29853}, {\"document_id\": \"https://docs.onyx.app/enterprise_edition/configuration\", \"chunk_ind\": 0, \"semantic_identifier\": \"Enterprise Edition Configuration - Onyx Documentation\", \"link\": \"https://docs.onyx.app/enterprise_edition/configuration\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nEnterprise Edition Configuration\\nEnterprise\\nEnterprise Edition Configuration\\nEnterprise-only configuration\\n\\nEE environment variables\\nIn additon to the extra features mentioned in the overview page , you have access to additional configuraton options in the form of environment variables as an Entprprise Edition user.\\n\\nENV_SEED_CONFIGURATION\\nThis variable allows you to start your Onyx instance with pre-configured options that persist across restarts.\\n\\nConfiguration Options\\nENV_SEED_CONFIGURATION accepts a JSON string with the following options:\\n- llms : List of LLM configurations (name, provider, api_key,\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.709427478173413, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"configuration\\n\\nEE environment variables\\nIn additon to the extra features mentioned in the overview page , you have access to additional configuraton\", \"CONFIGURATION\\nThis variable allows you to start your Onyx instance with pre-configured options that persist across \", \"llms : List of LLM configurations (name, provider, api_key, api_base, api_version, custom_config...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29854}, {\"document_id\": \"https://docs.onyx.app/guides/embedding_providers\", \"chunk_ind\": 1, \"semantic_identifier\": \"Embedding Models - Onyx Documentation\", \"link\": \"https://docs.onyx.app/guides/embedding_providers\", \"blurb\": \"Choosing the Right Model\\nConsider these factors when selecting an embedding model:\\n- Task Complexity : More complex tasks may benefit from larger models like text-embedding-3-large or voyage-large-2-instruct .\\n- Language Specificity : For English-specific tasks, consider Coheres models.\\n- Performance vs. Efficiency : Balance the trade-off between model performance and computational efficiency based on your needs.\\n- Integration Complexity : Consider the ease of setup, especially for models like Gecko that require more configuration.\\n\\nBest Practices\\n- Experiment : Test different models with your typical data to compare performance.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6858807426747197, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"Stay Updated : Regularly check for updates or new model releases from providers.\\n- Security : Always use the secure interface provided by the application to input your API keys or upload credential files.\\nRemember to review each providers documentation for the most up-to-date information on model capabilities and integration details.\\nLLM Providers Tools Overview\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29855}, {\"document_id\": \"https://docs.onyx.app/introduction\", \"chunk_ind\": 0, \"semantic_identifier\": \"Introduction - Onyx Documentation\", \"link\": \"https://docs.onyx.app/introduction\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into any LLM of your choice. Onyx can be deployed anywhere and for any scale - on a laptop, on-premise, or to cloud. Since you own the deployment, your user data and chats are fully in your own control. Onyx is MIT licensed and designed to be modular and easily extensible.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6146251739194588, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"such as A customer wants feature X, is this already supported? or Wheres the pull request for feature Y?\\nOnyx can also be plugged into existing tools like Slack to get answers and AI chats directly in Slack.\\n\\nDemo\\n\\nMain Features \\n- Chat UI with the ability to select documents to chat with.\\n- Create custom AI Assistants\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29856}, {\"document_id\": \"https://docs.onyx.app/connectors/productboard\", \"chunk_ind\": 0, \"semantic_identifier\": \"Productboard Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/productboard\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nProductboard Connector\\nConnectors\\nProductboard Connector\\nSync knowledge from Productboard\\n\\nHow it works\\nThe Productboard connector pulls in all the Features , Components , Products , and Objectives into Onyx. At this time, the Productboard APIs does not support pulling in Releases or Notes .\\nEverything is updated every 10 minutes.\\n\\nSetting up\\n\\nAuthorization\\n- Follow the Getting a token guide here to get an Access Token.\\n\\nIndexing\\n- Navigate to the Admin Dashboard and select the Productboard Connector\\n- In Step 1 , provide your Access Token\\n- Click Connect to begin indexing\\nOracle Storage Connector R2 Connector\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.5641978117284419, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"Connector\\nConnectors\\nProductboard Connector\\nSync knowledge from Productboard\\n\\nHow it works\\nThe Productboard connector pulls in all the Features , Components , Products , and Objectives into Onyx. At this time, the Productboard APIs does not support pulling in Releases or Notes .\\nEverything is updated every 10 minutes.\\n\\nSetting up\\n\\n\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29857}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/sales\", \"chunk_ind\": 0, \"semantic_identifier\": \"Sales - Onyx Documentation\", \"link\": \"https://docs.onyx.app/more/use_cases/sales\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nSales\\nUse Cases\\nSales\\nKeep your team up to date on every conversation and update so they can close.\\n\\nRecall Every Detail\\nBeing able to instantly revisit every detail of any call without reading transcripts is helping Sales teams provide more tailored pitches, build stronger relationships, and close more deals. Instead of searching and reading through hours of transcripts in preparation for a call, your team can now ask Onyx What specific features was ACME interested in seeing for the demo.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.5479788623628652, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"pitches, build stronger relationships, and close more deals. Instead of searching and reading through hours of transcripts in preparation for a call, your team can now ask Onyx What specific features was ACME interested in seeing for the demo. Since your team doesnt have time to read every transcript prior to a call, Onyx provides a more thorough summary because it can...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29858}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/overview\", \"chunk_ind\": 0, \"semantic_identifier\": \"Use Cases Overview - Onyx Documentation\", \"link\": \"https://docs.onyx.app/more/use_cases/overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI more versatile for work by enabling new types of questions like What is the most common feature request weve heard from customers this month. Whereas other AI systems have no context of your team and are generally unhelpful with work related questions, Onyx makes it possible to ask these questions in natural language and get back answers in seconds.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.5441332237211185, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"generate answers.\\n\\nWhere is the feature for auto sync-ing document level access permissions from all connected sources?\\nAnswer: This falls under the Enterprise Edition set of Onyx features built on top of the MIT/community edition. If you are on Onyx Cloud, you have access to them by default. If youre running it yourself, reach out to the Onyx team to receive...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29859}, {\"document_id\": \"https://docs.onyx.app/tools/custom\", \"chunk_ind\": 0, \"semantic_identifier\": \"Custom Tools - Onyx Documentation\", \"link\": \"https://docs.onyx.app/tools/custom\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nCustom Tools\\nTools\\nCustom Tools\\nHow to create custom tools with Onyx\\nFirst, navigate to the Admin console, and go to the Tools tab. Click the New Tool button.\\nNext, specify a OpenAPI 3.0 or OpenAPI 3.1 schema that defines the APIs that you want to make available as part of this tool.\\nOnyx provides dynamic context variables that can be utilized within your OpenAPI definition, enhancing the functionality and context-awareness of your custom tools.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.5277030746538452, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"Tools tab. Click the New Tool button.\\nNext, specify a OpenAPI 3.0 or OpenAPI 3.1 schema that defines the APIs that you want to make available as part of this tool.\\nOnyx provides dynamic context variables that can be utilized within your OpenAPI definition, enhancing the functionality and context-awareness of your custom tools. These variables are:\\n-\\nCHAT_SESSION_ID : Replaced...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29860}, {\"document_id\": \"https://docs.onyx.app/connectors/overview\", \"chunk_ind\": 0, \"semantic_identifier\": \"Connector Overview - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nConnector Overview\\nConnectors\\nConnector Overview\\nBasic Information about Connectors\\n\\nWhat are Connectors\\nConnectors hook up Onyx to your data sources so that answers are grounded in your organizations knowledge.\\n\\nConnectors help you\\n- Choose Sources so you can include only the data you want indexed.\\n- Configure Access so Onyx can securely access data with your permission.\\n- Set Up Fetching options to keep Onyxs answers up to date.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.5207147619028673, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"interested in is already mentioned).\\nDont forget to thumbs up the issues requesting the connectors that you would like to see built next!\\n\\nContributing a Connector\\nAs Onyx is opensource, one of the best features is that anyone can add to it! We encourage people who need new connectors to contribute it back to the Onyx repo for other people to benefit as well.\\nRefer to...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29861}, {\"document_id\": \"https://www.onyx.app/\", \"chunk_ind\": 0, \"semantic_identifier\": \"Onyx\", \"link\": \"https://www.onyx.app/\", \"blurb\": \"Help your \\u00b0\\nEng\\nSupport\\nSales\\nProduct\\nOps team\\nfind information faster\\nThe open source AI connected to your company's docs, apps, and people Book a demo\\nYour browser does not support the video tag.\\nAI Workplace Search\\nFind answers across all your teams' applications\\nYour browser does not support the video tag.\\nAI Assistant\\nCreate AI Assistants powered by your org's unique knowledge, available right where you work\\nYour browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.5005257810370336, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \" browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\\nOnyx connects to all your apps\\nWorks out of the box, syncs in real time, with document level access.\\n40+ integrations available, with more being built every day.\\nBuilt for\\nEnterprise\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29862}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/support\", \"chunk_ind\": 0, \"semantic_identifier\": \"Customer Support - Onyx Documentation\", \"link\": \"https://docs.onyx.app/more/use_cases/support\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nCustomer Support\\nUse Cases\\nCustomer Support\\nHelp your customer support team instantly answer any question across your entire product.\\n\\nAI Enabled Support\\nCustomer support agents have one of the highest breadth jobs. They field requests that cover the entire surface area of the product and need to help your users find success on extremely short timelines. Because theyre not the same people who designed or built the system, they often lack the depth of understanding needed - resulting in delays and escalations to other teams.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.49562041633184817, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"the ability of the AI system to break down difficult concepts and convoluted processes into more digestible descriptions and for your team members to be able to chat back and forth with the system to build a better understanding.\\nOnyx takes care of both of these. The system connects up to over 30+ different applications and the knowledge is pulled in constantly...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29863}, {\"document_id\": \"https://docs.onyx.app/slack_bot_setup\", \"chunk_ind\": 1, \"semantic_identifier\": \"Slack Bot Setup - Onyx Documentation\", \"link\": \"https://docs.onyx.app/slack_bot_setup\", \"blurb\": \"should_escape: false oauth_config: scopes: bot: - app_mentions:read - channels:history - channels:join - channels:read - chat:write - commands - groups:history - groups:read - im:history - im:read - mpim:history - reactions:write - users:read.email - users:read settings: event_subscriptions: bot_events: - app_mention - message.channels - message.groups - message.im - message.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.49505915407800327, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"connection to Slack.\\n- In the app page, navigate to the OAuth & Permissions tab under the Features header.\\n- Under OAuth Tokens for Your Workspace , select Install to\", \"will be needed later to enable us to respond to messages as OnyxBot.\\n\\nSetting Onyx to use it\\nStart by finding the admin page in the top right of the Onyx web UI.\\nOn the\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29864}, {\"document_id\": \"https://docs.onyx.app/gen_ai_configs/overview\", \"chunk_ind\": 0, \"semantic_identifier\": \"GenAI Overview - Onyx Documentation\", \"link\": \"https://docs.onyx.app/gen_ai_configs/overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nGenAI Overview\\nGen AI Configs\\nGenAI Overview\\nOverview of the Generative AI functionality in Onyx\\n\\nLLM Options\\nOnyx supports a large range of LLM hosting services and local/custom such as:\\n- For cloud providers, we support OpenAI , Anthropic , Azure OpenAI , HuggingFace , Replicate , AWS Bedrock , Cohere , and many others.\\n- For self-hosted, we support Ollama and GPT4All (or any other way you choose to provide an OpenAI-compatible API).\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.49294959570418817, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"Search...\\nNavigation\\nGen AI Configs\\nGenAI Overview\\nGen AI Configs\\nGenAI Overview\\nOverview of the Generative AI functionality in Onyx\\n\\nLLM Options\\nOnyx supports a large range of LLM hosting services and local/custom such as:\\n- For cloud providers, we support OpenAI , Anthropic\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29865}, {\"document_id\": \"https://docs.onyx.app/quickstart\", \"chunk_ind\": 1, \"semantic_identifier\": \"Quickstart - Onyx Documentation\", \"link\": \"https://docs.onyx.app/quickstart\", \"blurb\": \"You can get an OpenAI API key at: https://platform.openai.com/account/api-keys\\nYou can also replace OpenAI with a model provider of your choice, see here for more info\\n\\nIndexing Documents\\nThis quickstart guide will index a publicly accessible website as this requires no additional authorization setup\\n- Navigate to the top right of Onyxs home screen and select Admin Panel\\n- In the Web Connector dashboard, pick any base URL to index.\\n- This will index all pages under that base URL that is reachable from hyperlinks.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.477913749484956, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"You can get an OpenAI API key at: https://platform.openai.com/account/api-keys\\nYou can also replace OpenAI with a model provider of your choice, see here for more info\\n\\nIndexing\", \"publicly accessible website as this requires no additional authorization setup\\n- Navigate to the top right of Onyxs home screen and select Admin Panel\\n- In the Web Connector dashboard, pick any...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29866}, {\"document_id\": \"https://docs.onyx.app/connectors/discourse\", \"chunk_ind\": 0, \"semantic_identifier\": \"Discourse Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/discourse\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nDiscourse Connector\\nConnectors\\nDiscourse Connector\\nAccess knowledge from your Discourse Topics\\n\\nHow it works\\nThe Discourse connector indexes documents from your Discourse Topics .\\n\\nSetting up\\n\\nAuthorization\\n- Log into your Discourse account\\nThis Discourse user must have admin priveleges\\n- Click the Admin menu from the home page.\\n- Open the Advanced sub-menu and select API keys .\\n- Click New API Key , name it Onyx. Select All Users for User Level and Read-only for Scope .\\n- Click Save . Copy the key and put it into Onyx.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.4729337866287866, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"Discourse user must have admin priveleges\\n- Click the Admin menu from the home page.\\n- Open the Advanced sub-menu and select API keys .\\n- Click New API Key , name it Onyx. Select All Users for User Level and Read-only for Scope .\\n- Click Save . Copy the key and put it into Onyx.\\n- for the API Key\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29867}, {\"document_id\": \"https://docs.onyx.app/connectors/gong\", \"chunk_ind\": 0, \"semantic_identifier\": \"Gong Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/gong\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nGong Connector\\nConnectors\\nGong Connector\\nAccess the latest call transcripts from Gong\\n\\nHow it works\\nThe Gong connector pulls in the transcripts of calls recorded via Gong. The Gong connector indexes the call title, call description, and contents of the actual transcript.\\nNew transcripts are pulled every 10 minutes.\\n\\nSetting up\\n\\nAuthorization\\n- User must get an Access Key and Access Key Secret to pull in Gong transcripts\\n- As an admin, go to Company Settings on the right of the top options bar (see below)\\n 3. Next, find the Ecosystem block and select API 4.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.46898086331361705, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"select API 4. Once there, select API KEYS (its right next to INTEGRATIONS ) 5. Click on GET API KEY and note down the ACCESS KEY and ACCESS KEY SECRET\\n\\nIndexing\\n- In the Onyx UI, navigate to the Admin Dashboard and select the Gong Connector\\n- Provide the Access Key and Access Key Secret from the previous step\\n- \", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29868}, {\"document_id\": \"https://docs.onyx.app/enterprise_edition/custom_analytics\", \"chunk_ind\": 0, \"semantic_identifier\": \"Bring Your Own Analytics - Onyx Documentation\", \"link\": \"https://docs.onyx.app/enterprise_edition/custom_analytics\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nBring Your Own Analytics\\nEnterprise\\nBring Your Own Analytics\\nAdd your own analytics provider to Onyx\\nAs part of the Enterprise Edition, we provide the ability to bring your own analytics provider. This allows you to get session replays, usage metrics, etc. in the platform youre alraedy familiar with.\\nTo enable this, there are a few steps:\\n- Set the CUSTOM_ANALYTICS_SECRET_KEY environment variable to some random string (e.g. 2uIfMPVgHCTD57HU ). Make sure you have the value saved temporarily somewhere.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.4635422471311731, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"This allows you to get session replays, usage metrics, etc. in the platform youre alraedy familiar with.\\nTo enable this, there are a few steps:\\n- Set the CUSTOM_ANALYTICS_SECRET_KEY environment variable to some random string (e.g. 2uIfMPVgHCTD57HU ). Make sure you have the value saved temporarily somewhere.\\n- Re-deploy Onyx.\\n- Go to the Custom Analytics tab in the Admin Panel.\\n...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29869}, {\"document_id\": \"https://docs.onyx.app/connectors/zendesk\", \"chunk_ind\": 0, \"semantic_identifier\": \"Zendesk Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/zendesk\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nZendesk Connector\\nConnectors\\nZendesk Connector\\nAccess knowledge from Zendesk Articles\\n\\nHow it works\\nThe Zendesk Connector syncs all of the published Articles in your companys subdomain.\\nSome current limitations (a contributor is currently working on extending these):\\n- It does not pick up Zendesk Tickets\\n- It does not include comments.\\n- It pulls all of the articles, does not allow selection by Category etc.\\n\\nSetting up\\n\\nAuthorization\\n- The Zendesk Connector requires 3 things to connect:\\n- Subdomain of the tenant (ex.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.44580869839906695, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nZendesk Connector\\nConnectors\\nZendesk Connector\\nAccess knowledge from Zendesk Articles\\n\\nHow it works\\nThe Zendesk Connector syncs all of the published Articles in your companys subdomain.\\nSome current limitations (a contributor is currently working on extending these):\\n- It does not pick up Zendesk Tickets\\n- It does not...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29870}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/ai_platform\", \"chunk_ind\": 0, \"semantic_identifier\": \"AI Platform - Onyx Documentation\", \"link\": \"https://docs.onyx.app/more/use_cases/ai_platform\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user chat sessions, attaching custom tools, handling LLM reasoning, code execution, data analysis, referencing internal knowledge, and much more.\\nOnyx as a platform is not a no-code agent builder.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.4456716540735705, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"developers for developers and this gives your team the full flexibility and power to create agents not constrained by blocks and simple logic paths.\\n\\nFlexibility and Extensibility\\nOnyx is open source and completely whitebox. This not only gives transparency to what happens within the system but also means that your team can directly modify the source code to suit your unique...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29871}, {\"document_id\": \"https://docs.onyx.app/connectors/oci_storage\", \"chunk_ind\": 0, \"semantic_identifier\": \"Oracle Storage Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/oci_storage\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nOracle Storage Connector\\nConnectors\\nOracle Storage Connector\\nAccess documents stored in Oracle Cloud Infrastructure Object Storage\\n\\nHow it works\\nThe Oracle Cloud Infrastructure (OCI) Storage connector pulls in all documents from the specified OCI bucket. It supports various file formats including PDF, DOC, DOCX, TXT, and more.\\nDocuments are updated every 1 day.\\n\\nSetting up\\n\\nAuthorization\\n- Log into your Oracle Cloud Console.\\n- Click on the user icon in the top-right corner and select User Settings.\\n-\\nUnder Resources, click on Customer Secret Keys.\\n-\\nClick Generate Secret Key.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.4407582659145628, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nOracle Storage Connector\\nConnectors\\nOracle Storage Connector\\nAccess documents\", \"Log into your Oracle Cloud Console.\\n- Click on the user icon in the top-right corner and select User Settings.\\n-\\nUnder Resources, click on Customer Secret Keys.\\n-\\nClick Generate Secret Key.\\n-\\nEnter a friendly name for your...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29872}, {\"document_id\": \"https://docs.onyx.app/connectors/freshdesk\", \"chunk_ind\": 0, \"semantic_identifier\": \"Freshdesk Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/freshdesk\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nFreshdesk Connector\\nConnectors\\nFreshdesk Connector\\nAccess knowledge from your Freshdesk Tickets\\n\\nHow it works\\nThe Freshdesk connector indexes tickets from your Freshdesk account.\\n\\nSetting up\\n\\nAuthorization\\n- Login to Freshdesk\\n- The Freshdesk user must be a verified agent, admin, or owner.\\n- Click the profile avatar and choose profile settings.\\n- Select View API Key .\\n- Once you have the API key, you can use it (as well as your domain and password) to authorize your Onyx connector.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.4379703360724948, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"Freshdesk user must be a verified agent, admin, or owner.\\n- Click the profile avatar and choose profile settings.\\n- Select View API Key .\\n- Once you have the API key, you can use it (as well as your domain and password) to authorize your Onyx connector.\\n\\nIndexing\\n- Navigate to the Admin Dashboard.\\n- In the sidebar select Add Connector and click on the Freshdesk tile.\\n...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29873}, {\"document_id\": \"https://docs.onyx.app/connectors/file\", \"chunk_ind\": 0, \"semantic_identifier\": \"File Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/file\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nFile Connector\\nConnectors\\nFile Connector\\nAccess knowledge from Local Files\\n\\nHow it works\\nThe File Connector indexes user uploaded files. Currently supports .txt , .pdf , .docx , .pptx , .xlsx , .csv , .md , .mdx , .conf , .log , .json , .tsv , .xml , .yml , .yaml , .eml , and .epub files.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.4377576698832462, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"primary_owners\\n- secondary_owners\\n- doc_updated_at\\n- file_display_name\\nYou can also include arbitrary key/value pairs which will be understood as tags. These tags can then be used in the \", \"with certain tag(s) attached\\nFor example:\\n#DANSWER_METADATA={\\\"link\\\": \\\"https://github.com/onyx-dot-app/onyx/blob/main/CONTRIBUTING.md\\\", \\\"primary_owners\\\": [\\\"yuhong@onyx.app\\\"...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29874}, {\"document_id\": \"https://docs.onyx.app/enterprise_edition/curator/overview\", \"chunk_ind\": 0, \"semantic_identifier\": \"Curator Role Overview - Onyx Documentation\", \"link\": \"https://docs.onyx.app/enterprise_edition/curator/overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nCurator\\nCurator Role Overview\\nCurator\\nCurator Role Overview\\nThe Curator role is a role available in Onyxs Enterprise Edition.\\nCurators are essentially group level admins.\\nThis role is designed for larger organizations to be able to delegate the task of managing each groups data to users within that group.\\n\\nCurator Role Capabilities\\nCurators are able to do the following for groups they curate:\\n-\\nAdd and Remove Users to/from a Group\\n Curators are able to add and remove Basic users to/from a group.\\n-\\nCreate and Manage Credentials\\n Curators are able to create credentials for connectors.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.4245889774272307, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"\\nCurator Role Overview\\nThe Curator role is a role available in Onyxs Enterprise Edition.\\nCurators are essentially group level admins.\\nThis role\", \"task of managing each groups data to users within that group.\\n\\nCurator Role Capabilities\\nCurators are able to do the following for groups they curate:\\n-\\nAdd and Remove Users\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29875}, {\"document_id\": \"https://docs.onyx.app/connectors/s3\", \"chunk_ind\": 0, \"semantic_identifier\": \"S3 Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/s3\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nS3 Connector\\nConnectors\\nS3 Connector\\nAccess documents stored in Amazon S3 buckets\\n\\nHow it works\\nThe S3 connector pulls in all documents from the specified Amazon S3 bucket. It supports various file formats including PDF, DOC, DOCX, TXT, and more.\\nDocuments are updated every 1 day.\\n\\nSetting up\\n\\nAuthorization\\n- Log into your AWS Management Console.\\n- Navigate to the IAM (Identity and Access Management) dashboard.\\n- In the left sidebar, click on Users and then Create user.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.4209410623332803, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"and click Next.\\n- Add any tags if needed, then click Create user.\\n- Youll now be on the users page. Click on the user you just created.\\n- Click create access key and select Third-party service\\n- Select I understand the above recommendation and want to proceed to create an access key and then Next.\\n- Optionally, set a description tag and then press create access key.\\n...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29876}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/operations\", \"chunk_ind\": 0, \"semantic_identifier\": \"Operations - Onyx Documentation\", \"link\": \"https://docs.onyx.app/more/use_cases/operations\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nOperations\\nUse Cases\\nOperations\\nDouble the productivity of your Ops teams like IT, HR, etc.\\n\\nAutomatically Resolve Tickets\\nModern teams are leveraging AI to auto-resolve up to 50% of tickets. Whether it is an employee asking about benefits details or how to set up the VPN for remote work, Onyx can help your team help themselves. This frees up your team to do the real impactful work of landing star candidates or improving your internal processes.\\n\\nAI Aided Onboarding\\nOne of the periods where your team needs the most help is when theyre just ramping up.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.4168068112423194, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nOperations\\nUse Cases\\nOperations\\nDouble the productivity of your Ops teams like IT\", \"Modern teams are leveraging AI to auto-resolve up to 50% of tickets. Whether it is an employee asking about benefits details or how to set up the VPN for remote work, Onyx can help your team help themselves. This frees up your team to do...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29877}, {\"document_id\": \"https://docs.onyx.app/connectors/google_storage\", \"chunk_ind\": 0, \"semantic_identifier\": \"Google Storage Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/google_storage\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nGoogle Storage Connector\\nConnectors\\nGoogle Storage Connector\\nAccess documents stored in Google Cloud Storage buckets\\n\\nHow it works\\nThe Google Cloud Storage connector pulls in all documents from the specified GCS bucket. It supports various file formats including PDF, DOC, DOCX, TXT, and more.\\nDocuments are updated every 1 day.\\n\\nSetting up\\n\\nAuthorization\\n-\\nLog into your Google Cloud Console.\\n-\\nNavigate to IAM & Admin > Service Accounts.\\n-\\nClick Create Service Account.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.40974290050106216, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"Click Create Service Account.\\n-\\nSet a name for the new service account (e.g., onyx-gcs-connector) and click Create.\\n-\\nFor the role, select Storage Object \", \" the Service Accounts page, find your newly created account and click on it.\\n-\\nIn the Keys section, click Add Key > Create new key.\\n-\\nChoose JSON as the key type and click Create\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29878}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/customer_support\", \"chunk_ind\": 0, \"semantic_identifier\": \"Customer Support\", \"link\": \"https://docs.onyx.app/more/use_cases/customer_support\", \"blurb\": \"Help your customer support team instantly answer any question across your entire product\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.39713949868935244, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"the ability of the AI system to break down difficult concepts and convoluted processes into more digestible descriptions and for your team members to be able to chat back and forth with the system to build a better understanding.\\n\\nOnyx takes care of both of these. The system connects up to over 30+ different applications and the knowledge is pulled in...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29879}, {\"document_id\": \"https://docs.onyx.app/multilingual_setup\", \"chunk_ind\": 0, \"semantic_identifier\": \"Multilingual Setup - Onyx Documentation\", \"link\": \"https://docs.onyx.app/multilingual_setup\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nMultilingual Setup\\nWelcome to Onyx\\nMultilingual Setup\\nHow to set up Onyx to support languages other than English\\nFor the majority of use cases, Onyx provides an easy way to configure the system for multilingual use. To skip the details and just go to setup, see the Configuration section below.\\n\\nHow it works\\nOnyx has two main flows that assume English as a default. To use Onyx in multilingual or non-english cases, these must be handled.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.35765014173569426, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"Multilingual Setup\\nWelcome to Onyx\\nMultilingual Setup\\nHow to set up Onyx to support languages other than English\\nFor the majority of use cases, Onyx provides an easy way to configure the system for multilingual use. To skip the details and just go to setup, see the Configuration section below.\\n\\nHow it works\\nOnyx has two main flows that assume English...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29880}, {\"document_id\": \"https://docs.onyx.app/connectors/egnyte\", \"chunk_ind\": 0, \"semantic_identifier\": \"Egnyte Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/egnyte\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nEgnyte Connector\\nConnectors\\nEgnyte Connector\\nAccess files stored in Egnyte\\n\\nHow it works\\nThe Egnyte connector pulls in files stored in Egnyte. The Egnyte connector indexes the file name, file type, and contents of the file.\\nNew files are pulled every 10 minutes.\\n\\nSetup\\n\\nConfigure your Egnyte Application + Onyx env variables\\nThis is only necessary if self-hosting Onyx. If using Onyx Cloud , you can skip this step.\\n- Create an Egnyte Application.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.34190275050246677, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nEgnyte Connector\\nConnectors\\nEgnyte Connector\\nAccess files stored in \", \"connector indexes the file name, file type, and contents of the file.\\nNew files are pulled every 10 minutes.\\n\\nSetup\\n\\nConfigure your Egnyte Application + Onyx env variables\\nThis is only necessary if self-hosting Onyx. If using OnyxOnyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nCustom Model Server\\nGen AI Configs\\nCustom Model Server\\nConfigure Onyx to use a Custom Model Server via requests\\nOnyx can also make requests to an arbitrary model server via REST requests. Optionally an access token can be passed\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29882}, {\"document_id\": \"https://docs.onyx.app/google_oauth_setup\", \"chunk_ind\": 1, \"semantic_identifier\": \"Google OAuth Setup - Onyx Documentation\", \"link\": \"https://docs.onyx.app/google_oauth_setup\", \"blurb\": \"To turn the feature on set:\\n- AUTH_TYPE=google_oauth\\n- OAUTH_CLIENT_ID=\\n- OAUTH_CLIENT_SECRET=\\n- If setting up in production, then:\\n- WEB_DOMAIN=\\n\\nNon Containerized\\nSimply set the above environment variables when running the different Onyx processes.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.33653529983264613, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"=\\n- OAUTH_CLIENT_SECRET=\\n- If setting up in production, then:\\n- WEB_DOMAIN=onyx.app>\\n\\nNon Containerized\\nSimply set the above environment variables when running the different Onyx processes.\\n- The backend api server uses the 3 environment variables\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29883}, {\"document_id\": \"https://docs.onyx.app/connectors/bookstack\", \"chunk_ind\": 0, \"semantic_identifier\": \"BookStack Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/bookstack\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nBookStack Connector\\nConnectors\\nBookStack Connector\\nAccess knowledge from your own BookStack instance\\n\\nHow it works\\nThe BookStack connector fetches all shelves, books, chapters and pages from the connected instance upon connector setup. From that point on, the connector will pull in everything updated since last sync every 10 minutes.\\n\\nSetting up\\n\\nAuthorization\\nYou will need API credentials for a user in your BookStack instance. To do this:\\n- Find or create a user youd want to use as the connection user.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.32874514934579047, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"users permissions.\\n- This user must have a role assigned that has the Access system API system permission.\\n- Edit that user using an admin account, and find the API Tokens section at the bottom of\", \"Authorization steps above:\\n- Click the Connect button! Your content will then be pulled into Onyx every 10 minutes.\\nAsana Connector ClickUp Connector\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29884}, {\"document_id\": \"https://docs.onyx.app/connectors/requesttracker\", \"chunk_ind\": 0, \"semantic_identifier\": \"Request Tracker Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/requesttracker\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nRequest Tracker Connector\\nConnectors\\nRequest Tracker Connector\\nAccess tickets and transactions from Request Tracker 4.x\\n\\nHow it works\\nThe Request Tracker connector will pull in all tickets updated within the last 10 minutes into the dataset.\\nTickets are updated every 10 minutes.\\nOnly Request Tracker REST API 1.0 is supported at this time. REST API 1.0 is implemented in Request Tracker 4.x, Request Tracker 5.x is not supported currently.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.3130317896091815, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nRequest Tracker Connector\\nConnectors\\nRequest Tracker Connector\\nAccess tickets\", \".\\n\\nSetting up\\n\\nCreate or use a Request Tracker user who has the appropriate permissions\\n- Create a Request Tracker user that has read access to all queues Onyx should read.\\n\\nConfigure DAnswer Request Tracker connector and begin indexing\\n...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29885}, {\"document_id\": \"https://docs.onyx.app/connectors/jira\", \"chunk_ind\": 0, \"semantic_identifier\": \"Jira Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/jira\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nJira Connector\\nConnectors\\nJira Connector\\nAccess the latest issue and project updates from Jira\\n\\nHow it works\\nThe Jira connector pulls in all tickets from the specified projects every 10 minutes.\\nFor every jira issue this connector will pull:\\n- Title\\n- Description\\n- Common fields (like assignee, reporter, status etc.)\\n- Custom fields\\n- Comments\\n\\nSetting up\\n\\nAuthorization\\n- Jira Cloud : follow the guide described here to get an access token.\\n- Jira Server : follow the guide described here to get a personal access token.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.31064305852520896, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nJira Connector\\nConnectors\\nJira Connector\\nAccess the latest issue and project updates from Jira\\n\\nHow it works\\nThe Jira connector pulls in all tickets from the specified \", \"project you want to index, provide a single URL to any page in the project. Also you can specify which users comments not to index (this is generally useful to...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29886}, {\"document_id\": \"https://docs.onyx.app/enterprise_edition/permissioning\", \"chunk_ind\": 0, \"semantic_identifier\": \"Permissioning - Onyx Documentation\", \"link\": \"https://docs.onyx.app/enterprise_edition/permissioning\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nPermissioning\\nEnterprise\\nPermissioning\\nPermissions for what documents users can and cannot access in Onyx are determined by the access level set for each connector.\\n\\nConnector Access Types:\\n\\n1. Public\\n- Any user can access the documents in the connector\\n\\n2. Private\\n- All documents from connectors that are private are only accessible to users in the group(s) that the connector is attached to.\\n\\n3. Sync\\n- When one a connector is created with syncing access enabled, the permissions are inhereted from the source.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.2869038144386974, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nPermissioning\\nEnterprise\\nPermissioning\\nPermissions for what documents users can and cannot access in Onyx are determined by the access level set for each connector.\\n\\nConnector Access Types:\\n\\n1. Public\\n- Any user can access the documents in the connector\\n\\n2. Private\\n- \", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 29887}]}, \"message_type\": \"assistant\", \"time_sent\": \"2025-01-12T03:18:59.858079+00:00\", \"overridden_model\": \"claude-3-5-sonnet-20241022\", \"alternate_assistant_id\": 0, \"chat_session_id\": \"d89468b8-5b73-4278-b349-08ec1004d426\", \"citations\": {}, \"sub_questions\": [], \"files\": [], \"tool_call\": {\"tool_name\": \"run_search\", \"tool_args\": {\"query\": \"what is onyx I, II, III, and IV?\"}, \"tool_result\": [{\"document_id\": \"https://docs.onyx.app/introduction\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into any LLM of your choice. Onyx can be deployed anywhere and for any scale - on a laptop, on-premise, or to cloud. Since you own the deployment, your user data and chats are fully in your own control. Onyx is MIT licensed and designed to be modular and easily extensible. The system also comes fully ready for production usage with user authentication, role management (admin/basic users), chat persistence, and a UI for configuring Personas (AI Assistants) and their Prompts.\\nOnyx also serves as a Unified Search across all common workplace tools such as Slack, Google Drive, Confluence, etc. By combining LLMs and team specific knowledge, Onyx becomes a subject matter expert for the team. Its like ChatGPT if it had access to your teams unique knowledge! It enables questions such as A customer wants feature X, is this already supported? or Wheres the pull request for feature Y?\\nOnyx can also be plugged into existing tools like Slack to get answers and AI chats directly in Slack.\\n\\nDemo\\n\\nMain Features \\n- Chat UI with the ability to select documents to chat with.\\n- Create custom AI Assistants with different prompts and backing knowledge sets.\\n- Connect Onyx with LLM of your choice (self-host for a fully airgapped solution).\\n- Document Search + AI Answers for natural language queries.\\n- Connectors to all common workplace tools like Google Drive, Confluence, Slack, etc.\\n- Slack integration to get answers and search results directly in Slack.\\n\\nUpcoming\\n- Chat/Prompt sharing with specific teammates and user groups.\\n- Multi-modal model support, chat with images, video etc.\\n- Choosing between LLMs and parameters during chat session.\\n- Tool calling and agent configurations options.\\n- Organizational understanding and ability to locate and suggest experts from your team.\\n\\nOther Noteable Benefits of Onyx\\n- User Authentication with document level access management.\\n- Best in class Hybrid Search across all sources (BM-25 + prefix aware embedding models).\\n- Admin Dashboard to configure connectors, document-sets, access, etc.\\n- Custom deep learning models + learn from user feedback.\\n- Easy deployment and ability to host Onyx anywhere of your choosing.\\nQuickstart\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into any LLM of your choice. Onyx can be deployed anywhere and for any scale - on a laptop, on-premise, or to cloud. Since you own the deployment, your user data and chats are fully in your own control. Onyx is MIT licensed and designed to be modular and easily extensible.\", \"semantic_identifier\": \"Introduction - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/introduction\", \"source_links\": {\"0\": \"https://docs.onyx.app/introduction\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into\", \"\"]}, {\"document_id\": \"https://www.onyx.app/\", \"content\": \"Help your \\u00b0\\nEng\\nSupport\\nSales\\nProduct\\nOps team\\nfind information faster\\nThe open source AI connected to your company's docs, apps, and people Book a demo\\nYour browser does not support the video tag.\\nAI Workplace Search\\nFind answers across all your teams' applications\\nYour browser does not support the video tag.\\nAI Assistant\\nCreate AI Assistants powered by your org's unique knowledge, available right where you work\\nYour browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\\nOnyx connects to all your apps\\nWorks out of the box, syncs in real time, with document level access.\\n40+ integrations available, with more being built every day.\\nBuilt for\\nEnterprise\\nIt's been great to partner and work with the Onyx team ... it's an easy to set up, intuitive product that finds natural product market fit by meeting your team where they're already collaborating.\\nTony Rios\\nDirector, Product Ops at Ramp\\nData\\nSecurity\\nRun Onyx fully air gapped in your VPC or even on-premise.\\nNo data needs to ever leave your deployment.\\nAdvanced\\nPermission\\nDocument level permissions automatically inherited from connected sources.\\nEasily create advanced access rules directly within Onyx.\\nMost\\nExtensible\\nModular, open-source, and easy to customize.\\nPlug in custom tools, processing modules, and UI elements to make Onyx work the way you need it to.\\nModel\\nAgnostic\\nChoose any model provider, or plug in your own self-hosted LLM.\\nPick the model that works for your use case, swap them at will. Control is yours.\\nInternal Search\\nThe average worker spends 9.3 hours a week looking for information. Unblock your team with GenAI.\\nCustomer Support\\nInstantly answer questions across your entire product.\\nDevelopers\\nEmpower your devs to ship with speed and confidence.\\nSales\\nClose deals faster with instant access to every customer conversation and prodpuct update.\\nWe use cookies to enhance your experience and analyze our site usage. Do you accept?\\nAccept Reject\", \"blurb\": \"Help your \\u00b0\\nEng\\nSupport\\nSales\\nProduct\\nOps team\\nfind information faster\\nThe open source AI connected to your company's docs, apps, and people Book a demo\\nYour browser does not support the video tag.\\nAI Workplace Search\\nFind answers across all your teams' applications\\nYour browser does not support the video tag.\\nAI Assistant\\nCreate AI Assistants powered by your org's unique knowledge, available right where you work\\nYour browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\", \"semantic_identifier\": \"Onyx\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://www.onyx.app/\", \"source_links\": {\"0\": \"https://www.onyx.app/\"}, \"match_highlights\": [\"\", \" browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\\nOnyx connects to all your apps\\nWorks out of the box, syncs in real time, with document level access.\\n40+ integrations available, with more being built every day.\\nBuilt for\\nEnterprise\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/system_overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking to customize the system or become an open source contributors, this is a great place to start.\\n\\nSystem Architecture\\nWhether deploying Onyx on a single instance or a container orchestration platform, the flow of data is the same. Documents are pulled and processed via connectors and then persisted in Vespa/Postgres which run in containers within your system.\\nThe only time sensitive data leaves your Onyx setup is when it makes a call to an LLM to generate an answer. The communications to the LLM are encrypted. The data persistence at the LLM API depends on the terms of the LLM hosting service you are using.\\nWe also note that Onyx has some very limited and anonymous telemetry to help us improve the system by identifying bottlenecks and flaky data connectors. You can turn off the telemetry with by setting the DISABLE_TELEMETRY env variable to True.\\n\\nEmbedding Flow\\nEach document is split into smaller sections called Chunks.\\nBy passing chunks to the LLM instead of full documents, we are able to reduce noise to the model by only passing in the relevant sections of the document. Additionally this is significantly more cost efficient as LLM services generally charge per token. Finally by embedding chunks rather than full documents, we are able to retain more detail as each vector embedding is only capable of encoding a limited amount of information.\\nThe addition of mini-chunks takes this concept even further. By embedding at different sizes, Onyx can retrieve both high level context and details. Mini-chunks can also be turned on/off via environment variables as generating multiple vectors per chunk can slow down document indexing if deployed on less capable hardware.\\nIn choosing our embedding model, we use the latest state-of-the-art biencoder that is small enough to run on CPU while maintaining subsecond document retrieval times.\\n\\nQuery Flow\\nThis flow is often updated as were constantly striving to push the capabilities of the retrieval pipeline with the most recent advancements coming out of research and the opensource community.\\nAlso note that many of the parameters of this flow such as how much documents to retrieve, how many to rerank, what models to use, which chunks are passed to the LLM, etc. are all configurable.\\nIf there are any questions, dont hesitate to reach out to the maintainers!\\nMultilingual Setup Contact Us\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking to customize the system or become an open source contributors, this is a great place to start.\\n\\nSystem Architecture\\nWhether deploying Onyx on a single instance or a container orchestration platform, the flow of data is the same.\", \"semantic_identifier\": \"System Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/system_overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/system_overview\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking...\"]}, {\"document_id\": \"https://docs.onyx.app/tools/overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform actions (e.g. write to a database, send an email, etc.)\\n- Generate content (e.g. generate an Image, create a plot, etc.)\\nBy default, we have a three tools built-in to Onyx. These are:\\n-\\nSearchTool . This is the core of Onyx. Adding this tool to an Assistant allows it to search over the knowledge youve connected up to Onyx through Connectors . This is the only tool available to the default Onyx assistant.\\n-\\nImageGenerationTool . This leverages DALLE-3 to generate images.\\n-\\nInternetSearchTool . This uses Bing to search the internet. To enable this as an option, set the BING_API_KEY environment variable.\\nEmbedding Models Custom Tools\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform actions (e.g. write to a database, send an email, etc.)\\n- Generate content (e.g. generate an Image, create a plot, etc.)\\nBy default, we have a three tools built-in to Onyx.\", \"semantic_identifier\": \"Tools Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/tools/overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/tools/overview\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/configuration_guide\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nConfiguring Onyx\\nWelcome to Onyx\\nConfiguring Onyx\\nHow to customize your deployment environment.\\n\\nCommon Environment Variables\\nAll of the global configuration options that are not built into the UI are set via environment variables. This page contains an exhaustive list of all the options.\\nThere are defaults set in the code so changing/settings these values is not required to use Onyx. A few notable settings that are more frequently changed however are the following:\\n- AUTH_TYPE (default value is disabled )\\n- MULTILINGUAL_QUERY_EXPANSION (you can provide a comma separated list of languages for query rephrasing such as English,French )\\n- LOG_LEVEL (default is info )\\n- WEB_DOMAIN (your full url in production, including the protocol- e.g. https://www.onyx.app )\\n\\nDocker Compose\\nThere are several ways to configure environment variables for the containers. For Docker Compose, there are many ways to pass environment variables to the container, any of the standard approaches will work. However the preferred approach for Onyx is to use the .env file. To do this, create a file called .env at onyx/deployment/docker_compose/.env . From there, populate it with the values you want to override:\\n# Configures basic email/password based login AUTH_TYPE=\\\"basic\\\" # Rephrasing the query into different languages to improve search recall MULTILINGUAL_QUERY_EXPANSION=\\\"English,Spanish,German\\\" # Set a cheaper/faster LLM for the flows that are easier (such as translating the query etc.) FAST_GEN_AI_MODEL_VERSION=\\\"gpt-3.5-turbo\\\" # Setting more verbose logging LOG_LEVEL=\\\"debug\\\" LOG_ALL_MODEL_INTERACTIONS=\\\"true\\\"\\n\\nKubernetes\\nFor Kubernetes, the deployment yaml files includes an Environment ConfigMap. Simply update the values in the file here .\\n\\nAll Environment Variables\\nThis is an extensive list of the currently supported environment variables within Onyx. There are several classes of environment variables. All of the global configuration options that are not built into the UI are set via environment variables.\\nYou can set these in your .env file.\\n\\nAuth Settings\\nThese variables control authentication and user management in Onyx.\\nAUTH_TYPE\\nControls the authentication method used by Onyx.\\ndisabled : No authentication is required.\\ngoogle_oauth : Users can log in using their Google accounts.\\nbasic : Standard username/password authentication.\\noidc : OpenID Connect, available in the enterprise edition.\\nsaml : Security Assertion Markup Language, available in the enterprise edition.\\n\\nSESSION_EXPIRE_TIME_SECONDS\\nDefines the duration of a users session in seconds. Default is 24 hours.\\n\\nENCRYPTION_KEY_SECRET\\nA strong, unique string used for encryption purposes. Keep this value secret.\\n\\nVALID_EMAIL_DOMAINS\\nComma-separated list of allowed email domains for authentication. Leave empty to allow all domains.\\n\\nGOOGLE_OAUTH_CLIENT_ID\\nClient ID for Google OAuth authentication, obtained from Google Cloud Console .\\n\\nGOOGLE_OAUTH_CLIENT_SECRET\\nClient Secret for Google OAuth authentication, obtained from Google Cloud Console . Keep this value secret.\\n\\nREQUIRE_EMAIL_VERIFICATION\\nWhen set to true , users must verify their email before accessing Onyx.\\n\\nSMTP_SERVER\\nHostname of the SMTP server for sending verification emails. Default is smtp.gmail.com .\\n\\nSMTP_PORT\\nPort used for SMTP communication. Common values are 587 (TLS) or 465 (SSL).\\n\\nSMTP_USER\\nUsername for SMTP authentication, often an email address used to send verification emails.\\n\\nSMTP_PASS\\nPassword for SMTP authentication. Keep this value secret.\\n\\nEMAIL_FROM\\nEmail address used as the sender for verification emails.\\n\\nNEXT_PUBLIC_FORGOT_PASSWORD_ENABLED\\nSet to true to enable the forgot password feature. Only enable this if you have configured the above SMTP settings (For email functionality).\\n\\nGen AI Settings\\nThese variables configure the generative AI capabilities of Onyx. These are covered in more depth at the generative AI configs .\\n\\nGEN_AI_MODEL_PROVIDER\\nSpecifies the provider of the generative AI model (e.g., openai , anthropic , huggingface ).\\n\\nGEN_AI_MODEL_VERSION\\nDefines the version of the generative AI model to use (e.g., gpt-4 for OpenAI).\\n\\nFAST_GEN_AI_MODEL_VERSION\\nSpecifies a faster (usually smaller) model version for certain tasks.\\n\\nGEN_AI_API_KEY\\nAPI key for accessing the generative AI service. Keep this value secret.\\n\\n...\\n\\nPOSTGRES_HOST\\nHostname or IP address of the Postgres server. Default is relational_db .\\n\\nVESPA_HOST\\nHostname or IP address of the Vespa server. Default is index .\\n\\nWEB_DOMAIN\\nFully qualified domain name used for the Onyx web interface. (e.g. https://www.onyx.com )\\n\\nNLP Model Configurations\\nAdvanced settings for NLP models. Modify with caution.\\n\\nINDEX_BATCH_SIZE\\nSize of batch used when indexing documents. Overrides the default batch size for indexing operations.\\n\\nEMBEDDING_BATCH_SIZE\\nSize of batch used when embedding documents during indexing and search operations. Overrides the default batch size for embedding processes.\\n\\nDOCUMENT_ENCODER_MODEL\\nName or path of the encoder model used for document encoding.\\n\\nDOC_EMBEDDING_DIM\\nDimension of document embeddings, typically matching the chosen encoder models output dimension.\\n\\nNORMALIZE_EMBEDDINGS\\nSet to true to enable normalization of embeddings.\\n\\nASYM_QUERY_PREFIX\\nText prepended to queries in asymmetric semantic search.\\n\\nENABLE_RERANKING_REAL_TIME_FLOW\\nSet to true to enable reranking in real-time search flow.\\n\\nENABLE_RERANKING_ASYNC_FLOW\\nSet to true to enable reranking in asynchronous search flow.\\n\\nMODEL_SERVER_HOST\\nHostname or IP address of the model server. Default is inference_model_server .\\n\\nMODEL_SERVER_PORT\\nPort on which the model server is listening.\\n\\nMiscellaneous\\n< Various other configuration options.\\n\\nDISABLE_TELEMETRY\\nSet to true to opt out of telemetry. Telemetry helps improve Onyx; no sensitive data is collected.\\n\\nLOG_LEVEL\\nSets the logging verbosity. Possible values: debug , info , warning , error , critical .\\n\\nLOG_ALL_MODEL_INTERACTIONS\\nSet to true to enable logging of all prompts sent to the LLM.\\n\\nLOG_VESPA_TIMING_INFORMATION\\nSet to true to enable additional logging of Vespa query performance.\\n\\nLOG_ENDPOINT_LATENCY\\nSet to true to enable logging of endpoint latency information.\\nCustom Model Server Multilingual Setup\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nConfiguring Onyx\\nWelcome to Onyx\\nConfiguring Onyx\\nHow to customize your deployment environment.\\n\\nCommon Environment Variables\\nAll of the global configuration options that are not built into the UI are set via environment variables. This page contains an exhaustive list of all the options.\\nThere are defaults set in the code so changing/settings these values is not required to use Onyx.\", \"semantic_identifier\": \"Configuring Onyx - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/configuration_guide\", \"source_links\": {\"0\": \"https://docs.onyx.app/configuration_guide\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nConfiguring Onyx\\nWelcome to Onyx\\nConfiguring Onyx\\nHow to customize\", \"variables. This page contains an exhaustive list of all the options.\\nThere are defaults set in the code so changing/settings these values is not required to use Onyx. A few notable settings that are more...\"]}, {\"document_id\": \"https://docs.onyx.app/connectors/notion\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nNotion Connector\\nConnectors\\nNotion Connector\\nAccess knowledge from your Notion workspace\\n\\nHow it works\\nThe Notion connector uses the Notion search API to fetch all pages that the connector has access to within a workspace. For follow up indexing runs, the connector only retrieves pages that have been updated since the last indexing attempt. Indexing is configured to run every 10 minutes , so page updates should appear within 10 minutes.\\n\\nSetting up\\n\\nAuthorization\\nIn order to authorize Onyx to connect to your Notion workspace, youll need to create a new integration in Notion, which will then provide you with a secret token.\\nThese steps are pulled from this Notion guide which you can also follow.\\n\\nStep 1: Create an integration\\n- Visit https://www.notion.com/my-integrations in your browser.\\n- Click the + New integration button.\\n- Name the integration (something like Onyx could work).\\n- Select Read content as the only capability required for Onyx.\\n- Click Submit to create the integration.\\nOn the next page, youll find your Notion integration token, also called an API key. Youll need this token to configure Onyx to index Notion, so make a copy of it.\\nThe integration has been added to the workspace, so any member can share pages and databases with it. Theres no requirement to be an Admin to share information with an integration.\\n\\nStep 2: Share pages/databases with your integration\\nNow that youve created an integration, you need to grant it access to Notion pages/databases. To keep your information secure, integrations dont have access to any pages or databases in the workspace at first. You must share specific pages with an integration in order for Onyx to access those pages.\\nTo share a page/database with your integration:\\n- Go to the page/database in your workspace.\\n- Click the on the top right corner of the page.\\n- Scroll to the bottom of the pop-up and click Add connections.\\n- Search for and select the new integration in the Search for connections... menu.\\n- If youve added a page, all child pages also become accesssible to Onyx. If youve added a database, all rows (and their children) become accessible to Onyx.\\nOnce youve granted access to a page/database, you can start configuring Onyx to index those databases.\\n\\nIndexing\\n- Navigate to the Admin Dashboard and select the Notion connector.\\n- In Step 1 , provide the Integration Token Secret you obtained in the Authorization steps above:\\n- Click the Connect button! Your content will then be pulled into Onyx every 10 minutes.\\nNote - As mentioned, the Notion connector currently indexes everything it has access to. If you want to limit specific content being indexed, simply unshare the database from Notion with the integration.\\nLinear Connector Oracle Storage Connector\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nNotion Connector\\nConnectors\\nNotion Connector\\nAccess knowledge from your Notion workspace\\n\\nHow it works\\nThe Notion connector uses the Notion search API to fetch all pages that the connector has access to within a workspace. For follow up indexing runs, the connector only retrieves pages that have been updated since the last indexing attempt. Indexing is configured to run every 10 minutes , so page updates should appear within 10 minutes.\", \"semantic_identifier\": \"Notion Connector - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/connectors/notion\", \"source_links\": {\"0\": \"https://docs.onyx.app/connectors/notion\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nNotion Connector\\nConnectors\\nNotion Connector\\nAccess knowledge from your Notion workspace\", \"since the last indexing attempt. Indexing is configured to run every 10 minutes , so page updates should appear within 10 minutes.\\n\\nSetting up\\n\\nAuthorization\\nIn order to authorize Onyx to connect to your Notion workspace, youll...\"]}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/ai_platform\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user chat sessions, attaching custom tools, handling LLM reasoning, code execution, data analysis, referencing internal knowledge, and much more.\\nOnyx as a platform is not a no-code agent builder. We are made by developers for developers and this gives your team the full flexibility and power to create agents not constrained by blocks and simple logic paths.\\n\\nFlexibility and Extensibility\\nOnyx is open source and completely whitebox. This not only gives transparency to what happens within the system but also means that your team can directly modify the source code to suit your unique needs.\\nEnterprise Search Customer Support\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user chat sessions, attaching custom tools, handling LLM reasoning, code execution, data analysis, referencing internal knowledge, and much more.\\nOnyx as a platform is not a no-code agent builder.\", \"semantic_identifier\": \"AI Platform - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/more/use_cases/ai_platform\", \"source_links\": {\"0\": \"https://docs.onyx.app/more/use_cases/ai_platform\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user...\"]}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI more versatile for work by enabling new types of questions like What is the most common feature request weve heard from customers this month. Whereas other AI systems have no context of your team and are generally unhelpful with work related questions, Onyx makes it possible to ask these questions in natural language and get back answers in seconds.\\nOnyx can connect to +30 different tools and the use cases are not limited to the ones in the following pages. The highlighted use cases are for inspiration and come from feedback gathered from our users and customers.\\n\\nCommon Getting Started Questions:\\n\\nWhy are these docs connected in my Onyx deployment?\\nAnswer: This is just an example of how connectors work in Onyx. You can connect up your own teams knowledge and you will be able to ask questions unique to your organization. Onyx will keep all of the knowledge up to date and in sync with your connected applications.\\n\\nIs my data being sent anywhere when I connect it up to Onyx?\\nAnswer: No! Onyx is built with data security as our highest priority. We open sourced it so our users can know exactly what is going on with their data. By default all of the document processing happens within Onyx. The only time it is sent outward is for the GenAI call to generate answers.\\n\\nWhere is the feature for auto sync-ing document level access permissions from all connected sources?\\nAnswer: This falls under the Enterprise Edition set of Onyx features built on top of the MIT/community edition. If you are on Onyx Cloud, you have access to them by default. If youre running it yourself, reach out to the Onyx team to receive access.\\nAdvanced Curator Examples Enterprise Search\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI more versatile for work by enabling new types of questions like What is the most common feature request weve heard from customers this month. Whereas other AI systems have no context of your team and are generally unhelpful with work related questions, Onyx makes it possible to ask these questions in natural language and get back answers in seconds.\", \"semantic_identifier\": \"Use Cases Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/more/use_cases/overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/more/use_cases/overview\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/google_oauth_setup\", \"content\": \"To turn the feature on set:\\n- AUTH_TYPE=google_oauth\\n- OAUTH_CLIENT_ID=\\n- OAUTH_CLIENT_SECRET=\\n- If setting up in production, then:\\n- WEB_DOMAIN=\\n\\nNon Containerized\\nSimply set the above environment variables when running the different Onyx processes.\\n- The backend api server uses the 3 environment variables\\n- The frontend hits the api server to determine what user authentication setting is configured and serves the relevant pages.\\n\\nDocker Compose\\nSimply set the 4 environment variables in a file called .env under onyx/deployment/docker_compose .\\n\\nKubernetes\\nKubernetes deployment was designed for production use and assumes that user Auth is a required feature therefore it is on by default. To set up the required values, replace the REPLACE-THIS values in secrets.yaml with thebase64 encoded client ID and client secret from above.\\nBasic Auth Setup OIDC/SAML Setup\", \"blurb\": \"To turn the feature on set:\\n- AUTH_TYPE=google_oauth\\n- OAUTH_CLIENT_ID=\\n- OAUTH_CLIENT_SECRET=\\n- If setting up in production, then:\\n- WEB_DOMAIN=\\n\\nNon Containerized\\nSimply set the above environment variables when running the different Onyx processes.\", \"semantic_identifier\": \"Google OAuth Setup - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/google_oauth_setup\", \"source_links\": {\"0\": \"https://docs.onyx.app/google_oauth_setup\"}, \"match_highlights\": [\"\", \"=\\n- OAUTH_CLIENT_SECRET=\\n- If setting up in production, then:\\n- WEB_DOMAIN=onyx.app>\\n\\nNon Containerized\\nSimply set the above environment variables when running the different Onyx processes.\\n- The backend api server uses the 3 environment variables\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/multilingual_setup\", \"content\": \"onyx documentation home page search... navigation welcome to onyx multilingual setup welcome to onyx multilingual setup how to set up onyx to support languages other than english for the majority of use cases, onyx provides an easy way to configure the system for multilingual use. to skip the details and just go to setup, see the configuration section below. how it works onyx has two main flows that assume english as a default. to use onyx in multilingual or non - english cases, these must be handled. - the vector portion of the hybrid - search / reranking. this selects relevant documents to pass to the large language model as context - the prompts for the large language model to instruct it on how to answer user queries. to address the first point, the english first embedding / reranking models can be swapped out for multilingual models. additionally query expansion is applied to rephrase the user query into the target languages. to address the second point, additional instructions are given to the llm to respect the input language and to respond in the same language as the user query. note : the onyx llm prompts are still in english, just with added instructions if the user configures multilingual settings ( see below ). if all of your documents and queries are in some other language, it will be better to simply translate all of onyxs prompts directly to that target language. you can do so here.\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nMultilingual Setup\\nWelcome to Onyx\\nMultilingual Setup\\nHow to set up Onyx to support languages other than English\\nFor the majority of use cases, Onyx provides an easy way to configure the system for multilingual use. To skip the details and just go to setup, see the Configuration section below.\\n\\nHow it works\\nOnyx has two main flows that assume English as a default. To use Onyx in multilingual or non-english cases, these must be handled.\", \"semantic_identifier\": \"Multilingual Setup - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/multilingual_setup\", \"source_links\": {\"0\": \"https://docs.onyx.app/multilingual_setup\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nMultilingual Setup\\nWelcome to Onyx\\nMultilingual Setup\\nHow to set up Onyx to support languages other than English\\nFor the majority of use cases, Onyx provides an easy way to configure the system for multilingual use. To skip the details and just go to setup\", \"\"]}]}}\n" -"{\"user_message_id\": 428, \"reserved_assistant_message_id\": 429}\n" -"{\"tool_name\": \"run_search\", \"tool_args\": {\"query\": \"what is onyx I, II, III, and IV?\"}}\n" -"{\"top_documents\": [{\"document_id\": \"https://docs.onyx.app/introduction\", \"chunk_ind\": 0, \"semantic_identifier\": \"Introduction - Onyx Documentation\", \"link\": \"https://docs.onyx.app/introduction\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into any LLM of your choice. Onyx can be deployed anywhere and for any scale - on a laptop, on-premise, or to cloud. Since you own the deployment, your user data and chats are fully in your own control. Onyx is MIT licensed and designed to be modular and easily extensible.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.9055588930999356, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30530}, {\"document_id\": \"https://www.onyx.app/\", \"chunk_ind\": 0, \"semantic_identifier\": \"Onyx\", \"link\": \"https://www.onyx.app/\", \"blurb\": \"Help your \\u00b0\\nEng\\nSupport\\nSales\\nProduct\\nOps team\\nfind information faster\\nThe open source AI connected to your company's docs, apps, and people Book a demo\\nYour browser does not support the video tag.\\nAI Workplace Search\\nFind answers across all your teams' applications\\nYour browser does not support the video tag.\\nAI Assistant\\nCreate AI Assistants powered by your org's unique knowledge, available right where you work\\nYour browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.8304853770440086, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \" browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\\nOnyx connects to all your apps\\nWorks out of the box, syncs in real time, with document level access.\\n40+ integrations available, with more being built every day.\\nBuilt for\\nEnterprise\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30531}, {\"document_id\": \"https://docs.onyx.app/system_overview\", \"chunk_ind\": 0, \"semantic_identifier\": \"System Overview - Onyx Documentation\", \"link\": \"https://docs.onyx.app/system_overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking to customize the system or become an open source contributors, this is a great place to start.\\n\\nSystem Architecture\\nWhether deploying Onyx on a single instance or a container orchestration platform, the flow of data is the same.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.8118511457774351, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30532}, {\"document_id\": \"https://docs.onyx.app/tools/overview\", \"chunk_ind\": 0, \"semantic_identifier\": \"Tools Overview - Onyx Documentation\", \"link\": \"https://docs.onyx.app/tools/overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform actions (e.g. write to a database, send an email, etc.)\\n- Generate content (e.g. generate an Image, create a plot, etc.)\\nBy default, we have a three tools built-in to Onyx.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.8023462087343193, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30533}, {\"document_id\": \"https://docs.onyx.app/configuration_guide\", \"chunk_ind\": 0, \"semantic_identifier\": \"Configuring Onyx - Onyx Documentation\", \"link\": \"https://docs.onyx.app/configuration_guide\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nConfiguring Onyx\\nWelcome to Onyx\\nConfiguring Onyx\\nHow to customize your deployment environment.\\n\\nCommon Environment Variables\\nAll of the global configuration options that are not built into the UI are set via environment variables. This page contains an exhaustive list of all the options.\\nThere are defaults set in the code so changing/settings these values is not required to use Onyx.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7863586641333074, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nConfiguring Onyx\\nWelcome to Onyx\\nConfiguring Onyx\\nHow to customize\", \"variables. This page contains an exhaustive list of all the options.\\nThere are defaults set in the code so changing/settings these values is not required to use Onyx. A few notable settings that are more...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30534}, {\"document_id\": \"https://docs.onyx.app/connectors/notion\", \"chunk_ind\": 0, \"semantic_identifier\": \"Notion Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/notion\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nNotion Connector\\nConnectors\\nNotion Connector\\nAccess knowledge from your Notion workspace\\n\\nHow it works\\nThe Notion connector uses the Notion search API to fetch all pages that the connector has access to within a workspace. For follow up indexing runs, the connector only retrieves pages that have been updated since the last indexing attempt. Indexing is configured to run every 10 minutes , so page updates should appear within 10 minutes.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7796314008555639, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nNotion Connector\\nConnectors\\nNotion Connector\\nAccess knowledge from your Notion workspace\", \"since the last indexing attempt. Indexing is configured to run every 10 minutes , so page updates should appear within 10 minutes.\\n\\nSetting up\\n\\nAuthorization\\nIn order to authorize Onyx to connect to your Notion workspace, youll...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30535}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/ai_platform\", \"chunk_ind\": 0, \"semantic_identifier\": \"AI Platform - Onyx Documentation\", \"link\": \"https://docs.onyx.app/more/use_cases/ai_platform\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user chat sessions, attaching custom tools, handling LLM reasoning, code execution, data analysis, referencing internal knowledge, and much more.\\nOnyx as a platform is not a no-code agent builder.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7643885927539609, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30536}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/overview\", \"chunk_ind\": 0, \"semantic_identifier\": \"Use Cases Overview - Onyx Documentation\", \"link\": \"https://docs.onyx.app/more/use_cases/overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI more versatile for work by enabling new types of questions like What is the most common feature request weve heard from customers this month. Whereas other AI systems have no context of your team and are generally unhelpful with work related questions, Onyx makes it possible to ask these questions in natural language and get back answers in seconds.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7631596059000961, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30537}, {\"document_id\": \"https://docs.onyx.app/google_oauth_setup\", \"chunk_ind\": 1, \"semantic_identifier\": \"Google OAuth Setup - Onyx Documentation\", \"link\": \"https://docs.onyx.app/google_oauth_setup\", \"blurb\": \"To turn the feature on set:\\n- AUTH_TYPE=google_oauth\\n- OAUTH_CLIENT_ID=\\n- OAUTH_CLIENT_SECRET=\\n- If setting up in production, then:\\n- WEB_DOMAIN=\\n\\nNon Containerized\\nSimply set the above environment variables when running the different Onyx processes.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7602490850841676, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"=\\n- OAUTH_CLIENT_SECRET=\\n- If setting up in production, then:\\n- WEB_DOMAIN=onyx.app>\\n\\nNon Containerized\\nSimply set the above environment variables when running the different Onyx processes.\\n- The backend api server uses the 3 environment variables\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30538}, {\"document_id\": \"https://docs.onyx.app/multilingual_setup\", \"chunk_ind\": 0, \"semantic_identifier\": \"Multilingual Setup - Onyx Documentation\", \"link\": \"https://docs.onyx.app/multilingual_setup\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nMultilingual Setup\\nWelcome to Onyx\\nMultilingual Setup\\nHow to set up Onyx to support languages other than English\\nFor the majority of use cases, Onyx provides an easy way to configure the system for multilingual use. To skip the details and just go to setup, see the Configuration section below.\\n\\nHow it works\\nOnyx has two main flows that assume English as a default. To use Onyx in multilingual or non-english cases, these must be handled.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7486466967742271, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nMultilingual Setup\\nWelcome to Onyx\\nMultilingual Setup\\nHow to set up Onyx to support languages other than English\\nFor the majority of use cases, Onyx provides an easy way to configure the system for multilingual use. To skip the details and just go to setup\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30539}, {\"document_id\": \"https://docs.onyx.app/oidc_saml\", \"chunk_ind\": 0, \"semantic_identifier\": \"OIDC/SAML Setup - Onyx Documentation\", \"link\": \"https://docs.onyx.app/oidc_saml\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nAuth\\nOIDC/SAML Setup\\nAuth\\nOIDC/SAML Setup\\nIntegrating Onyx with your IdP\\nAs part of the Enterprise Edition, Onyx adds support for OIDC / SAML and integrates with popular IdPs (e.g. Okta, Microsoft Entra ID, etc). We also have and will continue to add new integrations with custom, in-house IdPs on request.\\nIf this is something you are looking for, please reach to us directly and wed be happy to work with you to set this up.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7403403355843944, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nAuth\\nOIDC/SAML Setup\\nAuth\\nOIDC/SAML Setup\\nIntegrating Onyx with your IdP\\nAs part of the Enterprise Edition, Onyx adds support for OIDC / SAML and integrates with popular IdPs (e.g. Okta, Microsoft Entra ID, etc). We also have and will continue to add new integrations\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30540}, {\"document_id\": \"https://docs.onyx.app/contact_us\", \"chunk_ind\": 0, \"semantic_identifier\": \"Contact Us - Onyx Documentation\", \"link\": \"https://docs.onyx.app/contact_us\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nContact Us\\nWelcome to Onyx\\nContact Us\\nWe would love to hear from you!\\n\\nPlease dont hesitate to reach out!\\nShoot us a message at founders@onyx.app\\nOr join our Slack or Discord\\nSystem Overview Connector Overview\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.738209629980194, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nContact Us\\nWelcome to Onyx\\nContact Us\\nWe would love to hear from you!\\n\\nPlease dont hesitate to reach out!\\nShoot us a message at founders@onyx.app\\nOr join our Slack or Discord\\nSystem Overview Connector Overview\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30541}, {\"document_id\": \"https://docs.onyx.app/enterprise_edition/permissioning\", \"chunk_ind\": 0, \"semantic_identifier\": \"Permissioning - Onyx Documentation\", \"link\": \"https://docs.onyx.app/enterprise_edition/permissioning\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nPermissioning\\nEnterprise\\nPermissioning\\nPermissions for what documents users can and cannot access in Onyx are determined by the access level set for each connector.\\n\\nConnector Access Types:\\n\\n1. Public\\n- Any user can access the documents in the connector\\n\\n2. Private\\n- All documents from connectors that are private are only accessible to users in the group(s) that the connector is attached to.\\n\\n3. Sync\\n- When one a connector is created with syncing access enabled, the permissions are inhereted from the source.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7353455109741031, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nPermissioning\\nEnterprise\\nPermissioning\\nPermissions for what documents users can and cannot access in Onyx are determined by the access level set for each connector.\\n\\nConnector Access Types:\\n\\n1. Public\\n- Any user can access the documents in the connector\\n\\n2. Private\\n- \", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30542}, {\"document_id\": \"https://docs.onyx.app/quickstart\", \"chunk_ind\": 0, \"semantic_identifier\": \"Quickstart - Onyx Documentation\", \"link\": \"https://docs.onyx.app/quickstart\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nQuickstart\\nWelcome to Onyx\\nQuickstart\\nHow to deploy Onyx on your local machine\\n\\nRequirements\\n- git\\n- Docker with compose (docker version >= 1.13.0)\\n- System requirements found here\\n\\nSetup\\nThe most common source of issues is under-resourcing. Before beginning, check the system requirements here .\\n- Clone the Onyx repo:\\ngit clone https://github.com/onyx-dot-app/onyx.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7341314663765106, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nQuickstart\\nWelcome to Onyx\\nQuickstart\\nHow to deploy Onyx on your local machine\\n\\nRequirements\\n- git\\n- Docker with compose (docker version >= 1.13.0)\\n- System requirements found here\\n\\nSetup\\nThe most common source of issues is under-resourcing\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30543}, {\"document_id\": \"https://docs.onyx.app/connectors/egnyte\", \"chunk_ind\": 0, \"semantic_identifier\": \"Egnyte Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/egnyte\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nEgnyte Connector\\nConnectors\\nEgnyte Connector\\nAccess files stored in Egnyte\\n\\nHow it works\\nThe Egnyte connector pulls in files stored in Egnyte. The Egnyte connector indexes the file name, file type, and contents of the file.\\nNew files are pulled every 10 minutes.\\n\\nSetup\\n\\nConfigure your Egnyte Application + Onyx env variables\\nThis is only necessary if self-hosting Onyx. If using Onyx Cloud , you can skip this step.\\n- Create an Egnyte Application.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7323573584427756, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nEgnyte Connector\\nConnectors\\nEgnyte Connector\\nAccess files stored in \", \"connector indexes the file name, file type, and contents of the file.\\nNew files are pulled every 10 minutes.\\n\\nSetup\\n\\nConfigure your Egnyte Application + Onyx env variables\\nThis is only necessary if self-hosting Onyx. If using Onyxonyx\\nNavigate to the onyx/deployment/kubernetes directory in the repository that you have cloned down\\nAfterwards, you can run the installation of the yaml files\\nkubectl apply -f . -n onyx\\n\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30545}, {\"document_id\": \"https://docs.onyx.app/connectors/overview\", \"chunk_ind\": 0, \"semantic_identifier\": \"Connector Overview - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nConnector Overview\\nConnectors\\nConnector Overview\\nBasic Information about Connectors\\n\\nWhat are Connectors\\nConnectors hook up Onyx to your data sources so that answers are grounded in your organizations knowledge.\\n\\nConnectors help you\\n- Choose Sources so you can include only the data you want indexed.\\n- Configure Access so Onyx can securely access data with your permission.\\n- Set Up Fetching options to keep Onyxs answers up to date.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7237228380122576, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nConnector Overview\\nConnectors\\nConnector Overview\\nBasic Information about Connectors\\n\\nWhat are Connectors\\nConnectors hook up Onyx to your data sources so that answers are grounded in your organizations knowledge.\\n\\nConnectors help you\\n- Choose Sources so you can include only the data you want indexed.\\n- Configure\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30546}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/operations\", \"chunk_ind\": 0, \"semantic_identifier\": \"Operations - Onyx Documentation\", \"link\": \"https://docs.onyx.app/more/use_cases/operations\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nOperations\\nUse Cases\\nOperations\\nDouble the productivity of your Ops teams like IT, HR, etc.\\n\\nAutomatically Resolve Tickets\\nModern teams are leveraging AI to auto-resolve up to 50% of tickets. Whether it is an employee asking about benefits details or how to set up the VPN for remote work, Onyx can help your team help themselves. This frees up your team to do the real impactful work of landing star candidates or improving your internal processes.\\n\\nAI Aided Onboarding\\nOne of the periods where your team needs the most help is when theyre just ramping up.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7194963154966589, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nOperations\\nUse Cases\\nOperations\\nDouble the productivity of your Ops teams like IT\", \"Modern teams are leveraging AI to auto-resolve up to 50% of tickets. Whether it is an employee asking about benefits details or how to set up the VPN for remote work, Onyx can help your team help themselves. This frees up your team to do...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30547}, {\"document_id\": \"https://docs.onyx.app/production/aws/ec2\", \"chunk_ind\": 3, \"semantic_identifier\": \"[Recommended] EC2 - Onyx Documentation\", \"link\": \"https://docs.onyx.app/production/aws/ec2\", \"blurb\": \"You can then access Onyx from the IP address from earlier or from the instance Public IPv4 DNS provided on the instances page in the AWS console.\\nVoila, youre all done! \\nAfter waiting a few minutes (you can monitor the progress with docker logs onyx-stack-api_server-1 -f ; once you see a log for INFO: Application startup complete. then everything should be good to go).\\nZulip Connector EKS\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7170098719099552, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"You can then access Onyx from the IP address from earlier or from the instance Public IPv4 DNS provided on the instances page in the AWS console.\\nVoila, youre all done! \\nAfter waiting a few minutes (you can monitor the progress with docker logs onyx-stack-api_server-1 -f ; once you see a log for INFO: Application startup complete. then everything should be good to go).\\nZulip...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30548}, {\"document_id\": \"https://docs.onyx.app/gen_ai_configs/custom_server\", \"chunk_ind\": 0, \"semantic_identifier\": \"Custom Model Server - Onyx Documentation\", \"link\": \"https://docs.onyx.app/gen_ai_configs/custom_server\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nCustom Model Server\\nGen AI Configs\\nCustom Model Server\\nConfigure Onyx to use a Custom Model Server via requests\\nOnyx can also make requests to an arbitrary model server via REST requests. Optionally an access token can be passed in. To customize the request format and handling of the response, it may be necessary to update/rebuild the Onyx containers.\\n\\nExtending Onyx to be compatible with your custom model server\\nTheres a very minimal interface to be implemented which can support any arbitrary LLM Model Server. Simply update the code here and rebuild .\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7131472237237765, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nCustom Model Server\\nGen AI Configs\\nCustom Model Server\\nConfigure Onyx to use a Custom Model Server via requests\\nOnyx can also make requests to an arbitrary model server via REST requests. Optionally an access token can be passed\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30549}, {\"document_id\": \"https://docs.onyx.app/gen_ai_configs/ollama\", \"chunk_ind\": 0, \"semantic_identifier\": \"Ollama - Onyx Documentation\", \"link\": \"https://docs.onyx.app/gen_ai_configs/ollama\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nOllama\\nGen AI Configs\\nOllama\\nConfigure Onyx to use Ollama\\nRefer to Model Configs for how to set the environment variables for your particular deployment.\\nNote : While we support self hosted LLMs, you will get significantly better responses with a more powerful model like GPT-4.\\n\\nWhat is Ollama\\nOllama provides an easy way to host LLMs locally and to provide a REST API for the model.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7105900021677543, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nOllama\\nGen AI Configs\\nOllama\\nConfigure Onyx to use Ollama\", \"ollama\\nOnce you start a model with a command like ollama run llama2 , you can verify that the API works with a curl request:\\ncurl http://localhost:11434/api/generate -d '{ \\\"model\\\": \\\"llama2\\\", \\\"prompt\\\":\\\"Why is the sky blue?\\\" }'\\n\\nSet Onyx to use...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30550}, {\"document_id\": \"https://docs.onyx.app/resourcing\", \"chunk_ind\": 0, \"semantic_identifier\": \"Resourcing - Onyx Documentation\", \"link\": \"https://docs.onyx.app/resourcing\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nResourcing\\nWelcome to Onyx\\nResourcing\\nRecommended CPU / RAM / Disk to run Onyx\\n\\nRunning Locally\\nWhen running locally through Docker, we recommend making at least 4vCPU cores and 10GB of RAM available to Docker (16GB is preferred). This can be controlled in the Resources section of the Docker Desktop settings menu.\\n\\nSingle Cloud Instance\\nWe generally recommend setting everything up on a single instance (e.g. an AWS EC2 instance, a Google Compute Engine instance, an Azure VM, etc.)\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7081558528158947, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nResourcing\\nWelcome to Onyx\\nResourcing\\nRecommended CPU / RAM / Disk to run Onyx\\n\\nRunning Locally\\nWhen running locally through Docker, we recommend making at least 4vCPU cores and 10GB of RAM available to Docker (16GB is preferred). This\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30551}, {\"document_id\": \"https://docs.onyx.app/backend_apis/ingestion\", \"chunk_ind\": 1, \"semantic_identifier\": \"Ingestion API - Onyx Documentation\", \"link\": \"https://docs.onyx.app/backend_apis/ingestion\", \"blurb\": \"\\\", \\\"link\\\": \\\"https://docs.onyx.app/introduction#main-features\\\" } ], \\\"source\\\": \\\"web\\\", \\\"semantic_identifier\\\": \\\"Onyx Ingestion Example\\\", \\\"metadata\\\": { \\\"tag\\\": \\\"informational\\\", \\\"topics\\\": [\\\"onyx\\\", \\\"api\\\"] }, \\\"doc_updated_at\\\": \\\"2024-04-25T08:20:00Z\\\" },\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7062045350428341, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\\\", \\\"link\\\": \\\"https://docs.onyx.app/introduction#main-features\\\" } ], \\\"source\\\": \\\"web\\\", \\\"semantic_identifier\\\": \\\"Onyx Ingestion Example\\\", \\\"metadata\\\": { \\\"tag\\\": \\\"informational\\\", \\\"topics\\\": [\\\"onyx\\\", \\\"api\\\"] }, \\\"doc_updated_at\\\": \\\"2024-04\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30552}, {\"document_id\": \"https://docs.onyx.app/production/digitalocean\", \"chunk_ind\": 3, \"semantic_identifier\": \"Deploy on Digital Ocean - Onyx Documentation\", \"link\": \"https://docs.onyx.app/production/digitalocean\", \"blurb\": \"You can then access Onyx from the IP address from earlier or from the instance Public IPv4 DNS provided on the instances page in the DigitalOcean console.\\nVoila, youre all done! \\nAfter waiting a few minutes (you can monitor the progress with docker logs onyx-stack-api_server-1 -f ; once you see a log for INFO: Application startup complete. then everything should be good to go).\\nDeploy on Azure Basic Auth Setup\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7061140052229158, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"You can then access Onyx from the IP address from earlier or from the instance Public IPv4 DNS provided on the instances page in the DigitalOcean console.\\nVoila, youre all done! \\nAfter waiting\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30553}, {\"document_id\": \"https://docs.onyx.app/gen_ai_configs/vertex_ai\", \"chunk_ind\": 0, \"semantic_identifier\": \"Vertex AI - Onyx Documentation\", \"link\": \"https://docs.onyx.app/gen_ai_configs/vertex_ai\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nVertex AI\\nGen AI Configs\\nVertex AI\\nConfigure Onyx to use Vertex AI\\nThere are currently two supported approaches to use Vertex AI with Onyx:\\n- Use the gcloud CLI to authenticate\\n- Set up a service account, and use the service account to authenticate\\n\\nUse the gcloud CLI to authenticate\\n- Install the gcloud CLI\\n- Authenticate with the gcloud CLI using gcloud auth application-default login on the machine that Onyx is running on.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7015017816489936, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nVertex AI\\nGen AI Configs\\nVertex AI\\nConfigure Onyx to use Vertex AI\\nThere are currently two supported approaches to use Vertex AI with Onyx:\\n- Use the gcloud CLI to authenticate\\n- Set up a service\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30554}, {\"document_id\": \"https://docs.onyx.app/guides/assistants\", \"chunk_ind\": 0, \"semantic_identifier\": \"Creating Assistants - Onyx Documentation\", \"link\": \"https://docs.onyx.app/guides/assistants\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGuides\\nCreating Assistants\\nGuides\\nCreating Assistants\\nA comprehensive guide to creating and configuring AI assistants in Onyx\\n\\nIntroduction\\nOnyx empowers you to create custom AI assistants tailored to your specific needs. These assistants can be configured to handle a wide range of tasks, from answering HR queries to assisting with technical support. This guide will walk you through the process of creating an effective assistant using Onyxs platform.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6999761108375886, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nGuides\\nCreating Assistants\\nGuides\\nCreating Assistants\\nA comprehensive guide to creating and configuring AI assistants in Onyx\\n\\nIntroduction\\nOnyx empowers you to create custom AI assistants tailored to your specific needs. These assistants can be configured to handle a wide range of tasks\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30555}, {\"document_id\": \"https://docs.onyx.app/connectors/productboard\", \"chunk_ind\": 0, \"semantic_identifier\": \"Productboard Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/productboard\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nProductboard Connector\\nConnectors\\nProductboard Connector\\nSync knowledge from Productboard\\n\\nHow it works\\nThe Productboard connector pulls in all the Features , Components , Products , and Objectives into Onyx. At this time, the Productboard APIs does not support pulling in Releases or Notes .\\nEverything is updated every 10 minutes.\\n\\nSetting up\\n\\nAuthorization\\n- Follow the Getting a token guide here to get an Access Token.\\n\\nIndexing\\n- Navigate to the Admin Dashboard and select the Productboard Connector\\n- In Step 1 , provide your Access Token\\n- Click Connect to begin indexing\\nOracle Storage Connector R2 Connector\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6998925263857255, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nProductboard Connector\\nConnectors\\nProductboard Connector\\nSync knowledge from Productboard\\n\\nHow it works\\nThe Productboard connector pulls in all the Features , Components , Products , and Objectives into Onyx. At this time, the Productboard APIs does not support pulling in Releases or Notes .\\nEverything is updated every...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30556}, {\"document_id\": \"https://docs.onyx.app/gen_ai_configs/anthropic\", \"chunk_ind\": 0, \"semantic_identifier\": \"Anthropic - Onyx Documentation\", \"link\": \"https://docs.onyx.app/gen_ai_configs/anthropic\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nAnthropic\\nGen AI Configs\\nAnthropic\\nConfigure Onyx to use different Anthropic models\\nAnthropic is quite straightforward. Grab an API key from the developer platform, then put it into the API Key field and youll be good to go!\\nOpenAI Azure OpenAI\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6987926966856515, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nAnthropic\\nGen AI Configs\\nAnthropic\\nConfigure Onyx to use different Anthropic models\\nAnthropic is quite straightforward. Grab an API key from the developer platform, then put it into the API Key field and youll be good to go!\\nOpenAI Azure OpenAI\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30557}, {\"document_id\": \"https://docs.onyx.app/guides/providers\", \"chunk_ind\": 0, \"semantic_identifier\": \"LLM Providers - Onyx Documentation\", \"link\": \"https://docs.onyx.app/guides/providers\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGuides\\nLLM Providers\\nGuides\\nLLM Providers\\nA comprehensive guide to selecting and using LLM providers in Onyx\\n\\nOnyxs Approach to LLM Providers\\nOnyx is designed to be model-agnostic, offering you the flexibility to choose the Language Model (LLM) that best suits your needs. This approach ensures that youre not locked into a single provider and can leverage the strengths of different models for various tasks.\\n\\nModel Overview\\nOnyx offers integration with several popular LLM providers, with a focus on models from OpenAI and Anthropic.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6977713320728969, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nGuides\\nLLM Providers\\nGuides\\nLLM Providers\\nA comprehensive guide to selecting and using LLM providers in Onyx\\n\\nOnyxs Approach to LLM Providers\\nOnyx is designed to be model-agnostic, offering you the flexibility to choose the Language Model (LLM) that best suits\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30558}, {\"document_id\": \"https://docs.onyx.app/tools/custom\", \"chunk_ind\": 2, \"semantic_identifier\": \"Custom Tools - Onyx Documentation\", \"link\": \"https://docs.onyx.app/tools/custom\", \"blurb\": \"\\\"prompt_ids\\\", \\\"document_set_ids\\\", \\\"tool_ids\\\" ] } } } } } } } }\\nTools Overview Ingestion API\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6918138454355073, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\\\"prompt_ids\\\", \\\"document_set_ids\\\", \\\"tool_ids\\\" ] } } } } } } } }\\nTools Overview Ingestion API\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30559}, {\"document_id\": \"https://docs.onyx.app/connectors/s3\", \"chunk_ind\": 1, \"semantic_identifier\": \"S3 Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/s3\", \"blurb\": \"Request Tracker Connector Salesforce Connector\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.691499655096311, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Request Tracker Connector Salesforce Connector\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30560}, {\"document_id\": \"https://docs.onyx.app/guides/embedding_providers\", \"chunk_ind\": 0, \"semantic_identifier\": \"Embedding Models - Onyx Documentation\", \"link\": \"https://docs.onyx.app/guides/embedding_providers\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGuides\\nEmbedding Models\\nGuides\\nEmbedding Models\\nA comprehensive guide to selecting and using embedding models in your application\\n\\nOverview of Embedding Models\\nOur application supports integration with several popular embedding model providers, offering you flexibility in choosing the model that best suits your needs. Heres an overview of the available models:\\n\\nOpenAI Models\\n\\ntext-embedding-3-small\\nOpenAIs newer, more efficient embedding model. Good balance of performance and efficiency.\\n\\ntext-embedding-3-large\\nOpenAIs large embedding model.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6890457414334147, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nGuides\\nEmbedding Models\\nGuides\\nEmbedding Models\\nA comprehensive guide to selecting and using embedding\", \"Credentials Setup\\nTo use OpenAI models:\\n- Sign up for an account at OpenAIs website .\\n- Follow their docs to get an API key.\\n- Use your OpenAI key in Onyx\\n\\nCohere Models\\n\\nembed-english-v3.0\\nCoheres English embedding model. Good...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30561}, {\"document_id\": \"https://docs.onyx.app/production/gcp\", \"chunk_ind\": 2, \"semantic_identifier\": \"Deploy on GCP - Onyx Documentation\", \"link\": \"https://docs.onyx.app/production/gcp\", \"blurb\": \"First, lets clone the repo:\\ngit clone https://github.com/onyx-dot-app/onyx.git\\nNext, lets set the necessary env variables:\\ncd onyx/deployment/docker_compose touch .env touch .env.nginx\\nIn the .env file, you can copy past the following (filling in the missing fields as needed):\\nWEB_DOMAIN= # something like \\\"onyx.app\\\" # if your email is something like \\\"chris@onyx.app\\\",\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6882157069001617, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"First, lets clone the repo:\\ngit clone https://github.com/onyx-dot-app/onyx.git\\nNext, lets set the necessary env variables:\\ncd onyx/deployment/docker_compose touch .env\", \"PASSWORD=password\\nIn the .env.nginx file, put the following:\\nDOMAIN= # something like \\\"onyx.app\\\"\\nNext, lets get our SSL certificate from letsencrypt . To do this, we can simply...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30562}, {\"document_id\": \"https://docs.onyx.app/connectors/linear\", \"chunk_ind\": 0, \"semantic_identifier\": \"Linear Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/linear\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nLinear Connector\\nConnectors\\nLinear Connector\\nAccess the latest tickets from Linear\\n\\nHow it works\\nThe Linear connector pulls in all the Linear issues and the associated comments.\\nIssues are updated every 10 minutes.\\n\\nSetting up\\n\\nAuthorization\\n- Grab an API key as shown below.\\n\\nIndexing\\n- Navigate to the Admin Dashboard and select the Linear Connector\\n- In Step 1 , provide the API Key from above.\\n- Click Connect to begin indexing\\nJira Connector Notion Connector\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6853491039362575, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nLinear Connector\\nConnectors\\nLinear Connector\\nAccess the latest tickets from\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30563}, {\"document_id\": \"https://docs.onyx.app/enterprise_edition/theming\", \"chunk_ind\": 0, \"semantic_identifier\": \"Theming - Onyx Documentation\", \"link\": \"https://docs.onyx.app/enterprise_edition/theming\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nTheming\\nEnterprise\\nTheming\\nCustomize the look of Onyx\\nAs part of the Enterprise Edition, we provide the ability to easily customize the look of Onyx. This comes in two forms:\\n- Adding in your own custom application name / logo.\\n- Customizing every color in the UI.\\n\\nCustomizing the Application Name / Logo\\nTo provide your own application name / logo, you can use the Whitelabelling tab in the admin panel. Here, we provide a way to input a name of your choice, as well as an optional logo.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6844363519824759, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nTheming\\nEnterprise\\nTheming\\nCustomize the look of Onyx\\nAs part of the Enterprise Edition, we provide the ability to easily customize the look of Onyx. This comes in two forms:\\n- Adding in your own custom application name / logo.\\n- Customizing every color in the UI.\\n\\nCustomizing the Application Name / Logo\\nTo\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30564}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/enterprise_search\", \"chunk_ind\": 0, \"semantic_identifier\": \"Enterprise Search - Onyx Documentation\", \"link\": \"https://docs.onyx.app/more/use_cases/enterprise_search\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nEnterprise Search\\nUse Cases\\nEnterprise Search\\nValue of Enterprise Search with Onyx\\n\\nWhat is Enterprise Search and why is it Important?\\nAn Enterprise Search system gives team members a single place to access all of the disparate knowledge of an organization. Critical information is saved across a host of channels like call transcripts with prospects, engineering design docs, IT runbooks, customer support email exchanges, project management tickets, and more. As fast moving teams scale up, information gets spread out and more disorganized.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6798998963806695, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nEnterprise Search\\nUse Cases\\nEnterprise Search\\nValue of Enterprise Search with Onyx\\n\\nWhat is Enterprise Search and why is it Important?\\nAn Enterprise Search system gives team members a single place to access all of the disparate knowledge of an organization\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30565}, {\"document_id\": \"https://docs.onyx.app/gen_ai_configs/open_ai\", \"chunk_ind\": 0, \"semantic_identifier\": \"OpenAI - Onyx Documentation\", \"link\": \"https://docs.onyx.app/gen_ai_configs/open_ai\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nOpenAI\\nGen AI Configs\\nOpenAI\\nConfigure Onyx to use different OpenAI models\\nOpenAI is quite straightforward. Grab an API key from the developer platform, then put it into the API Key field and youll be good to go!\\nGenAI Overview Anthropic\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6781155849075506, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nOpenAI\\nGen AI Configs\\nOpenAI\\nConfigure Onyx to use different OpenAI models\\nOpenAI is quite straightforward. Grab an API key from the developer platform, then put it into the API Key field and youll be good to go!\\nGenAI Overview Anthropic\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30566}, {\"document_id\": \"https://docs.onyx.app/connectors/file\", \"chunk_ind\": 0, \"semantic_identifier\": \"File Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/file\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nFile Connector\\nConnectors\\nFile Connector\\nAccess knowledge from Local Files\\n\\nHow it works\\nThe File Connector indexes user uploaded files. Currently supports .txt , .pdf , .docx , .pptx , .xlsx , .csv , .md , .mdx , .conf , .log , .json , .tsv , .xml , .yml , .yaml , .eml , and .epub files.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6764217801670184, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nFile Connector\\nConnectors\\nFile Connector\\nAccess knowledge from Local Files\\n\\nHow\", \"there are other file types in the zip, the other file types are ignored. There is also an optional metadata line that supports links, document owners, and time updated as metadata for Onyxs retrieval and AI Answer.\\n\\nAdding Metadata\\nThe...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30567}, {\"document_id\": \"https://docs.onyx.app/gen_ai_configs/huggingface\", \"chunk_ind\": 0, \"semantic_identifier\": \"HuggingFace Inference API - Onyx Documentation\", \"link\": \"https://docs.onyx.app/gen_ai_configs/huggingface\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nHuggingFace Inference API\\nGen AI Configs\\nHuggingFace Inference API\\nConfigure Onyx to use HuggingFace APIs\\nRefer to Model Configs for how to set the environment variables for your particular deployment.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6744526525404878, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nHuggingFace Inference API\\nGen AI Configs\\nHuggingFace Inference API\\nConfigure Onyx to use HuggingFace APIs\\nRefer to Model Configs for how to set the environment variables for your particular deployment.\\nTo use the HuggingFace Inference\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30568}, {\"document_id\": \"https://docs.onyx.app/connectors/discourse\", \"chunk_ind\": 0, \"semantic_identifier\": \"Discourse Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/discourse\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nDiscourse Connector\\nConnectors\\nDiscourse Connector\\nAccess knowledge from your Discourse Topics\\n\\nHow it works\\nThe Discourse connector indexes documents from your Discourse Topics .\\n\\nSetting up\\n\\nAuthorization\\n- Log into your Discourse account\\nThis Discourse user must have admin priveleges\\n- Click the Admin menu from the home page.\\n- Open the Advanced sub-menu and select API keys .\\n- Click New API Key , name it Onyx. Select All Users for User Level and Read-only for Scope .\\n- Click Save . Copy the key and put it into Onyx.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6734756225628372, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nDiscourse Connector\\nConnectors\\nDiscourse Connector\\nAccess knowledge from your Discourse\", \"user must have admin priveleges\\n- Click the Admin menu from the home page.\\n- Open the Advanced sub-menu and select API keys .\\n- Click New API Key , name it Onyx. Select All Users for User Level and Read-only for Scope .\\n- Click Save...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30569}], \"rephrased_query\": \"what is onyx I, II, III, and IV?\", \"predicted_flow\": \"question-answer\", \"predicted_search\": \"semantic\", \"applied_source_filters\": null, \"applied_time_cutoff\": null, \"recency_bias_multiplier\": 0.5}\n" -"{\"llm_selected_doc_indices\": []}\n" -"{\"final_context_docs\": [{\"document_id\": \"https://docs.onyx.app/introduction\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into any LLM of your choice. Onyx can be deployed anywhere and for any scale - on a laptop, on-premise, or to cloud. Since you own the deployment, your user data and chats are fully in your own control. Onyx is MIT licensed and designed to be modular and easily extensible. The system also comes fully ready for production usage with user authentication, role management (admin/basic users), chat persistence, and a UI for configuring Personas (AI Assistants) and their Prompts.\\nOnyx also serves as a Unified Search across all common workplace tools such as Slack, Google Drive, Confluence, etc. By combining LLMs and team specific knowledge, Onyx becomes a subject matter expert for the team. Its like ChatGPT if it had access to your teams unique knowledge! It enables questions such as A customer wants feature X, is this already supported? or Wheres the pull request for feature Y?\\nOnyx can also be plugged into existing tools like Slack to get answers and AI chats directly in Slack.\\n\\nDemo\\n\\nMain Features \\n- Chat UI with the ability to select documents to chat with.\\n- Create custom AI Assistants with different prompts and backing knowledge sets.\\n- Connect Onyx with LLM of your choice (self-host for a fully airgapped solution).\\n- Document Search + AI Answers for natural language queries.\\n- Connectors to all common workplace tools like Google Drive, Confluence, Slack, etc.\\n- Slack integration to get answers and search results directly in Slack.\\n\\nUpcoming\\n- Chat/Prompt sharing with specific teammates and user groups.\\n- Multi-modal model support, chat with images, video etc.\\n- Choosing between LLMs and parameters during chat session.\\n- Tool calling and agent configurations options.\\n- Organizational understanding and ability to locate and suggest experts from your team.\\n\\nOther Noteable Benefits of Onyx\\n- User Authentication with document level access management.\\n- Best in class Hybrid Search across all sources (BM-25 + prefix aware embedding models).\\n- Admin Dashboard to configure connectors, document-sets, access, etc.\\n- Custom deep learning models + learn from user feedback.\\n- Easy deployment and ability to host Onyx anywhere of your choosing.\\nQuickstart\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into any LLM of your choice. Onyx can be deployed anywhere and for any scale - on a laptop, on-premise, or to cloud. Since you own the deployment, your user data and chats are fully in your own control. Onyx is MIT licensed and designed to be modular and easily extensible.\", \"semantic_identifier\": \"Introduction - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/introduction\", \"source_links\": {\"0\": \"https://docs.onyx.app/introduction\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into\", \"\"]}, {\"document_id\": \"https://www.onyx.app/\", \"content\": \"Help your \\u00b0\\nEng\\nSupport\\nSales\\nProduct\\nOps team\\nfind information faster\\nThe open source AI connected to your company's docs, apps, and people Book a demo\\nYour browser does not support the video tag.\\nAI Workplace Search\\nFind answers across all your teams' applications\\nYour browser does not support the video tag.\\nAI Assistant\\nCreate AI Assistants powered by your org's unique knowledge, available right where you work\\nYour browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\\nOnyx connects to all your apps\\nWorks out of the box, syncs in real time, with document level access.\\n40+ integrations available, with more being built every day.\\nBuilt for\\nEnterprise\\nIt's been great to partner and work with the Onyx team ... it's an easy to set up, intuitive product that finds natural product market fit by meeting your team where they're already collaborating.\\nTony Rios\\nDirector, Product Ops at Ramp\\nData\\nSecurity\\nRun Onyx fully air gapped in your VPC or even on-premise.\\nNo data needs to ever leave your deployment.\\nAdvanced\\nPermission\\nDocument level permissions automatically inherited from connected sources.\\nEasily create advanced access rules directly within Onyx.\\nMost\\nExtensible\\nModular, open-source, and easy to customize.\\nPlug in custom tools, processing modules, and UI elements to make Onyx work the way you need it to.\\nModel\\nAgnostic\\nChoose any model provider, or plug in your own self-hosted LLM.\\nPick the model that works for your use case, swap them at will. Control is yours.\\nInternal Search\\nThe average worker spends 9.3 hours a week looking for information. Unblock your team with GenAI.\\nCustomer Support\\nInstantly answer questions across your entire product.\\nDevelopers\\nEmpower your devs to ship with speed and confidence.\\nSales\\nClose deals faster with instant access to every customer conversation and prodpuct update.\\nWe use cookies to enhance your experience and analyze our site usage. Do you accept?\\nAccept Reject\", \"blurb\": \"Help your \\u00b0\\nEng\\nSupport\\nSales\\nProduct\\nOps team\\nfind information faster\\nThe open source AI connected to your company's docs, apps, and people Book a demo\\nYour browser does not support the video tag.\\nAI Workplace Search\\nFind answers across all your teams' applications\\nYour browser does not support the video tag.\\nAI Assistant\\nCreate AI Assistants powered by your org's unique knowledge, available right where you work\\nYour browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\", \"semantic_identifier\": \"Onyx\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://www.onyx.app/\", \"source_links\": {\"0\": \"https://www.onyx.app/\"}, \"match_highlights\": [\"\", \" browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\\nOnyx connects to all your apps\\nWorks out of the box, syncs in real time, with document level access.\\n40+ integrations available, with more being built every day.\\nBuilt for\\nEnterprise\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/system_overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking to customize the system or become an open source contributors, this is a great place to start.\\n\\nSystem Architecture\\nWhether deploying Onyx on a single instance or a container orchestration platform, the flow of data is the same. Documents are pulled and processed via connectors and then persisted in Vespa/Postgres which run in containers within your system.\\nThe only time sensitive data leaves your Onyx setup is when it makes a call to an LLM to generate an answer. The communications to the LLM are encrypted. The data persistence at the LLM API depends on the terms of the LLM hosting service you are using.\\nWe also note that Onyx has some very limited and anonymous telemetry to help us improve the system by identifying bottlenecks and flaky data connectors. You can turn off the telemetry with by setting the DISABLE_TELEMETRY env variable to True.\\n\\nEmbedding Flow\\nEach document is split into smaller sections called Chunks.\\nBy passing chunks to the LLM instead of full documents, we are able to reduce noise to the model by only passing in the relevant sections of the document. Additionally this is significantly more cost efficient as LLM services generally charge per token. Finally by embedding chunks rather than full documents, we are able to retain more detail as each vector embedding is only capable of encoding a limited amount of information.\\nThe addition of mini-chunks takes this concept even further. By embedding at different sizes, Onyx can retrieve both high level context and details. Mini-chunks can also be turned on/off via environment variables as generating multiple vectors per chunk can slow down document indexing if deployed on less capable hardware.\\nIn choosing our embedding model, we use the latest state-of-the-art biencoder that is small enough to run on CPU while maintaining subsecond document retrieval times.\\n\\nQuery Flow\\nThis flow is often updated as were constantly striving to push the capabilities of the retrieval pipeline with the most recent advancements coming out of research and the opensource community.\\nAlso note that many of the parameters of this flow such as how much documents to retrieve, how many to rerank, what models to use, which chunks are passed to the LLM, etc. are all configurable.\\nIf there are any questions, dont hesitate to reach out to the maintainers!\\nMultilingual Setup Contact Us\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking to customize the system or become an open source contributors, this is a great place to start.\\n\\nSystem Architecture\\nWhether deploying Onyx on a single instance or a container orchestration platform, the flow of data is the same.\", \"semantic_identifier\": \"System Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/system_overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/system_overview\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking...\"]}, {\"document_id\": \"https://docs.onyx.app/tools/overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform actions (e.g. write to a database, send an email, etc.)\\n- Generate content (e.g. generate an Image, create a plot, etc.)\\nBy default, we have a three tools built-in to Onyx. These are:\\n-\\nSearchTool . This is the core of Onyx. Adding this tool to an Assistant allows it to search over the knowledge youve connected up to Onyx through Connectors . This is the only tool available to the default Onyx assistant.\\n-\\nImageGenerationTool . This leverages DALLE-3 to generate images.\\n-\\nInternetSearchTool . This uses Bing to search the internet. To enable this as an option, set the BING_API_KEY environment variable.\\nEmbedding Models Custom Tools\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform actions (e.g. write to a database, send an email, etc.)\\n- Generate content (e.g. generate an Image, create a plot, etc.)\\nBy default, we have a three tools built-in to Onyx.\", \"semantic_identifier\": \"Tools Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/tools/overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/tools/overview\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/configuration_guide\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nConfiguring Onyx\\nWelcome to Onyx\\nConfiguring Onyx\\nHow to customize your deployment environment.\\n\\nCommon Environment Variables\\nAll of the global configuration options that are not built into the UI are set via environment variables. This page contains an exhaustive list of all the options.\\nThere are defaults set in the code so changing/settings these values is not required to use Onyx. A few notable settings that are more frequently changed however are the following:\\n- AUTH_TYPE (default value is disabled )\\n- MULTILINGUAL_QUERY_EXPANSION (you can provide a comma separated list of languages for query rephrasing such as English,French )\\n- LOG_LEVEL (default is info )\\n- WEB_DOMAIN (your full url in production, including the protocol- e.g. https://www.onyx.app )\\n\\nDocker Compose\\nThere are several ways to configure environment variables for the containers. For Docker Compose, there are many ways to pass environment variables to the container, any of the standard approaches will work. However the preferred approach for Onyx is to use the .env file. To do this, create a file called .env at onyx/deployment/docker_compose/.env . From there, populate it with the values you want to override:\\n# Configures basic email/password based login AUTH_TYPE=\\\"basic\\\" # Rephrasing the query into different languages to improve search recall MULTILINGUAL_QUERY_EXPANSION=\\\"English,Spanish,German\\\" # Set a cheaper/faster LLM for the flows that are easier (such as translating the query etc.) FAST_GEN_AI_MODEL_VERSION=\\\"gpt-3.5-turbo\\\" # Setting more verbose logging LOG_LEVEL=\\\"debug\\\" LOG_ALL_MODEL_INTERACTIONS=\\\"true\\\"\\n\\nKubernetes\\nFor Kubernetes, the deployment yaml files includes an Environment ConfigMap. Simply update the values in the file here .\\n\\nAll Environment Variables\\nThis is an extensive list of the currently supported environment variables within Onyx. There are several classes of environment variables. All of the global configuration options that are not built into the UI are set via environment variables.\\nYou can set these in your .env file.\\n\\nAuth Settings\\nThese variables control authentication and user management in Onyx.\\nAUTH_TYPE\\nControls the authentication method used by Onyx.\\ndisabled : No authentication is required.\\ngoogle_oauth : Users can log in using their Google accounts.\\nbasic : Standard username/password authentication.\\noidc : OpenID Connect, available in the enterprise edition.\\nsaml : Security Assertion Markup Language, available in the enterprise edition.\\n\\nSESSION_EXPIRE_TIME_SECONDS\\nDefines the duration of a users session in seconds. Default is 24 hours.\\n\\nENCRYPTION_KEY_SECRET\\nA strong, unique string used for encryption purposes. Keep this value secret.\\n\\nVALID_EMAIL_DOMAINS\\nComma-separated list of allowed email domains for authentication. Leave empty to allow all domains.\\n\\nGOOGLE_OAUTH_CLIENT_ID\\nClient ID for Google OAuth authentication, obtained from Google Cloud Console .\\n\\nGOOGLE_OAUTH_CLIENT_SECRET\\nClient Secret for Google OAuth authentication, obtained from Google Cloud Console . Keep this value secret.\\n\\nREQUIRE_EMAIL_VERIFICATION\\nWhen set to true , users must verify their email before accessing Onyx.\\n\\nSMTP_SERVER\\nHostname of the SMTP server for sending verification emails. Default is smtp.gmail.com .\\n\\nSMTP_PORT\\nPort used for SMTP communication. Common values are 587 (TLS) or 465 (SSL).\\n\\nSMTP_USER\\nUsername for SMTP authentication, often an email address used to send verification emails.\\n\\nSMTP_PASS\\nPassword for SMTP authentication. Keep this value secret.\\n\\nEMAIL_FROM\\nEmail address used as the sender for verification emails.\\n\\nNEXT_PUBLIC_FORGOT_PASSWORD_ENABLED\\nSet to true to enable the forgot password feature. Only enable this if you have configured the above SMTP settings (For email functionality).\\n\\nGen AI Settings\\nThese variables configure the generative AI capabilities of Onyx. These are covered in more depth at the generative AI configs .\\n\\nGEN_AI_MODEL_PROVIDER\\nSpecifies the provider of the generative AI model (e.g., openai , anthropic , huggingface ).\\n\\nGEN_AI_MODEL_VERSION\\nDefines the version of the generative AI model to use (e.g., gpt-4 for OpenAI).\\n\\nFAST_GEN_AI_MODEL_VERSION\\nSpecifies a faster (usually smaller) model version for certain tasks.\\n\\nGEN_AI_API_KEY\\nAPI key for accessing the generative AI service. Keep this value secret.\\n\\n...\\n\\nPOSTGRES_HOST\\nHostname or IP address of the Postgres server. Default is relational_db .\\n\\nVESPA_HOST\\nHostname or IP address of the Vespa server. Default is index .\\n\\nWEB_DOMAIN\\nFully qualified domain name used for the Onyx web interface. (e.g. https://www.onyx.com )\\n\\nNLP Model Configurations\\nAdvanced settings for NLP models. Modify with caution.\\n\\nINDEX_BATCH_SIZE\\nSize of batch used when indexing documents. Overrides the default batch size for indexing operations.\\n\\nEMBEDDING_BATCH_SIZE\\nSize of batch used when embedding documents during indexing and search operations. Overrides the default batch size for embedding processes.\\n\\nDOCUMENT_ENCODER_MODEL\\nName or path of the encoder model used for document encoding.\\n\\nDOC_EMBEDDING_DIM\\nDimension of document embeddings, typically matching the chosen encoder models output dimension.\\n\\nNORMALIZE_EMBEDDINGS\\nSet to true to enable normalization of embeddings.\\n\\nASYM_QUERY_PREFIX\\nText prepended to queries in asymmetric semantic search.\\n\\nENABLE_RERANKING_REAL_TIME_FLOW\\nSet to true to enable reranking in real-time search flow.\\n\\nENABLE_RERANKING_ASYNC_FLOW\\nSet to true to enable reranking in asynchronous search flow.\\n\\nMODEL_SERVER_HOST\\nHostname or IP address of the model server. Default is inference_model_server .\\n\\nMODEL_SERVER_PORT\\nPort on which the model server is listening.\\n\\nMiscellaneous\\n< Various other configuration options.\\n\\nDISABLE_TELEMETRY\\nSet to true to opt out of telemetry. Telemetry helps improve Onyx; no sensitive data is collected.\\n\\nLOG_LEVEL\\nSets the logging verbosity. Possible values: debug , info , warning , error , critical .\\n\\nLOG_ALL_MODEL_INTERACTIONS\\nSet to true to enable logging of all prompts sent to the LLM.\\n\\nLOG_VESPA_TIMING_INFORMATION\\nSet to true to enable additional logging of Vespa query performance.\\n\\nLOG_ENDPOINT_LATENCY\\nSet to true to enable logging of endpoint latency information.\\nCustom Model Server Multilingual Setup\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nConfiguring Onyx\\nWelcome to Onyx\\nConfiguring Onyx\\nHow to customize your deployment environment.\\n\\nCommon Environment Variables\\nAll of the global configuration options that are not built into the UI are set via environment variables. This page contains an exhaustive list of all the options.\\nThere are defaults set in the code so changing/settings these values is not required to use Onyx.\", \"semantic_identifier\": \"Configuring Onyx - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/configuration_guide\", \"source_links\": {\"0\": \"https://docs.onyx.app/configuration_guide\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nConfiguring Onyx\\nWelcome to Onyx\\nConfiguring Onyx\\nHow to customize\", \"variables. This page contains an exhaustive list of all the options.\\nThere are defaults set in the code so changing/settings these values is not required to use Onyx. A few notable settings that are more...\"]}, {\"document_id\": \"https://docs.onyx.app/connectors/notion\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nNotion Connector\\nConnectors\\nNotion Connector\\nAccess knowledge from your Notion workspace\\n\\nHow it works\\nThe Notion connector uses the Notion search API to fetch all pages that the connector has access to within a workspace. For follow up indexing runs, the connector only retrieves pages that have been updated since the last indexing attempt. Indexing is configured to run every 10 minutes , so page updates should appear within 10 minutes.\\n\\nSetting up\\n\\nAuthorization\\nIn order to authorize Onyx to connect to your Notion workspace, youll need to create a new integration in Notion, which will then provide you with a secret token.\\nThese steps are pulled from this Notion guide which you can also follow.\\n\\nStep 1: Create an integration\\n- Visit https://www.notion.com/my-integrations in your browser.\\n- Click the + New integration button.\\n- Name the integration (something like Onyx could work).\\n- Select Read content as the only capability required for Onyx.\\n- Click Submit to create the integration.\\nOn the next page, youll find your Notion integration token, also called an API key. Youll need this token to configure Onyx to index Notion, so make a copy of it.\\nThe integration has been added to the workspace, so any member can share pages and databases with it. Theres no requirement to be an Admin to share information with an integration.\\n\\nStep 2: Share pages/databases with your integration\\nNow that youve created an integration, you need to grant it access to Notion pages/databases. To keep your information secure, integrations dont have access to any pages or databases in the workspace at first. You must share specific pages with an integration in order for Onyx to access those pages.\\nTo share a page/database with your integration:\\n- Go to the page/database in your workspace.\\n- Click the on the top right corner of the page.\\n- Scroll to the bottom of the pop-up and click Add connections.\\n- Search for and select the new integration in the Search for connections... menu.\\n- If youve added a page, all child pages also become accesssible to Onyx. If youve added a database, all rows (and their children) become accessible to Onyx.\\nOnce youve granted access to a page/database, you can start configuring Onyx to index those databases.\\n\\nIndexing\\n- Navigate to the Admin Dashboard and select the Notion connector.\\n- In Step 1 , provide the Integration Token Secret you obtained in the Authorization steps above:\\n- Click the Connect button! Your content will then be pulled into Onyx every 10 minutes.\\nNote - As mentioned, the Notion connector currently indexes everything it has access to. If you want to limit specific content being indexed, simply unshare the database from Notion with the integration.\\nLinear Connector Oracle Storage Connector\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nNotion Connector\\nConnectors\\nNotion Connector\\nAccess knowledge from your Notion workspace\\n\\nHow it works\\nThe Notion connector uses the Notion search API to fetch all pages that the connector has access to within a workspace. For follow up indexing runs, the connector only retrieves pages that have been updated since the last indexing attempt. Indexing is configured to run every 10 minutes , so page updates should appear within 10 minutes.\", \"semantic_identifier\": \"Notion Connector - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/connectors/notion\", \"source_links\": {\"0\": \"https://docs.onyx.app/connectors/notion\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nNotion Connector\\nConnectors\\nNotion Connector\\nAccess knowledge from your Notion workspace\", \"since the last indexing attempt. Indexing is configured to run every 10 minutes , so page updates should appear within 10 minutes.\\n\\nSetting up\\n\\nAuthorization\\nIn order to authorize Onyx to connect to your Notion workspace, youll...\"]}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/ai_platform\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user chat sessions, attaching custom tools, handling LLM reasoning, code execution, data analysis, referencing internal knowledge, and much more.\\nOnyx as a platform is not a no-code agent builder. We are made by developers for developers and this gives your team the full flexibility and power to create agents not constrained by blocks and simple logic paths.\\n\\nFlexibility and Extensibility\\nOnyx is open source and completely whitebox. This not only gives transparency to what happens within the system but also means that your team can directly modify the source code to suit your unique needs.\\nEnterprise Search Customer Support\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user chat sessions, attaching custom tools, handling LLM reasoning, code execution, data analysis, referencing internal knowledge, and much more.\\nOnyx as a platform is not a no-code agent builder.\", \"semantic_identifier\": \"AI Platform - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/more/use_cases/ai_platform\", \"source_links\": {\"0\": \"https://docs.onyx.app/more/use_cases/ai_platform\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user...\"]}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI more versatile for work by enabling new types of questions like What is the most common feature request weve heard from customers this month. Whereas other AI systems have no context of your team and are generally unhelpful with work related questions, Onyx makes it possible to ask these questions in natural language and get back answers in seconds.\\nOnyx can connect to +30 different tools and the use cases are not limited to the ones in the following pages. The highlighted use cases are for inspiration and come from feedback gathered from our users and customers.\\n\\nCommon Getting Started Questions:\\n\\nWhy are these docs connected in my Onyx deployment?\\nAnswer: This is just an example of how connectors work in Onyx. You can connect up your own teams knowledge and you will be able to ask questions unique to your organization. Onyx will keep all of the knowledge up to date and in sync with your connected applications.\\n\\nIs my data being sent anywhere when I connect it up to Onyx?\\nAnswer: No! Onyx is built with data security as our highest priority. We open sourced it so our users can know exactly what is going on with their data. By default all of the document processing happens within Onyx. The only time it is sent outward is for the GenAI call to generate answers.\\n\\nWhere is the feature for auto sync-ing document level access permissions from all connected sources?\\nAnswer: This falls under the Enterprise Edition set of Onyx features built on top of the MIT/community edition. If you are on Onyx Cloud, you have access to them by default. If youre running it yourself, reach out to the Onyx team to receive access.\\nAdvanced Curator Examples Enterprise Search\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI more versatile for work by enabling new types of questions like What is the most common feature request weve heard from customers this month. Whereas other AI systems have no context of your team and are generally unhelpful with work related questions, Onyx makes it possible to ask these questions in natural language and get back answers in seconds.\", \"semantic_identifier\": \"Use Cases Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/more/use_cases/overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/more/use_cases/overview\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/google_oauth_setup\", \"content\": \"To turn the feature on set:\\n- AUTH_TYPE=google_oauth\\n- OAUTH_CLIENT_ID=\\n- OAUTH_CLIENT_SECRET=\\n- If setting up in production, then:\\n- WEB_DOMAIN=\\n\\nNon Containerized\\nSimply set the above environment variables when running the different Onyx processes.\\n- The backend api server uses the 3 environment variables\\n- The frontend hits the api server to determine what user authentication setting is configured and serves the relevant pages.\\n\\nDocker Compose\\nSimply set the 4 environment variables in a file called .env under onyx/deployment/docker_compose .\\n\\nKubernetes\\nKubernetes deployment was designed for production use and assumes that user Auth is a required feature therefore it is on by default. To set up the required values, replace the REPLACE-THIS values in secrets.yaml with thebase64 encoded client ID and client secret from above.\\nBasic Auth Setup OIDC/SAML Setup\", \"blurb\": \"To turn the feature on set:\\n- AUTH_TYPE=google_oauth\\n- OAUTH_CLIENT_ID=\\n- OAUTH_CLIENT_SECRET=\\n- If setting up in production, then:\\n- WEB_DOMAIN=\\n\\nNon Containerized\\nSimply set the above environment variables when running the different Onyx processes.\", \"semantic_identifier\": \"Google OAuth Setup - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/google_oauth_setup\", \"source_links\": {\"0\": \"https://docs.onyx.app/google_oauth_setup\"}, \"match_highlights\": [\"\", \"=\\n- OAUTH_CLIENT_SECRET=\\n- If setting up in production, then:\\n- WEB_DOMAIN=onyx.app>\\n\\nNon Containerized\\nSimply set the above environment variables when running the different Onyx processes.\\n- The backend api server uses the 3 environment variables\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/multilingual_setup\", \"content\": \"onyx documentation home page search... navigation welcome to onyx multilingual setup welcome to onyx multilingual setup how to set up onyx to support languages other than english for the majority of use cases, onyx provides an easy way to configure the system for multilingual use. to skip the details and just go to setup, see the configuration section below. how it works onyx has two main flows that assume english as a default. to use onyx in multilingual or non - english cases, these must be handled. - the vector portion of the hybrid - search / reranking. this selects relevant documents to pass to the large language model as context - the prompts for the large language model to instruct it on how to answer user queries. to address the first point, the english first embedding / reranking models can be swapped out for multilingual models. additionally query expansion is applied to rephrase the user query into the target languages. to address the second point, additional instructions are given to the llm to respect the input language and to respond in the same language as the user query. note : the onyx llm prompts are still in english, just with added instructions if the user configures multilingual settings ( see below ). if all of your documents and queries are in some other language, it will be better to simply translate all of onyxs prompts directly to that target language. you can do so here.\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nMultilingual Setup\\nWelcome to Onyx\\nMultilingual Setup\\nHow to set up Onyx to support languages other than English\\nFor the majority of use cases, Onyx provides an easy way to configure the system for multilingual use. To skip the details and just go to setup, see the Configuration section below.\\n\\nHow it works\\nOnyx has two main flows that assume English as a default. To use Onyx in multilingual or non-english cases, these must be handled.\", \"semantic_identifier\": \"Multilingual Setup - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/multilingual_setup\", \"source_links\": {\"0\": \"https://docs.onyx.app/multilingual_setup\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nMultilingual Setup\\nWelcome to Onyx\\nMultilingual Setup\\nHow to set up Onyx to support languages other than English\\nFor the majority of use cases, Onyx provides an easy way to configure the system for multilingual use. To skip the details and just go to setup\", \"\"]}]}\n" -"{\"tool_name\": \"run_search\", \"tool_args\": {\"query\": \"what is onyx I, II, III, and IV?\"}, \"tool_result\": [{\"document_id\": \"https://docs.onyx.app/introduction\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into any LLM of your choice. Onyx can be deployed anywhere and for any scale - on a laptop, on-premise, or to cloud. Since you own the deployment, your user data and chats are fully in your own control. Onyx is MIT licensed and designed to be modular and easily extensible. The system also comes fully ready for production usage with user authentication, role management (admin/basic users), chat persistence, and a UI for configuring Personas (AI Assistants) and their Prompts.\\nOnyx also serves as a Unified Search across all common workplace tools such as Slack, Google Drive, Confluence, etc. By combining LLMs and team specific knowledge, Onyx becomes a subject matter expert for the team. Its like ChatGPT if it had access to your teams unique knowledge! It enables questions such as A customer wants feature X, is this already supported? or Wheres the pull request for feature Y?\\nOnyx can also be plugged into existing tools like Slack to get answers and AI chats directly in Slack.\\n\\nDemo\\n\\nMain Features \\n- Chat UI with the ability to select documents to chat with.\\n- Create custom AI Assistants with different prompts and backing knowledge sets.\\n- Connect Onyx with LLM of your choice (self-host for a fully airgapped solution).\\n- Document Search + AI Answers for natural language queries.\\n- Connectors to all common workplace tools like Google Drive, Confluence, Slack, etc.\\n- Slack integration to get answers and search results directly in Slack.\\n\\nUpcoming\\n- Chat/Prompt sharing with specific teammates and user groups.\\n- Multi-modal model support, chat with images, video etc.\\n- Choosing between LLMs and parameters during chat session.\\n- Tool calling and agent configurations options.\\n- Organizational understanding and ability to locate and suggest experts from your team.\\n\\nOther Noteable Benefits of Onyx\\n- User Authentication with document level access management.\\n- Best in class Hybrid Search across all sources (BM-25 + prefix aware embedding models).\\n- Admin Dashboard to configure connectors, document-sets, access, etc.\\n- Custom deep learning models + learn from user feedback.\\n- Easy deployment and ability to host Onyx anywhere of your choosing.\\nQuickstart\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into any LLM of your choice. Onyx can be deployed anywhere and for any scale - on a laptop, on-premise, or to cloud. Since you own the deployment, your user data and chats are fully in your own control. Onyx is MIT licensed and designed to be modular and easily extensible.\", \"semantic_identifier\": \"Introduction - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/introduction\", \"source_links\": {\"0\": \"https://docs.onyx.app/introduction\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into\", \"\"]}, {\"document_id\": \"https://www.onyx.app/\", \"content\": \"Help your \\u00b0\\nEng\\nSupport\\nSales\\nProduct\\nOps team\\nfind information faster\\nThe open source AI connected to your company's docs, apps, and people Book a demo\\nYour browser does not support the video tag.\\nAI Workplace Search\\nFind answers across all your teams' applications\\nYour browser does not support the video tag.\\nAI Assistant\\nCreate AI Assistants powered by your org's unique knowledge, available right where you work\\nYour browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\\nOnyx connects to all your apps\\nWorks out of the box, syncs in real time, with document level access.\\n40+ integrations available, with more being built every day.\\nBuilt for\\nEnterprise\\nIt's been great to partner and work with the Onyx team ... it's an easy to set up, intuitive product that finds natural product market fit by meeting your team where they're already collaborating.\\nTony Rios\\nDirector, Product Ops at Ramp\\nData\\nSecurity\\nRun Onyx fully air gapped in your VPC or even on-premise.\\nNo data needs to ever leave your deployment.\\nAdvanced\\nPermission\\nDocument level permissions automatically inherited from connected sources.\\nEasily create advanced access rules directly within Onyx.\\nMost\\nExtensible\\nModular, open-source, and easy to customize.\\nPlug in custom tools, processing modules, and UI elements to make Onyx work the way you need it to.\\nModel\\nAgnostic\\nChoose any model provider, or plug in your own self-hosted LLM.\\nPick the model that works for your use case, swap them at will. Control is yours.\\nInternal Search\\nThe average worker spends 9.3 hours a week looking for information. Unblock your team with GenAI.\\nCustomer Support\\nInstantly answer questions across your entire product.\\nDevelopers\\nEmpower your devs to ship with speed and confidence.\\nSales\\nClose deals faster with instant access to every customer conversation and prodpuct update.\\nWe use cookies to enhance your experience and analyze our site usage. Do you accept?\\nAccept Reject\", \"blurb\": \"Help your \\u00b0\\nEng\\nSupport\\nSales\\nProduct\\nOps team\\nfind information faster\\nThe open source AI connected to your company's docs, apps, and people Book a demo\\nYour browser does not support the video tag.\\nAI Workplace Search\\nFind answers across all your teams' applications\\nYour browser does not support the video tag.\\nAI Assistant\\nCreate AI Assistants powered by your org's unique knowledge, available right where you work\\nYour browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\", \"semantic_identifier\": \"Onyx\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://www.onyx.app/\", \"source_links\": {\"0\": \"https://www.onyx.app/\"}, \"match_highlights\": [\"\", \" browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\\nOnyx connects to all your apps\\nWorks out of the box, syncs in real time, with document level access.\\n40+ integrations available, with more being built every day.\\nBuilt for\\nEnterprise\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/system_overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking to customize the system or become an open source contributors, this is a great place to start.\\n\\nSystem Architecture\\nWhether deploying Onyx on a single instance or a container orchestration platform, the flow of data is the same. Documents are pulled and processed via connectors and then persisted in Vespa/Postgres which run in containers within your system.\\nThe only time sensitive data leaves your Onyx setup is when it makes a call to an LLM to generate an answer. The communications to the LLM are encrypted. The data persistence at the LLM API depends on the terms of the LLM hosting service you are using.\\nWe also note that Onyx has some very limited and anonymous telemetry to help us improve the system by identifying bottlenecks and flaky data connectors. You can turn off the telemetry with by setting the DISABLE_TELEMETRY env variable to True.\\n\\nEmbedding Flow\\nEach document is split into smaller sections called Chunks.\\nBy passing chunks to the LLM instead of full documents, we are able to reduce noise to the model by only passing in the relevant sections of the document. Additionally this is significantly more cost efficient as LLM services generally charge per token. Finally by embedding chunks rather than full documents, we are able to retain more detail as each vector embedding is only capable of encoding a limited amount of information.\\nThe addition of mini-chunks takes this concept even further. By embedding at different sizes, Onyx can retrieve both high level context and details. Mini-chunks can also be turned on/off via environment variables as generating multiple vectors per chunk can slow down document indexing if deployed on less capable hardware.\\nIn choosing our embedding model, we use the latest state-of-the-art biencoder that is small enough to run on CPU while maintaining subsecond document retrieval times.\\n\\nQuery Flow\\nThis flow is often updated as were constantly striving to push the capabilities of the retrieval pipeline with the most recent advancements coming out of research and the opensource community.\\nAlso note that many of the parameters of this flow such as how much documents to retrieve, how many to rerank, what models to use, which chunks are passed to the LLM, etc. are all configurable.\\nIf there are any questions, dont hesitate to reach out to the maintainers!\\nMultilingual Setup Contact Us\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking to customize the system or become an open source contributors, this is a great place to start.\\n\\nSystem Architecture\\nWhether deploying Onyx on a single instance or a container orchestration platform, the flow of data is the same.\", \"semantic_identifier\": \"System Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/system_overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/system_overview\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking...\"]}, {\"document_id\": \"https://docs.onyx.app/tools/overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform actions (e.g. write to a database, send an email, etc.)\\n- Generate content (e.g. generate an Image, create a plot, etc.)\\nBy default, we have a three tools built-in to Onyx. These are:\\n-\\nSearchTool . This is the core of Onyx. Adding this tool to an Assistant allows it to search over the knowledge youve connected up to Onyx through Connectors . This is the only tool available to the default Onyx assistant.\\n-\\nImageGenerationTool . This leverages DALLE-3 to generate images.\\n-\\nInternetSearchTool . This uses Bing to search the internet. To enable this as an option, set the BING_API_KEY environment variable.\\nEmbedding Models Custom Tools\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform actions (e.g. write to a database, send an email, etc.)\\n- Generate content (e.g. generate an Image, create a plot, etc.)\\nBy default, we have a three tools built-in to Onyx.\", \"semantic_identifier\": \"Tools Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/tools/overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/tools/overview\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/configuration_guide\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nConfiguring Onyx\\nWelcome to Onyx\\nConfiguring Onyx\\nHow to customize your deployment environment.\\n\\nCommon Environment Variables\\nAll of the global configuration options that are not built into the UI are set via environment variables. This page contains an exhaustive list of all the options.\\nThere are defaults set in the code so changing/settings these values is not required to use Onyx. A few notable settings that are more frequently changed however are the following:\\n- AUTH_TYPE (default value is disabled )\\n- MULTILINGUAL_QUERY_EXPANSION (you can provide a comma separated list of languages for query rephrasing such as English,French )\\n- LOG_LEVEL (default is info )\\n- WEB_DOMAIN (your full url in production, including the protocol- e.g. https://www.onyx.app )\\n\\nDocker Compose\\nThere are several ways to configure environment variables for the containers. For Docker Compose, there are many ways to pass environment variables to the container, any of the standard approaches will work. However the preferred approach for Onyx is to use the .env file. To do this, create a file called .env at onyx/deployment/docker_compose/.env . From there, populate it with the values you want to override:\\n# Configures basic email/password based login AUTH_TYPE=\\\"basic\\\" # Rephrasing the query into different languages to improve search recall MULTILINGUAL_QUERY_EXPANSION=\\\"English,Spanish,German\\\" # Set a cheaper/faster LLM for the flows that are easier (such as translating the query etc.) FAST_GEN_AI_MODEL_VERSION=\\\"gpt-3.5-turbo\\\" # Setting more verbose logging LOG_LEVEL=\\\"debug\\\" LOG_ALL_MODEL_INTERACTIONS=\\\"true\\\"\\n\\nKubernetes\\nFor Kubernetes, the deployment yaml files includes an Environment ConfigMap. Simply update the values in the file here .\\n\\nAll Environment Variables\\nThis is an extensive list of the currently supported environment variables within Onyx. There are several classes of environment variables. All of the global configuration options that are not built into the UI are set via environment variables.\\nYou can set these in your .env file.\\n\\nAuth Settings\\nThese variables control authentication and user management in Onyx.\\nAUTH_TYPE\\nControls the authentication method used by Onyx.\\ndisabled : No authentication is required.\\ngoogle_oauth : Users can log in using their Google accounts.\\nbasic : Standard username/password authentication.\\noidc : OpenID Connect, available in the enterprise edition.\\nsaml : Security Assertion Markup Language, available in the enterprise edition.\\n\\nSESSION_EXPIRE_TIME_SECONDS\\nDefines the duration of a users session in seconds. Default is 24 hours.\\n\\nENCRYPTION_KEY_SECRET\\nA strong, unique string used for encryption purposes. Keep this value secret.\\n\\nVALID_EMAIL_DOMAINS\\nComma-separated list of allowed email domains for authentication. Leave empty to allow all domains.\\n\\nGOOGLE_OAUTH_CLIENT_ID\\nClient ID for Google OAuth authentication, obtained from Google Cloud Console .\\n\\nGOOGLE_OAUTH_CLIENT_SECRET\\nClient Secret for Google OAuth authentication, obtained from Google Cloud Console . Keep this value secret.\\n\\nREQUIRE_EMAIL_VERIFICATION\\nWhen set to true , users must verify their email before accessing Onyx.\\n\\nSMTP_SERVER\\nHostname of the SMTP server for sending verification emails. Default is smtp.gmail.com .\\n\\nSMTP_PORT\\nPort used for SMTP communication. Common values are 587 (TLS) or 465 (SSL).\\n\\nSMTP_USER\\nUsername for SMTP authentication, often an email address used to send verification emails.\\n\\nSMTP_PASS\\nPassword for SMTP authentication. Keep this value secret.\\n\\nEMAIL_FROM\\nEmail address used as the sender for verification emails.\\n\\nNEXT_PUBLIC_FORGOT_PASSWORD_ENABLED\\nSet to true to enable the forgot password feature. Only enable this if you have configured the above SMTP settings (For email functionality).\\n\\nGen AI Settings\\nThese variables configure the generative AI capabilities of Onyx. These are covered in more depth at the generative AI configs .\\n\\nGEN_AI_MODEL_PROVIDER\\nSpecifies the provider of the generative AI model (e.g., openai , anthropic , huggingface ).\\n\\nGEN_AI_MODEL_VERSION\\nDefines the version of the generative AI model to use (e.g., gpt-4 for OpenAI).\\n\\nFAST_GEN_AI_MODEL_VERSION\\nSpecifies a faster (usually smaller) model version for certain tasks.\\n\\nGEN_AI_API_KEY\\nAPI key for accessing the generative AI service. Keep this value secret.\\n\\n...\\n\\nPOSTGRES_HOST\\nHostname or IP address of the Postgres server. Default is relational_db .\\n\\nVESPA_HOST\\nHostname or IP address of the Vespa server. Default is index .\\n\\nWEB_DOMAIN\\nFully qualified domain name used for the Onyx web interface. (e.g. https://www.onyx.com )\\n\\nNLP Model Configurations\\nAdvanced settings for NLP models. Modify with caution.\\n\\nINDEX_BATCH_SIZE\\nSize of batch used when indexing documents. Overrides the default batch size for indexing operations.\\n\\nEMBEDDING_BATCH_SIZE\\nSize of batch used when embedding documents during indexing and search operations. Overrides the default batch size for embedding processes.\\n\\nDOCUMENT_ENCODER_MODEL\\nName or path of the encoder model used for document encoding.\\n\\nDOC_EMBEDDING_DIM\\nDimension of document embeddings, typically matching the chosen encoder models output dimension.\\n\\nNORMALIZE_EMBEDDINGS\\nSet to true to enable normalization of embeddings.\\n\\nASYM_QUERY_PREFIX\\nText prepended to queries in asymmetric semantic search.\\n\\nENABLE_RERANKING_REAL_TIME_FLOW\\nSet to true to enable reranking in real-time search flow.\\n\\nENABLE_RERANKING_ASYNC_FLOW\\nSet to true to enable reranking in asynchronous search flow.\\n\\nMODEL_SERVER_HOST\\nHostname or IP address of the model server. Default is inference_model_server .\\n\\nMODEL_SERVER_PORT\\nPort on which the model server is listening.\\n\\nMiscellaneous\\n< Various other configuration options.\\n\\nDISABLE_TELEMETRY\\nSet to true to opt out of telemetry. Telemetry helps improve Onyx; no sensitive data is collected.\\n\\nLOG_LEVEL\\nSets the logging verbosity. Possible values: debug , info , warning , error , critical .\\n\\nLOG_ALL_MODEL_INTERACTIONS\\nSet to true to enable logging of all prompts sent to the LLM.\\n\\nLOG_VESPA_TIMING_INFORMATION\\nSet to true to enable additional logging of Vespa query performance.\\n\\nLOG_ENDPOINT_LATENCY\\nSet to true to enable logging of endpoint latency information.\\nCustom Model Server Multilingual Setup\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nConfiguring Onyx\\nWelcome to Onyx\\nConfiguring Onyx\\nHow to customize your deployment environment.\\n\\nCommon Environment Variables\\nAll of the global configuration options that are not built into the UI are set via environment variables. This page contains an exhaustive list of all the options.\\nThere are defaults set in the code so changing/settings these values is not required to use Onyx.\", \"semantic_identifier\": \"Configuring Onyx - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/configuration_guide\", \"source_links\": {\"0\": \"https://docs.onyx.app/configuration_guide\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nConfiguring Onyx\\nWelcome to Onyx\\nConfiguring Onyx\\nHow to customize\", \"variables. This page contains an exhaustive list of all the options.\\nThere are defaults set in the code so changing/settings these values is not required to use Onyx. A few notable settings that are more...\"]}, {\"document_id\": \"https://docs.onyx.app/connectors/notion\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nNotion Connector\\nConnectors\\nNotion Connector\\nAccess knowledge from your Notion workspace\\n\\nHow it works\\nThe Notion connector uses the Notion search API to fetch all pages that the connector has access to within a workspace. For follow up indexing runs, the connector only retrieves pages that have been updated since the last indexing attempt. Indexing is configured to run every 10 minutes , so page updates should appear within 10 minutes.\\n\\nSetting up\\n\\nAuthorization\\nIn order to authorize Onyx to connect to your Notion workspace, youll need to create a new integration in Notion, which will then provide you with a secret token.\\nThese steps are pulled from this Notion guide which you can also follow.\\n\\nStep 1: Create an integration\\n- Visit https://www.notion.com/my-integrations in your browser.\\n- Click the + New integration button.\\n- Name the integration (something like Onyx could work).\\n- Select Read content as the only capability required for Onyx.\\n- Click Submit to create the integration.\\nOn the next page, youll find your Notion integration token, also called an API key. Youll need this token to configure Onyx to index Notion, so make a copy of it.\\nThe integration has been added to the workspace, so any member can share pages and databases with it. Theres no requirement to be an Admin to share information with an integration.\\n\\nStep 2: Share pages/databases with your integration\\nNow that youve created an integration, you need to grant it access to Notion pages/databases. To keep your information secure, integrations dont have access to any pages or databases in the workspace at first. You must share specific pages with an integration in order for Onyx to access those pages.\\nTo share a page/database with your integration:\\n- Go to the page/database in your workspace.\\n- Click the on the top right corner of the page.\\n- Scroll to the bottom of the pop-up and click Add connections.\\n- Search for and select the new integration in the Search for connections... menu.\\n- If youve added a page, all child pages also become accesssible to Onyx. If youve added a database, all rows (and their children) become accessible to Onyx.\\nOnce youve granted access to a page/database, you can start configuring Onyx to index those databases.\\n\\nIndexing\\n- Navigate to the Admin Dashboard and select the Notion connector.\\n- In Step 1 , provide the Integration Token Secret you obtained in the Authorization steps above:\\n- Click the Connect button! Your content will then be pulled into Onyx every 10 minutes.\\nNote - As mentioned, the Notion connector currently indexes everything it has access to. If you want to limit specific content being indexed, simply unshare the database from Notion with the integration.\\nLinear Connector Oracle Storage Connector\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nNotion Connector\\nConnectors\\nNotion Connector\\nAccess knowledge from your Notion workspace\\n\\nHow it works\\nThe Notion connector uses the Notion search API to fetch all pages that the connector has access to within a workspace. For follow up indexing runs, the connector only retrieves pages that have been updated since the last indexing attempt. Indexing is configured to run every 10 minutes , so page updates should appear within 10 minutes.\", \"semantic_identifier\": \"Notion Connector - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/connectors/notion\", \"source_links\": {\"0\": \"https://docs.onyx.app/connectors/notion\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nNotion Connector\\nConnectors\\nNotion Connector\\nAccess knowledge from your Notion workspace\", \"since the last indexing attempt. Indexing is configured to run every 10 minutes , so page updates should appear within 10 minutes.\\n\\nSetting up\\n\\nAuthorization\\nIn order to authorize Onyx to connect to your Notion workspace, youll...\"]}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/ai_platform\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user chat sessions, attaching custom tools, handling LLM reasoning, code execution, data analysis, referencing internal knowledge, and much more.\\nOnyx as a platform is not a no-code agent builder. We are made by developers for developers and this gives your team the full flexibility and power to create agents not constrained by blocks and simple logic paths.\\n\\nFlexibility and Extensibility\\nOnyx is open source and completely whitebox. This not only gives transparency to what happens within the system but also means that your team can directly modify the source code to suit your unique needs.\\nEnterprise Search Customer Support\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user chat sessions, attaching custom tools, handling LLM reasoning, code execution, data analysis, referencing internal knowledge, and much more.\\nOnyx as a platform is not a no-code agent builder.\", \"semantic_identifier\": \"AI Platform - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/more/use_cases/ai_platform\", \"source_links\": {\"0\": \"https://docs.onyx.app/more/use_cases/ai_platform\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user...\"]}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI more versatile for work by enabling new types of questions like What is the most common feature request weve heard from customers this month. Whereas other AI systems have no context of your team and are generally unhelpful with work related questions, Onyx makes it possible to ask these questions in natural language and get back answers in seconds.\\nOnyx can connect to +30 different tools and the use cases are not limited to the ones in the following pages. The highlighted use cases are for inspiration and come from feedback gathered from our users and customers.\\n\\nCommon Getting Started Questions:\\n\\nWhy are these docs connected in my Onyx deployment?\\nAnswer: This is just an example of how connectors work in Onyx. You can connect up your own teams knowledge and you will be able to ask questions unique to your organization. Onyx will keep all of the knowledge up to date and in sync with your connected applications.\\n\\nIs my data being sent anywhere when I connect it up to Onyx?\\nAnswer: No! Onyx is built with data security as our highest priority. We open sourced it so our users can know exactly what is going on with their data. By default all of the document processing happens within Onyx. The only time it is sent outward is for the GenAI call to generate answers.\\n\\nWhere is the feature for auto sync-ing document level access permissions from all connected sources?\\nAnswer: This falls under the Enterprise Edition set of Onyx features built on top of the MIT/community edition. If you are on Onyx Cloud, you have access to them by default. If youre running it yourself, reach out to the Onyx team to receive access.\\nAdvanced Curator Examples Enterprise Search\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI more versatile for work by enabling new types of questions like What is the most common feature request weve heard from customers this month. Whereas other AI systems have no context of your team and are generally unhelpful with work related questions, Onyx makes it possible to ask these questions in natural language and get back answers in seconds.\", \"semantic_identifier\": \"Use Cases Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/more/use_cases/overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/more/use_cases/overview\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/google_oauth_setup\", \"content\": \"To turn the feature on set:\\n- AUTH_TYPE=google_oauth\\n- OAUTH_CLIENT_ID=\\n- OAUTH_CLIENT_SECRET=\\n- If setting up in production, then:\\n- WEB_DOMAIN=\\n\\nNon Containerized\\nSimply set the above environment variables when running the different Onyx processes.\\n- The backend api server uses the 3 environment variables\\n- The frontend hits the api server to determine what user authentication setting is configured and serves the relevant pages.\\n\\nDocker Compose\\nSimply set the 4 environment variables in a file called .env under onyx/deployment/docker_compose .\\n\\nKubernetes\\nKubernetes deployment was designed for production use and assumes that user Auth is a required feature therefore it is on by default. To set up the required values, replace the REPLACE-THIS values in secrets.yaml with thebase64 encoded client ID and client secret from above.\\nBasic Auth Setup OIDC/SAML Setup\", \"blurb\": \"To turn the feature on set:\\n- AUTH_TYPE=google_oauth\\n- OAUTH_CLIENT_ID=\\n- OAUTH_CLIENT_SECRET=\\n- If setting up in production, then:\\n- WEB_DOMAIN=\\n\\nNon Containerized\\nSimply set the above environment variables when running the different Onyx processes.\", \"semantic_identifier\": \"Google OAuth Setup - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/google_oauth_setup\", \"source_links\": {\"0\": \"https://docs.onyx.app/google_oauth_setup\"}, \"match_highlights\": [\"\", \"=\\n- OAUTH_CLIENT_SECRET=\\n- If setting up in production, then:\\n- WEB_DOMAIN=onyx.app>\\n\\nNon Containerized\\nSimply set the above environment variables when running the different Onyx processes.\\n- The backend api server uses the 3 environment variables\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/multilingual_setup\", \"content\": \"onyx documentation home page search... navigation welcome to onyx multilingual setup welcome to onyx multilingual setup how to set up onyx to support languages other than english for the majority of use cases, onyx provides an easy way to configure the system for multilingual use. to skip the details and just go to setup, see the configuration section below. how it works onyx has two main flows that assume english as a default. to use onyx in multilingual or non - english cases, these must be handled. - the vector portion of the hybrid - search / reranking. this selects relevant documents to pass to the large language model as context - the prompts for the large language model to instruct it on how to answer user queries. to address the first point, the english first embedding / reranking models can be swapped out for multilingual models. additionally query expansion is applied to rephrase the user query into the target languages. to address the second point, additional instructions are given to the llm to respect the input language and to respond in the same language as the user query. note : the onyx llm prompts are still in english, just with added instructions if the user configures multilingual settings ( see below ). if all of your documents and queries are in some other language, it will be better to simply translate all of onyxs prompts directly to that target language. you can do so here.\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nMultilingual Setup\\nWelcome to Onyx\\nMultilingual Setup\\nHow to set up Onyx to support languages other than English\\nFor the majority of use cases, Onyx provides an easy way to configure the system for multilingual use. To skip the details and just go to setup, see the Configuration section below.\\n\\nHow it works\\nOnyx has two main flows that assume English as a default. To use Onyx in multilingual or non-english cases, these must be handled.\", \"semantic_identifier\": \"Multilingual Setup - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/multilingual_setup\", \"source_links\": {\"0\": \"https://docs.onyx.app/multilingual_setup\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nMultilingual Setup\\nWelcome to Onyx\\nMultilingual Setup\\nHow to set up Onyx to support languages other than English\\nFor the majority of use cases, Onyx provides an easy way to configure the system for multilingual use. To skip the details and just go to setup\", \"\"]}]}\n" -"{\"sub_query\": \"on\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 0}\n" -"{\"sub_query\": \"yx I II III IV project history\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 0}\n" -"{\"sub_query\": \"onyx software\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 1}\n" -"{\"sub_query\": \" version differences\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 1}\n" -"{\"sub_query\": \"onyx system development phases\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 2}\n" -"{\"sub_query\": \"\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 2}\n" -"{\"sub_question\": \"what\", \"level\": 0, \"level_question_nr\": 1}\n" -"{\"sub_question\": \" are the key features and capabilities\", \"level\": 0, \"level_question_nr\": 1}\n" -"{\"sub_question\": \" of Onyx I?\", \"level\": 0, \"level_question_nr\": 1}\n" -"{\"sub_question\": \"what are the key\", \"level\": 0, \"level_question_nr\": 2}\n" -"{\"sub_question\": \" features and capabilities of Onyx II?\", \"level\": 0, \"level_question_nr\": 2}\n" -"{\"sub_question\": \"\", \"level\": 0, \"level_question_nr\": 2}\n" -"{\"sub_question\": \"what are the key features and capabilities of On\", \"level\": 0, \"level_question_nr\": 3}\n" -"{\"sub_question\": \"yx III?\", \"level\": 0, \"level_question_nr\": 3}\n" -"{\"sub_question\": \"what are the key features an\", \"level\": 0, \"level_question_nr\": 4}\n" -"{\"sub_question\": \"d capabilities of Onyx IV?\", \"level\": 0, \"level_question_nr\": 4}\n" -"{\"sub_question\": \"\", \"level\": 0, \"level_question_nr\": 4}\n" -"{\"sub_query\": \"Onyx IV technical specifications and features\", \"level\": 0, \"level_question_nr\": 3, \"query_id\": 0}\n" -"{\"sub_query\": \"Onyx II technical specifications an\", \"level\": 0, \"level_question_nr\": 1, \"query_id\": 0}\n" -"{\"sub_query\": \"\", \"level\": 0, \"level_question_nr\": 3, \"query_id\": 0}\n" -"{\"sub_query\": \"Onyx IV system capabilities\", \"level\": 0, \"level_question_nr\": 3, \"query_id\": 1}\n" -"{\"sub_query\": \" and limitations\", \"level\": 0, \"level_question_nr\": 3, \"query_id\": 1}\n" -"{\"sub_query\": \"Onyx IV\", \"level\": 0, \"level_question_nr\": 3, \"query_id\": 2}\n" -"{\"sub_query\": \"d features\", \"level\": 0, \"level_question_nr\": 1, \"query_id\": 0}\n" -"{\"sub_query\": \"Onyx II system\", \"level\": 0, \"level_question_nr\": 1, \"query_id\": 1}\n" -"{\"sub_query\": \" capabilities and limitations\", \"level\": 0, \"level_question_nr\": 1, \"query_id\": 1}\n" -"{\"sub_query\": \"Onyx II\", \"level\": 0, \"level_question_nr\": 1, \"query_id\": 2}\n" -"{\"sub_query\": \" comparison with previous versions\", \"level\": 0, \"level_question_nr\": 3, \"query_id\": 2}\n" -"{\"sub_query\": \"\", \"level\": 0, \"level_question_nr\": 3, \"query_id\": 2}\n" -"{\"sub_query\": \"Onyx I technical specifications an\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 0}\n" -"{\"sub_query\": \"Onyx III technical specifications an\", \"level\": 0, \"level_question_nr\": 2, \"query_id\": 0}\n" -"{\"sub_query\": \" comparison with predecessor\", \"level\": 0, \"level_question_nr\": 1, \"query_id\": 2}\n" -"{\"sub_query\": \"\", \"level\": 0, \"level_question_nr\": 1, \"query_id\": 2}\n" -"{\"sub_query\": \"d features\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 0}\n" -"{\"sub_query\": \"d features\", \"level\": 0, \"level_question_nr\": 2, \"query_id\": 0}\n" -"{\"sub_query\": \"Onyx I system\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 1}\n" -"{\"sub_query\": \"Onyx III capabilities\", \"level\": 0, \"level_question_nr\": 2, \"query_id\": 1}\n" -"{\"sub_query\": \" capabilities and limitations\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 1}\n" -"{\"sub_query\": \"Onyx I\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 2}\n" -"{\"sub_query\": \" compared to previous versions\", \"level\": 0, \"level_question_nr\": 2, \"query_id\": 1}\n" -"{\"sub_query\": \"Onyx III\", \"level\": 0, \"level_question_nr\": 2, \"query_id\": 2}\n" -"{\"sub_query\": \" core functionality comparison\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 2}\n" -"{\"sub_query\": \" unique selling points and applications\", \"level\": 0, \"level_question_nr\": 2, \"query_id\": 2}\n" -"{\"sub_query\": \"\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 2}\n" -"{\"sub_query\": \"\", \"level\": 0, \"level_question_nr\": 2, \"query_id\": 2}\n" -"{\"error\": \"An unexpected error occurred while processing your request. Please try again later.\", \"stack_trace\": \"Traceback (most recent call last):\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/litellm/llms/anthropic/chat/handler.py\\\", line 419, in completion\\n response = client.post(\\n ^^^^^^^^^^^^\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/litellm/llms/custom_httpx/http_handler.py\\\", line 531, in post\\n raise e\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/litellm/llms/custom_httpx/http_handler.py\\\", line 511, in post\\n response.raise_for_status()\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/httpx/_models.py\\\", line 761, in raise_for_status\\n raise HTTPStatusError(message, request=request, response=self)\\nhttpx.HTTPStatusError: Server error '529 ' for url 'https://api.anthropic.com/v1/messages'\\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/529\\n\\nDuring handling of the above exception, another exception occurred:\\n\\nTraceback (most recent call last):\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/litellm/main.py\\\", line 1749, in completion\\n response = anthropic_chat_completions.completion(\\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/litellm/llms/anthropic/chat/handler.py\\\", line 434, in completion\\n raise AnthropicError(\\nlitellm.llms.anthropic.common_utils.AnthropicError: {\\\"type\\\":\\\"error\\\",\\\"error\\\":{\\\"type\\\":\\\"overloaded_error\\\",\\\"message\\\":\\\"Overloaded\\\"}}\\n\\nDuring handling of the above exception, another exception occurred:\\n\\nTraceback (most recent call last):\\n File \\\"/Users/danswer-trial/onyx/backend/onyx/chat/process_message.py\\\", line 770, in stream_chat_message_objects\\n for packet in answer.processed_streamed_output:\\n File \\\"/Users/danswer-trial/onyx/backend/onyx/chat/answer.py\\\", line 300, in processed_streamed_output\\n for processed_packet in self._get_response([llm_call]):\\n File \\\"/Users/danswer-trial/onyx/backend/onyx/chat/answer.py\\\", line 246, in _get_response\\n for packet in stream:\\n File \\\"/Users/danswer-trial/onyx/backend/onyx/agent_search/run_graph.py\\\", line 149, in run_graph\\n for event in _manage_async_event_streaming(\\n File \\\"/Users/danswer-trial/onyx/backend/onyx/agent_search/run_graph.py\\\", line 103, in _yield_async_to_sync\\n event = loop.run_until_complete(next_coro)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n File \\\"/opt/homebrew/Cellar/python@3.11/3.11.10/Frameworks/Python.framework/Versions/3.11/lib/python3.11/asyncio/base_events.py\\\", line 654, in run_until_complete\\n return future.result()\\n ^^^^^^^^^^^^^^^\\n File \\\"/Users/danswer-trial/onyx/backend/onyx/agent_search/run_graph.py\\\", line 82, in _run_async_event_stream\\n async for event in compiled_graph.astream_events(\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langchain_core/runnables/base.py\\\", line 1388, in astream_events\\n async for event in event_stream:\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langchain_core/tracers/event_stream.py\\\", line 1012, in _astream_events_implementation_v2\\n await task\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langchain_core/tracers/event_stream.py\\\", line 967, in consume_astream\\n async for _ in event_streamer.tap_output_aiter(run_id, stream):\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langchain_core/tracers/event_stream.py\\\", line 203, in tap_output_aiter\\n async for chunk in output:\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langgraph/pregel/__init__.py\\\", line 1874, in astream\\n async for _ in runner.atick(\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langgraph/pregel/runner.py\\\", line 444, in atick\\n _panic_or_proceed(\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langgraph/pregel/runner.py\\\", line 539, in _panic_or_proceed\\n raise exc\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langgraph/pregel/retry.py\\\", line 127, in arun_with_retry\\n async for _ in task.proc.astream(task.input, config):\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langgraph/utils/runnable.py\\\", line 568, in astream\\n async for chunk in aiterator:\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langchain_core/tracers/event_stream.py\\\", line 180, in tap_output_aiter\\n first = await py_anext(output, default=sentinel)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langchain_core/utils/aiter.py\\\", line 76, in anext_impl\\n return await __anext__(iterator)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langchain_core/runnables/base.py\\\", line 1455, in atransform\\n async for ichunk in input:\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langchain_core/runnables/base.py\\\", line 1455, in atransform\\n async for ichunk in input:\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langgraph/pregel/__init__.py\\\", line 1874, in astream\\n async for _ in runner.atick(\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langgraph/pregel/runner.py\\\", line 362, in atick\\n await arun_with_retry(\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langgraph/pregel/retry.py\\\", line 127, in arun_with_retry\\n async for _ in task.proc.astream(task.input, config):\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langgraph/utils/runnable.py\\\", line 568, in astream\\n async for chunk in aiterator:\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langchain_core/tracers/event_stream.py\\\", line 180, in tap_output_aiter\\n first = await py_anext(output, default=sentinel)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langchain_core/utils/aiter.py\\\", line 76, in anext_impl\\n return await __anext__(iterator)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langchain_core/runnables/base.py\\\", line 1455, in atransform\\n async for ichunk in input:\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langchain_core/runnables/base.py\\\", line 1455, in atransform\\n async for ichunk in input:\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langgraph/pregel/__init__.py\\\", line 1874, in astream\\n async for _ in runner.atick(\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langgraph/pregel/runner.py\\\", line 444, in atick\\n _panic_or_proceed(\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langgraph/pregel/runner.py\\\", line 539, in _panic_or_proceed\\n raise exc\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langgraph/pregel/retry.py\\\", line 127, in arun_with_retry\\n async for _ in task.proc.astream(task.input, config):\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langgraph/utils/runnable.py\\\", line 568, in astream\\n async for chunk in aiterator:\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langchain_core/tracers/event_stream.py\\\", line 180, in tap_output_aiter\\n first = await py_anext(output, default=sentinel)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langchain_core/utils/aiter.py\\\", line 76, in anext_impl\\n return await __anext__(iterator)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langchain_core/runnables/base.py\\\", line 1455, in atransform\\n async for ichunk in input:\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langchain_core/runnables/base.py\\\", line 1455, in atransform\\n async for ichunk in input:\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langchain_core/runnables/base.py\\\", line 1018, in astream\\n yield await self.ainvoke(input, config, **kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langgraph/utils/runnable.py\\\", line 236, in ainvoke\\n ret = await asyncio.create_task(coro, context=context)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langchain_core/runnables/config.py\\\", line 588, in run_in_executor\\n return await asyncio.get_running_loop().run_in_executor(\\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n File \\\"/opt/homebrew/Cellar/python@3.11/3.11.10/Frameworks/Python.framework/Versions/3.11/lib/python3.11/concurrent/futures/thread.py\\\", line 58, in run\\n result = self.fn(*self.args, **self.kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/langchain_core/runnables/config.py\\\", line 579, in wrapper\\n return func(*args, **kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^\\n File \\\"/Users/danswer-trial/onyx/backend/onyx/agent_search/pro_search_a/expanded_retrieval/nodes.py\\\", line 238, in doc_verification\\n response = fast_llm.invoke(msg)\\n ^^^^^^^^^^^^^^^^^^^^\\n File \\\"/Users/danswer-trial/onyx/backend/onyx/llm/interfaces.py\\\", line 97, in invoke\\n return self._invoke_implementation(\\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n File \\\"/Users/danswer-trial/onyx/backend/onyx/llm/chat_llm.py\\\", line 442, in _invoke_implementation\\n self._completion(\\n File \\\"/Users/danswer-trial/onyx/backend/onyx/llm/chat_llm.py\\\", line 416, in _completion\\n raise e\\n File \\\"/Users/danswer-trial/onyx/backend/onyx/llm/chat_llm.py\\\", line 384, in _completion\\n return litellm.completion(\\n ^^^^^^^^^^^^^^^^^^^\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/litellm/utils.py\\\", line 1003, in wrapper\\n raise e\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/litellm/utils.py\\\", line 884, in wrapper\\n result = original_function(*args, **kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/litellm/main.py\\\", line 2927, in completion\\n raise exception_type(\\n ^^^^^^^^^^^^^^^\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/litellm/litellm_core_utils/exception_mapping_utils.py\\\", line 2148, in exception_type\\n raise e\\n File \\\"/Users/danswer-trial/onyx/.venv2/lib/python3.11/site-packages/litellm/litellm_core_utils/exception_mapping_utils.py\\\", line 504, in exception_type\\n raise litellm.InternalServerError(\\nlitellm.exceptions.InternalServerError: litellm.InternalServerError: AnthropicException - {\\\"type\\\":\\\"error\\\",\\\"error\\\":{\\\"type\\\":\\\"overloaded_error\\\",\\\"message\\\":\\\"Overloaded\\\"}}. Handle with `litellm.InternalServerError`.\\nDuring task with name 'doc_verification' and id 'ab23fe75-d4e7-f602-0b0a-45252838dd79'\\nDuring task with name 'initial_sub_question_expanded_retrieval' and id 'c83a2904-e0b0-10f7-4fb6-32da32545529'\\nDuring task with name 'answer_query_subgraph' and id '8590ddf2-a42f-5ed1-b3da-a42e158c3860'\\n\"}\n" -"{\"user_message_id\": 431, \"reserved_assistant_message_id\": 432}\n" -"{\"tool_name\": \"run_search\", \"tool_args\": {\"query\": \"what is onyx I, II, III, and IV?\\n\"}}\n" -"{\"top_documents\": [{\"document_id\": \"https://docs.onyx.app/introduction\", \"chunk_ind\": 0, \"semantic_identifier\": \"Introduction - Onyx Documentation\", \"link\": \"https://docs.onyx.app/introduction\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into any LLM of your choice. Onyx can be deployed anywhere and for any scale - on a laptop, on-premise, or to cloud. Since you own the deployment, your user data and chats are fully in your own control. Onyx is MIT licensed and designed to be modular and easily extensible.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.9055547910569418, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30570}, {\"document_id\": \"https://www.onyx.app/\", \"chunk_ind\": 0, \"semantic_identifier\": \"Onyx\", \"link\": \"https://www.onyx.app/\", \"blurb\": \"Help your \\u00b0\\nEng\\nSupport\\nSales\\nProduct\\nOps team\\nfind information faster\\nThe open source AI connected to your company's docs, apps, and people Book a demo\\nYour browser does not support the video tag.\\nAI Workplace Search\\nFind answers across all your teams' applications\\nYour browser does not support the video tag.\\nAI Assistant\\nCreate AI Assistants powered by your org's unique knowledge, available right where you work\\nYour browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.83051209801961, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \" browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\\nOnyx connects to all your apps\\nWorks out of the box, syncs in real time, with document level access.\\n40+ integrations available, with more being built every day.\\nBuilt for\\nEnterprise\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30571}, {\"document_id\": \"https://docs.onyx.app/system_overview\", \"chunk_ind\": 0, \"semantic_identifier\": \"System Overview - Onyx Documentation\", \"link\": \"https://docs.onyx.app/system_overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking to customize the system or become an open source contributors, this is a great place to start.\\n\\nSystem Architecture\\nWhether deploying Onyx on a single instance or a container orchestration platform, the flow of data is the same.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.8118555881293065, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30572}, {\"document_id\": \"https://docs.onyx.app/tools/overview\", \"chunk_ind\": 0, \"semantic_identifier\": \"Tools Overview - Onyx Documentation\", \"link\": \"https://docs.onyx.app/tools/overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform actions (e.g. write to a database, send an email, etc.)\\n- Generate content (e.g. generate an Image, create a plot, etc.)\\nBy default, we have a three tools built-in to Onyx.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.8023377606432969, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30573}, {\"document_id\": \"https://docs.onyx.app/configuration_guide\", \"chunk_ind\": 0, \"semantic_identifier\": \"Configuring Onyx - Onyx Documentation\", \"link\": \"https://docs.onyx.app/configuration_guide\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nConfiguring Onyx\\nWelcome to Onyx\\nConfiguring Onyx\\nHow to customize your deployment environment.\\n\\nCommon Environment Variables\\nAll of the global configuration options that are not built into the UI are set via environment variables. This page contains an exhaustive list of all the options.\\nThere are defaults set in the code so changing/settings these values is not required to use Onyx.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7863578299007833, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nConfiguring Onyx\\nWelcome to Onyx\\nConfiguring Onyx\\nHow to customize\", \"variables. This page contains an exhaustive list of all the options.\\nThere are defaults set in the code so changing/settings these values is not required to use Onyx. A few notable settings that are more...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30574}, {\"document_id\": \"https://docs.onyx.app/connectors/notion\", \"chunk_ind\": 0, \"semantic_identifier\": \"Notion Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/notion\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nNotion Connector\\nConnectors\\nNotion Connector\\nAccess knowledge from your Notion workspace\\n\\nHow it works\\nThe Notion connector uses the Notion search API to fetch all pages that the connector has access to within a workspace. For follow up indexing runs, the connector only retrieves pages that have been updated since the last indexing attempt. Indexing is configured to run every 10 minutes , so page updates should appear within 10 minutes.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7796354531013558, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nNotion Connector\\nConnectors\\nNotion Connector\\nAccess knowledge from your Notion workspace\", \"since the last indexing attempt. Indexing is configured to run every 10 minutes , so page updates should appear within 10 minutes.\\n\\nSetting up\\n\\nAuthorization\\nIn order to authorize Onyx to connect to your Notion workspace, youll...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30575}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/ai_platform\", \"chunk_ind\": 0, \"semantic_identifier\": \"AI Platform - Onyx Documentation\", \"link\": \"https://docs.onyx.app/more/use_cases/ai_platform\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user chat sessions, attaching custom tools, handling LLM reasoning, code execution, data analysis, referencing internal knowledge, and much more.\\nOnyx as a platform is not a no-code agent builder.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7643829887719052, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30576}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/overview\", \"chunk_ind\": 0, \"semantic_identifier\": \"Use Cases Overview - Onyx Documentation\", \"link\": \"https://docs.onyx.app/more/use_cases/overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI more versatile for work by enabling new types of questions like What is the most common feature request weve heard from customers this month. Whereas other AI systems have no context of your team and are generally unhelpful with work related questions, Onyx makes it possible to ask these questions in natural language and get back answers in seconds.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7631476303673395, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30577}, {\"document_id\": \"https://docs.onyx.app/google_oauth_setup\", \"chunk_ind\": 1, \"semantic_identifier\": \"Google OAuth Setup - Onyx Documentation\", \"link\": \"https://docs.onyx.app/google_oauth_setup\", \"blurb\": \"To turn the feature on set:\\n- AUTH_TYPE=google_oauth\\n- OAUTH_CLIENT_ID=\\n- OAUTH_CLIENT_SECRET=\\n- If setting up in production, then:\\n- WEB_DOMAIN=\\n\\nNon Containerized\\nSimply set the above environment variables when running the different Onyx processes.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7602503964626157, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\", \"=\\n- OAUTH_CLIENT_SECRET=\\n- If setting up in production, then:\\n- WEB_DOMAIN=onyx.app>\\n\\nNon Containerized\\nSimply set the above environment variables when running the different Onyx processes.\\n- The backend api server uses the 3 environment variables\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30578}, {\"document_id\": \"https://docs.onyx.app/multilingual_setup\", \"chunk_ind\": 0, \"semantic_identifier\": \"Multilingual Setup - Onyx Documentation\", \"link\": \"https://docs.onyx.app/multilingual_setup\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nMultilingual Setup\\nWelcome to Onyx\\nMultilingual Setup\\nHow to set up Onyx to support languages other than English\\nFor the majority of use cases, Onyx provides an easy way to configure the system for multilingual use. To skip the details and just go to setup, see the Configuration section below.\\n\\nHow it works\\nOnyx has two main flows that assume English as a default. To use Onyx in multilingual or non-english cases, these must be handled.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.748641281253678, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nMultilingual Setup\\nWelcome to Onyx\\nMultilingual Setup\\nHow to set up Onyx to support languages other than English\\nFor the majority of use cases, Onyx provides an easy way to configure the system for multilingual use. To skip the details and just go to setup\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30579}, {\"document_id\": \"https://docs.onyx.app/oidc_saml\", \"chunk_ind\": 0, \"semantic_identifier\": \"OIDC/SAML Setup - Onyx Documentation\", \"link\": \"https://docs.onyx.app/oidc_saml\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nAuth\\nOIDC/SAML Setup\\nAuth\\nOIDC/SAML Setup\\nIntegrating Onyx with your IdP\\nAs part of the Enterprise Edition, Onyx adds support for OIDC / SAML and integrates with popular IdPs (e.g. Okta, Microsoft Entra ID, etc). We also have and will continue to add new integrations with custom, in-house IdPs on request.\\nIf this is something you are looking for, please reach to us directly and wed be happy to work with you to set this up.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7403304093709228, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nAuth\\nOIDC/SAML Setup\\nAuth\\nOIDC/SAML Setup\\nIntegrating Onyx with your IdP\\nAs part of the Enterprise Edition, Onyx adds support for OIDC / SAML and integrates with popular IdPs (e.g. Okta, Microsoft Entra ID, etc). We also have and will continue to add new integrations\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30580}, {\"document_id\": \"https://docs.onyx.app/contact_us\", \"chunk_ind\": 0, \"semantic_identifier\": \"Contact Us - Onyx Documentation\", \"link\": \"https://docs.onyx.app/contact_us\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nContact Us\\nWelcome to Onyx\\nContact Us\\nWe would love to hear from you!\\n\\nPlease dont hesitate to reach out!\\nShoot us a message at founders@onyx.app\\nOr join our Slack or Discord\\nSystem Overview Connector Overview\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7381895810832658, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nContact Us\\nWelcome to Onyx\\nContact Us\\nWe would love to hear from you!\\n\\nPlease dont hesitate to reach out!\\nShoot us a message at founders@onyx.app\\nOr join our Slack or Discord\\nSystem Overview Connector Overview\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30581}, {\"document_id\": \"https://docs.onyx.app/enterprise_edition/permissioning\", \"chunk_ind\": 0, \"semantic_identifier\": \"Permissioning - Onyx Documentation\", \"link\": \"https://docs.onyx.app/enterprise_edition/permissioning\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nPermissioning\\nEnterprise\\nPermissioning\\nPermissions for what documents users can and cannot access in Onyx are determined by the access level set for each connector.\\n\\nConnector Access Types:\\n\\n1. Public\\n- Any user can access the documents in the connector\\n\\n2. Private\\n- All documents from connectors that are private are only accessible to users in the group(s) that the connector is attached to.\\n\\n3. Sync\\n- When one a connector is created with syncing access enabled, the permissions are inhereted from the source.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7353468190341902, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nPermissioning\\nEnterprise\\nPermissioning\\nPermissions for what documents users can and cannot access in Onyx are determined by the access level set for each connector.\\n\\nConnector Access Types:\\n\\n1. Public\\n- Any user can access the documents in the connector\\n\\n2. Private\\n- \", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30582}, {\"document_id\": \"https://docs.onyx.app/quickstart\", \"chunk_ind\": 0, \"semantic_identifier\": \"Quickstart - Onyx Documentation\", \"link\": \"https://docs.onyx.app/quickstart\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nQuickstart\\nWelcome to Onyx\\nQuickstart\\nHow to deploy Onyx on your local machine\\n\\nRequirements\\n- git\\n- Docker with compose (docker version >= 1.13.0)\\n- System requirements found here\\n\\nSetup\\nThe most common source of issues is under-resourcing. Before beginning, check the system requirements here .\\n- Clone the Onyx repo:\\ngit clone https://github.com/onyx-dot-app/onyx.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7341199603738908, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nQuickstart\\nWelcome to Onyx\\nQuickstart\\nHow to deploy Onyx on your local machine\\n\\nRequirements\\n- git\\n- Docker with compose (docker version >= 1.13.0)\\n- System requirements found here\\n\\nSetup\\nThe most common source of issues is under-resourcing\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30583}, {\"document_id\": \"https://docs.onyx.app/connectors/egnyte\", \"chunk_ind\": 0, \"semantic_identifier\": \"Egnyte Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/egnyte\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nEgnyte Connector\\nConnectors\\nEgnyte Connector\\nAccess files stored in Egnyte\\n\\nHow it works\\nThe Egnyte connector pulls in files stored in Egnyte. The Egnyte connector indexes the file name, file type, and contents of the file.\\nNew files are pulled every 10 minutes.\\n\\nSetup\\n\\nConfigure your Egnyte Application + Onyx env variables\\nThis is only necessary if self-hosting Onyx. If using Onyx Cloud , you can skip this step.\\n- Create an Egnyte Application.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.732346774849659, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nEgnyte Connector\\nConnectors\\nEgnyte Connector\\nAccess files stored in \", \"connector indexes the file name, file type, and contents of the file.\\nNew files are pulled every 10 minutes.\\n\\nSetup\\n\\nConfigure your Egnyte Application + Onyx env variables\\nThis is only necessary if self-hosting Onyx. If using Onyxonyx\\nNavigate to the onyx/deployment/kubernetes directory in the repository that you have cloned down\\nAfterwards, you can run the installation of the yaml files\\nkubectl apply -f . -n onyx\\n\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30585}, {\"document_id\": \"https://docs.onyx.app/connectors/overview\", \"chunk_ind\": 0, \"semantic_identifier\": \"Connector Overview - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/overview\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nConnector Overview\\nConnectors\\nConnector Overview\\nBasic Information about Connectors\\n\\nWhat are Connectors\\nConnectors hook up Onyx to your data sources so that answers are grounded in your organizations knowledge.\\n\\nConnectors help you\\n- Choose Sources so you can include only the data you want indexed.\\n- Configure Access so Onyx can securely access data with your permission.\\n- Set Up Fetching options to keep Onyxs answers up to date.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7237208285977189, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nConnector Overview\\nConnectors\\nConnector Overview\\nBasic Information about Connectors\\n\\nWhat are Connectors\\nConnectors hook up Onyx to your data sources so that answers are grounded in your organizations knowledge.\\n\\nConnectors help you\\n- Choose Sources so you can include only the data you want indexed.\\n- Configure\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30586}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/operations\", \"chunk_ind\": 0, \"semantic_identifier\": \"Operations - Onyx Documentation\", \"link\": \"https://docs.onyx.app/more/use_cases/operations\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nOperations\\nUse Cases\\nOperations\\nDouble the productivity of your Ops teams like IT, HR, etc.\\n\\nAutomatically Resolve Tickets\\nModern teams are leveraging AI to auto-resolve up to 50% of tickets. Whether it is an employee asking about benefits details or how to set up the VPN for remote work, Onyx can help your team help themselves. This frees up your team to do the real impactful work of landing star candidates or improving your internal processes.\\n\\nAI Aided Onboarding\\nOne of the periods where your team needs the most help is when theyre just ramping up.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7195001545619814, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nOperations\\nUse Cases\\nOperations\\nDouble the productivity of your Ops teams like IT\", \"Modern teams are leveraging AI to auto-resolve up to 50% of tickets. Whether it is an employee asking about benefits details or how to set up the VPN for remote work, Onyx can help your team help themselves. This frees up your team to do...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30587}, {\"document_id\": \"https://docs.onyx.app/production/aws/ec2\", \"chunk_ind\": 3, \"semantic_identifier\": \"[Recommended] EC2 - Onyx Documentation\", \"link\": \"https://docs.onyx.app/production/aws/ec2\", \"blurb\": \"You can then access Onyx from the IP address from earlier or from the instance Public IPv4 DNS provided on the instances page in the AWS console.\\nVoila, youre all done! \\nAfter waiting a few minutes (you can monitor the progress with docker logs onyx-stack-api_server-1 -f ; once you see a log for INFO: Application startup complete. then everything should be good to go).\\nZulip Connector EKS\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7170013226064472, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"You can then access Onyx from the IP address from earlier or from the instance Public IPv4 DNS provided on the instances page in the AWS console.\\nVoila, youre all done! \\nAfter waiting a few minutes (you can monitor the progress with docker logs onyx-stack-api_server-1 -f ; once you see a log for INFO: Application startup complete. then everything should be good to go).\\nZulip...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30588}, {\"document_id\": \"https://docs.onyx.app/gen_ai_configs/custom_server\", \"chunk_ind\": 0, \"semantic_identifier\": \"Custom Model Server - Onyx Documentation\", \"link\": \"https://docs.onyx.app/gen_ai_configs/custom_server\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nCustom Model Server\\nGen AI Configs\\nCustom Model Server\\nConfigure Onyx to use a Custom Model Server via requests\\nOnyx can also make requests to an arbitrary model server via REST requests. Optionally an access token can be passed in. To customize the request format and handling of the response, it may be necessary to update/rebuild the Onyx containers.\\n\\nExtending Onyx to be compatible with your custom model server\\nTheres a very minimal interface to be implemented which can support any arbitrary LLM Model Server. Simply update the code here and rebuild .\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.713134742647138, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nCustom Model Server\\nGen AI Configs\\nCustom Model Server\\nConfigure Onyx to use a Custom Model Server via requests\\nOnyx can also make requests to an arbitrary model server via REST requests. Optionally an access token can be passed\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30589}, {\"document_id\": \"https://docs.onyx.app/gen_ai_configs/ollama\", \"chunk_ind\": 0, \"semantic_identifier\": \"Ollama - Onyx Documentation\", \"link\": \"https://docs.onyx.app/gen_ai_configs/ollama\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nOllama\\nGen AI Configs\\nOllama\\nConfigure Onyx to use Ollama\\nRefer to Model Configs for how to set the environment variables for your particular deployment.\\nNote : While we support self hosted LLMs, you will get significantly better responses with a more powerful model like GPT-4.\\n\\nWhat is Ollama\\nOllama provides an easy way to host LLMs locally and to provide a REST API for the model.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.71059703935598, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nOllama\\nGen AI Configs\\nOllama\\nConfigure Onyx to use Ollama\", \"ollama\\nOnce you start a model with a command like ollama run llama2 , you can verify that the API works with a curl request:\\ncurl http://localhost:11434/api/generate -d '{ \\\"model\\\": \\\"llama2\\\", \\\"prompt\\\":\\\"Why is the sky blue?\\\" }'\\n\\nSet Onyx to use...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30590}, {\"document_id\": \"https://docs.onyx.app/resourcing\", \"chunk_ind\": 0, \"semantic_identifier\": \"Resourcing - Onyx Documentation\", \"link\": \"https://docs.onyx.app/resourcing\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nResourcing\\nWelcome to Onyx\\nResourcing\\nRecommended CPU / RAM / Disk to run Onyx\\n\\nRunning Locally\\nWhen running locally through Docker, we recommend making at least 4vCPU cores and 10GB of RAM available to Docker (16GB is preferred). This can be controlled in the Resources section of the Docker Desktop settings menu.\\n\\nSingle Cloud Instance\\nWe generally recommend setting everything up on a single instance (e.g. an AWS EC2 instance, a Google Compute Engine instance, an Azure VM, etc.)\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7081650590170112, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nResourcing\\nWelcome to Onyx\\nResourcing\\nRecommended CPU / RAM / Disk to run Onyx\\n\\nRunning Locally\\nWhen running locally through Docker, we recommend making at least 4vCPU cores and 10GB of RAM available to Docker (16GB is preferred). This\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30591}, {\"document_id\": \"https://docs.onyx.app/backend_apis/ingestion\", \"chunk_ind\": 1, \"semantic_identifier\": \"Ingestion API - Onyx Documentation\", \"link\": \"https://docs.onyx.app/backend_apis/ingestion\", \"blurb\": \"\\\", \\\"link\\\": \\\"https://docs.onyx.app/introduction#main-features\\\" } ], \\\"source\\\": \\\"web\\\", \\\"semantic_identifier\\\": \\\"Onyx Ingestion Example\\\", \\\"metadata\\\": { \\\"tag\\\": \\\"informational\\\", \\\"topics\\\": [\\\"onyx\\\", \\\"api\\\"] }, \\\"doc_updated_at\\\": \\\"2024-04-25T08:20:00Z\\\" },\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7062180269239264, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\\\", \\\"link\\\": \\\"https://docs.onyx.app/introduction#main-features\\\" } ], \\\"source\\\": \\\"web\\\", \\\"semantic_identifier\\\": \\\"Onyx Ingestion Example\\\", \\\"metadata\\\": { \\\"tag\\\": \\\"informational\\\", \\\"topics\\\": [\\\"onyx\\\", \\\"api\\\"] }, \\\"doc_updated_at\\\": \\\"2024-04\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30592}, {\"document_id\": \"https://docs.onyx.app/production/digitalocean\", \"chunk_ind\": 3, \"semantic_identifier\": \"Deploy on Digital Ocean - Onyx Documentation\", \"link\": \"https://docs.onyx.app/production/digitalocean\", \"blurb\": \"You can then access Onyx from the IP address from earlier or from the instance Public IPv4 DNS provided on the instances page in the DigitalOcean console.\\nVoila, youre all done! \\nAfter waiting a few minutes (you can monitor the progress with docker logs onyx-stack-api_server-1 -f ; once you see a log for INFO: Application startup complete. then everything should be good to go).\\nDeploy on Azure Basic Auth Setup\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.706104456865677, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"You can then access Onyx from the IP address from earlier or from the instance Public IPv4 DNS provided on the instances page in the DigitalOcean console.\\nVoila, youre all done! \\nAfter waiting\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30593}, {\"document_id\": \"https://docs.onyx.app/gen_ai_configs/vertex_ai\", \"chunk_ind\": 0, \"semantic_identifier\": \"Vertex AI - Onyx Documentation\", \"link\": \"https://docs.onyx.app/gen_ai_configs/vertex_ai\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nVertex AI\\nGen AI Configs\\nVertex AI\\nConfigure Onyx to use Vertex AI\\nThere are currently two supported approaches to use Vertex AI with Onyx:\\n- Use the gcloud CLI to authenticate\\n- Set up a service account, and use the service account to authenticate\\n\\nUse the gcloud CLI to authenticate\\n- Install the gcloud CLI\\n- Authenticate with the gcloud CLI using gcloud auth application-default login on the machine that Onyx is running on.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.7014995030449938, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nVertex AI\\nGen AI Configs\\nVertex AI\\nConfigure Onyx to use Vertex AI\\nThere are currently two supported approaches to use Vertex AI with Onyx:\\n- Use the gcloud CLI to authenticate\\n- Set up a service\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30594}, {\"document_id\": \"https://docs.onyx.app/guides/assistants\", \"chunk_ind\": 0, \"semantic_identifier\": \"Creating Assistants - Onyx Documentation\", \"link\": \"https://docs.onyx.app/guides/assistants\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGuides\\nCreating Assistants\\nGuides\\nCreating Assistants\\nA comprehensive guide to creating and configuring AI assistants in Onyx\\n\\nIntroduction\\nOnyx empowers you to create custom AI assistants tailored to your specific needs. These assistants can be configured to handle a wide range of tasks, from answering HR queries to assisting with technical support. This guide will walk you through the process of creating an effective assistant using Onyxs platform.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6999865997439739, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nGuides\\nCreating Assistants\\nGuides\\nCreating Assistants\\nA comprehensive guide to creating and configuring AI assistants in Onyx\\n\\nIntroduction\\nOnyx empowers you to create custom AI assistants tailored to your specific needs. These assistants can be configured to handle a wide range of tasks\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30595}, {\"document_id\": \"https://docs.onyx.app/connectors/productboard\", \"chunk_ind\": 0, \"semantic_identifier\": \"Productboard Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/productboard\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nProductboard Connector\\nConnectors\\nProductboard Connector\\nSync knowledge from Productboard\\n\\nHow it works\\nThe Productboard connector pulls in all the Features , Components , Products , and Objectives into Onyx. At this time, the Productboard APIs does not support pulling in Releases or Notes .\\nEverything is updated every 10 minutes.\\n\\nSetting up\\n\\nAuthorization\\n- Follow the Getting a token guide here to get an Access Token.\\n\\nIndexing\\n- Navigate to the Admin Dashboard and select the Productboard Connector\\n- In Step 1 , provide your Access Token\\n- Click Connect to begin indexing\\nOracle Storage Connector R2 Connector\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6998899159165912, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nProductboard Connector\\nConnectors\\nProductboard Connector\\nSync knowledge from Productboard\\n\\nHow it works\\nThe Productboard connector pulls in all the Features , Components , Products , and Objectives into Onyx. At this time, the Productboard APIs does not support pulling in Releases or Notes .\\nEverything is updated every...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30596}, {\"document_id\": \"https://docs.onyx.app/gen_ai_configs/anthropic\", \"chunk_ind\": 0, \"semantic_identifier\": \"Anthropic - Onyx Documentation\", \"link\": \"https://docs.onyx.app/gen_ai_configs/anthropic\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nAnthropic\\nGen AI Configs\\nAnthropic\\nConfigure Onyx to use different Anthropic models\\nAnthropic is quite straightforward. Grab an API key from the developer platform, then put it into the API Key field and youll be good to go!\\nOpenAI Azure OpenAI\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6987812846797853, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nAnthropic\\nGen AI Configs\\nAnthropic\\nConfigure Onyx to use different Anthropic models\\nAnthropic is quite straightforward. Grab an API key from the developer platform, then put it into the API Key field and youll be good to go!\\nOpenAI Azure OpenAI\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30597}, {\"document_id\": \"https://docs.onyx.app/guides/providers\", \"chunk_ind\": 0, \"semantic_identifier\": \"LLM Providers - Onyx Documentation\", \"link\": \"https://docs.onyx.app/guides/providers\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGuides\\nLLM Providers\\nGuides\\nLLM Providers\\nA comprehensive guide to selecting and using LLM providers in Onyx\\n\\nOnyxs Approach to LLM Providers\\nOnyx is designed to be model-agnostic, offering you the flexibility to choose the Language Model (LLM) that best suits your needs. This approach ensures that youre not locked into a single provider and can leverage the strengths of different models for various tasks.\\n\\nModel Overview\\nOnyx offers integration with several popular LLM providers, with a focus on models from OpenAI and Anthropic.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6977828603836059, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nGuides\\nLLM Providers\\nGuides\\nLLM Providers\\nA comprehensive guide to selecting and using LLM providers in Onyx\\n\\nOnyxs Approach to LLM Providers\\nOnyx is designed to be model-agnostic, offering you the flexibility to choose the Language Model (LLM) that best suits\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30598}, {\"document_id\": \"https://docs.onyx.app/tools/custom\", \"chunk_ind\": 2, \"semantic_identifier\": \"Custom Tools - Onyx Documentation\", \"link\": \"https://docs.onyx.app/tools/custom\", \"blurb\": \"\\\"prompt_ids\\\", \\\"document_set_ids\\\", \\\"tool_ids\\\" ] } } } } } } } }\\nTools Overview Ingestion API\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6917964662185853, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"\\\"prompt_ids\\\", \\\"document_set_ids\\\", \\\"tool_ids\\\" ] } } } } } } } }\\nTools Overview Ingestion API\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30599}, {\"document_id\": \"https://docs.onyx.app/connectors/s3\", \"chunk_ind\": 1, \"semantic_identifier\": \"S3 Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/s3\", \"blurb\": \"Request Tracker Connector Salesforce Connector\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6914784661364269, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Request Tracker Connector Salesforce Connector\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30600}, {\"document_id\": \"https://docs.onyx.app/guides/embedding_providers\", \"chunk_ind\": 0, \"semantic_identifier\": \"Embedding Models - Onyx Documentation\", \"link\": \"https://docs.onyx.app/guides/embedding_providers\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGuides\\nEmbedding Models\\nGuides\\nEmbedding Models\\nA comprehensive guide to selecting and using embedding models in your application\\n\\nOverview of Embedding Models\\nOur application supports integration with several popular embedding model providers, offering you flexibility in choosing the model that best suits your needs. Heres an overview of the available models:\\n\\nOpenAI Models\\n\\ntext-embedding-3-small\\nOpenAIs newer, more efficient embedding model. Good balance of performance and efficiency.\\n\\ntext-embedding-3-large\\nOpenAIs large embedding model.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6890576355992892, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nGuides\\nEmbedding Models\\nGuides\\nEmbedding Models\\nA comprehensive guide to selecting and using embedding\", \"Credentials Setup\\nTo use OpenAI models:\\n- Sign up for an account at OpenAIs website .\\n- Follow their docs to get an API key.\\n- Use your OpenAI key in Onyx\\n\\nCohere Models\\n\\nembed-english-v3.0\\nCoheres English embedding model. Good...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30601}, {\"document_id\": \"https://docs.onyx.app/production/gcp\", \"chunk_ind\": 2, \"semantic_identifier\": \"Deploy on GCP - Onyx Documentation\", \"link\": \"https://docs.onyx.app/production/gcp\", \"blurb\": \"First, lets clone the repo:\\ngit clone https://github.com/onyx-dot-app/onyx.git\\nNext, lets set the necessary env variables:\\ncd onyx/deployment/docker_compose touch .env touch .env.nginx\\nIn the .env file, you can copy past the following (filling in the missing fields as needed):\\nWEB_DOMAIN= # something like \\\"onyx.app\\\" # if your email is something like \\\"chris@onyx.app\\\",\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6882104087599304, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"First, lets clone the repo:\\ngit clone https://github.com/onyx-dot-app/onyx.git\\nNext, lets set the necessary env variables:\\ncd onyx/deployment/docker_compose touch .env\", \"PASSWORD=password\\nIn the .env.nginx file, put the following:\\nDOMAIN= # something like \\\"onyx.app\\\"\\nNext, lets get our SSL certificate from letsencrypt . To do this, we can simply...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30602}, {\"document_id\": \"https://docs.onyx.app/connectors/linear\", \"chunk_ind\": 0, \"semantic_identifier\": \"Linear Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/linear\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nLinear Connector\\nConnectors\\nLinear Connector\\nAccess the latest tickets from Linear\\n\\nHow it works\\nThe Linear connector pulls in all the Linear issues and the associated comments.\\nIssues are updated every 10 minutes.\\n\\nSetting up\\n\\nAuthorization\\n- Grab an API key as shown below.\\n\\nIndexing\\n- Navigate to the Admin Dashboard and select the Linear Connector\\n- In Step 1 , provide the API Key from above.\\n- Click Connect to begin indexing\\nJira Connector Notion Connector\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.685349768161767, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nLinear Connector\\nConnectors\\nLinear Connector\\nAccess the latest tickets from\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30603}, {\"document_id\": \"https://docs.onyx.app/enterprise_edition/theming\", \"chunk_ind\": 0, \"semantic_identifier\": \"Theming - Onyx Documentation\", \"link\": \"https://docs.onyx.app/enterprise_edition/theming\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nTheming\\nEnterprise\\nTheming\\nCustomize the look of Onyx\\nAs part of the Enterprise Edition, we provide the ability to easily customize the look of Onyx. This comes in two forms:\\n- Adding in your own custom application name / logo.\\n- Customizing every color in the UI.\\n\\nCustomizing the Application Name / Logo\\nTo provide your own application name / logo, you can use the Whitelabelling tab in the admin panel. Here, we provide a way to input a name of your choice, as well as an optional logo.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.684448806794859, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nEnterprise\\nTheming\\nEnterprise\\nTheming\\nCustomize the look of Onyx\\nAs part of the Enterprise Edition, we provide the ability to easily customize the look of Onyx. This comes in two forms:\\n- Adding in your own custom application name / logo.\\n- Customizing every color in the UI.\\n\\nCustomizing the Application Name / Logo\\nTo\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30604}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/enterprise_search\", \"chunk_ind\": 0, \"semantic_identifier\": \"Enterprise Search - Onyx Documentation\", \"link\": \"https://docs.onyx.app/more/use_cases/enterprise_search\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nEnterprise Search\\nUse Cases\\nEnterprise Search\\nValue of Enterprise Search with Onyx\\n\\nWhat is Enterprise Search and why is it Important?\\nAn Enterprise Search system gives team members a single place to access all of the disparate knowledge of an organization. Critical information is saved across a host of channels like call transcripts with prospects, engineering design docs, IT runbooks, customer support email exchanges, project management tickets, and more. As fast moving teams scale up, information gets spread out and more disorganized.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6799199901961656, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nEnterprise Search\\nUse Cases\\nEnterprise Search\\nValue of Enterprise Search with Onyx\\n\\nWhat is Enterprise Search and why is it Important?\\nAn Enterprise Search system gives team members a single place to access all of the disparate knowledge of an organization\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30605}, {\"document_id\": \"https://docs.onyx.app/gen_ai_configs/open_ai\", \"chunk_ind\": 0, \"semantic_identifier\": \"OpenAI - Onyx Documentation\", \"link\": \"https://docs.onyx.app/gen_ai_configs/open_ai\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nOpenAI\\nGen AI Configs\\nOpenAI\\nConfigure Onyx to use different OpenAI models\\nOpenAI is quite straightforward. Grab an API key from the developer platform, then put it into the API Key field and youll be good to go!\\nGenAI Overview Anthropic\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6781042365402251, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nOpenAI\\nGen AI Configs\\nOpenAI\\nConfigure Onyx to use different OpenAI models\\nOpenAI is quite straightforward. Grab an API key from the developer platform, then put it into the API Key field and youll be good to go!\\nGenAI Overview Anthropic\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30606}, {\"document_id\": \"https://docs.onyx.app/connectors/file\", \"chunk_ind\": 0, \"semantic_identifier\": \"File Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/file\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nFile Connector\\nConnectors\\nFile Connector\\nAccess knowledge from Local Files\\n\\nHow it works\\nThe File Connector indexes user uploaded files. Currently supports .txt , .pdf , .docx , .pptx , .xlsx , .csv , .md , .mdx , .conf , .log , .json , .tsv , .xml , .yml , .yaml , .eml , and .epub files.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6764188909384969, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nFile Connector\\nConnectors\\nFile Connector\\nAccess knowledge from Local Files\\n\\nHow\", \"there are other file types in the zip, the other file types are ignored. There is also an optional metadata line that supports links, document owners, and time updated as metadata for Onyxs retrieval and AI Answer.\\n\\nAdding Metadata\\nThe...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30607}, {\"document_id\": \"https://docs.onyx.app/gen_ai_configs/huggingface\", \"chunk_ind\": 0, \"semantic_identifier\": \"HuggingFace Inference API - Onyx Documentation\", \"link\": \"https://docs.onyx.app/gen_ai_configs/huggingface\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nHuggingFace Inference API\\nGen AI Configs\\nHuggingFace Inference API\\nConfigure Onyx to use HuggingFace APIs\\nRefer to Model Configs for how to set the environment variables for your particular deployment.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6744486846414283, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nGen AI Configs\\nHuggingFace Inference API\\nGen AI Configs\\nHuggingFace Inference API\\nConfigure Onyx to use HuggingFace APIs\\nRefer to Model Configs for how to set the environment variables for your particular deployment.\\nTo use the HuggingFace Inference\", \"\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30608}, {\"document_id\": \"https://docs.onyx.app/connectors/discourse\", \"chunk_ind\": 0, \"semantic_identifier\": \"Discourse Connector - Onyx Documentation\", \"link\": \"https://docs.onyx.app/connectors/discourse\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nDiscourse Connector\\nConnectors\\nDiscourse Connector\\nAccess knowledge from your Discourse Topics\\n\\nHow it works\\nThe Discourse connector indexes documents from your Discourse Topics .\\n\\nSetting up\\n\\nAuthorization\\n- Log into your Discourse account\\nThis Discourse user must have admin priveleges\\n- Click the Admin menu from the home page.\\n- Open the Advanced sub-menu and select API keys .\\n- Click New API Key , name it Onyx. Select All Users for User Level and Read-only for Scope .\\n- Click Save . Copy the key and put it into Onyx.\", \"source_type\": \"web\", \"boost\": 0, \"hidden\": false, \"metadata\": {}, \"score\": 0.6734803278371541, \"is_relevant\": null, \"relevance_explanation\": null, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nDiscourse Connector\\nConnectors\\nDiscourse Connector\\nAccess knowledge from your Discourse\", \"user must have admin priveleges\\n- Click the Admin menu from the home page.\\n- Open the Advanced sub-menu and select API keys .\\n- Click New API Key , name it Onyx. Select All Users for User Level and Read-only for Scope .\\n- Click Save...\"], \"updated_at\": null, \"primary_owners\": null, \"secondary_owners\": null, \"is_internet\": false, \"db_doc_id\": 30609}], \"rephrased_query\": \"what is onyx I, II, III, and IV?\\n\", \"predicted_flow\": \"question-answer\", \"predicted_search\": \"semantic\", \"applied_source_filters\": null, \"applied_time_cutoff\": null, \"recency_bias_multiplier\": 0.5}\n" -"{\"llm_selected_doc_indices\": []}\n" -"{\"final_context_docs\": [{\"document_id\": \"https://docs.onyx.app/introduction\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into any LLM of your choice. Onyx can be deployed anywhere and for any scale - on a laptop, on-premise, or to cloud. Since you own the deployment, your user data and chats are fully in your own control. Onyx is MIT licensed and designed to be modular and easily extensible. The system also comes fully ready for production usage with user authentication, role management (admin/basic users), chat persistence, and a UI for configuring Personas (AI Assistants) and their Prompts.\\nOnyx also serves as a Unified Search across all common workplace tools such as Slack, Google Drive, Confluence, etc. By combining LLMs and team specific knowledge, Onyx becomes a subject matter expert for the team. Its like ChatGPT if it had access to your teams unique knowledge! It enables questions such as A customer wants feature X, is this already supported? or Wheres the pull request for feature Y?\\nOnyx can also be plugged into existing tools like Slack to get answers and AI chats directly in Slack.\\n\\nDemo\\n\\nMain Features \\n- Chat UI with the ability to select documents to chat with.\\n- Create custom AI Assistants with different prompts and backing knowledge sets.\\n- Connect Onyx with LLM of your choice (self-host for a fully airgapped solution).\\n- Document Search + AI Answers for natural language queries.\\n- Connectors to all common workplace tools like Google Drive, Confluence, Slack, etc.\\n- Slack integration to get answers and search results directly in Slack.\\n\\nUpcoming\\n- Chat/Prompt sharing with specific teammates and user groups.\\n- Multi-modal model support, chat with images, video etc.\\n- Choosing between LLMs and parameters during chat session.\\n- Tool calling and agent configurations options.\\n- Organizational understanding and ability to locate and suggest experts from your team.\\n\\nOther Noteable Benefits of Onyx\\n- User Authentication with document level access management.\\n- Best in class Hybrid Search across all sources (BM-25 + prefix aware embedding models).\\n- Admin Dashboard to configure connectors, document-sets, access, etc.\\n- Custom deep learning models + learn from user feedback.\\n- Easy deployment and ability to host Onyx anywhere of your choosing.\\nQuickstart\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into any LLM of your choice. Onyx can be deployed anywhere and for any scale - on a laptop, on-premise, or to cloud. Since you own the deployment, your user data and chats are fully in your own control. Onyx is MIT licensed and designed to be modular and easily extensible.\", \"semantic_identifier\": \"Introduction - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/introduction\", \"source_links\": {\"0\": \"https://docs.onyx.app/introduction\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into\", \"\"]}, {\"document_id\": \"https://www.onyx.app/\", \"content\": \"Help your \\u00b0\\nEng\\nSupport\\nSales\\nProduct\\nOps team\\nfind information faster\\nThe open source AI connected to your company's docs, apps, and people Book a demo\\nYour browser does not support the video tag.\\nAI Workplace Search\\nFind answers across all your teams' applications\\nYour browser does not support the video tag.\\nAI Assistant\\nCreate AI Assistants powered by your org's unique knowledge, available right where you work\\nYour browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\\nOnyx connects to all your apps\\nWorks out of the box, syncs in real time, with document level access.\\n40+ integrations available, with more being built every day.\\nBuilt for\\nEnterprise\\nIt's been great to partner and work with the Onyx team ... it's an easy to set up, intuitive product that finds natural product market fit by meeting your team where they're already collaborating.\\nTony Rios\\nDirector, Product Ops at Ramp\\nData\\nSecurity\\nRun Onyx fully air gapped in your VPC or even on-premise.\\nNo data needs to ever leave your deployment.\\nAdvanced\\nPermission\\nDocument level permissions automatically inherited from connected sources.\\nEasily create advanced access rules directly within Onyx.\\nMost\\nExtensible\\nModular, open-source, and easy to customize.\\nPlug in custom tools, processing modules, and UI elements to make Onyx work the way you need it to.\\nModel\\nAgnostic\\nChoose any model provider, or plug in your own self-hosted LLM.\\nPick the model that works for your use case, swap them at will. Control is yours.\\nInternal Search\\nThe average worker spends 9.3 hours a week looking for information. Unblock your team with GenAI.\\nCustomer Support\\nInstantly answer questions across your entire product.\\nDevelopers\\nEmpower your devs to ship with speed and confidence.\\nSales\\nClose deals faster with instant access to every customer conversation and prodpuct update.\\nWe use cookies to enhance your experience and analyze our site usage. Do you accept?\\nAccept Reject\", \"blurb\": \"Help your \\u00b0\\nEng\\nSupport\\nSales\\nProduct\\nOps team\\nfind information faster\\nThe open source AI connected to your company's docs, apps, and people Book a demo\\nYour browser does not support the video tag.\\nAI Workplace Search\\nFind answers across all your teams' applications\\nYour browser does not support the video tag.\\nAI Assistant\\nCreate AI Assistants powered by your org's unique knowledge, available right where you work\\nYour browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\", \"semantic_identifier\": \"Onyx\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://www.onyx.app/\", \"source_links\": {\"0\": \"https://www.onyx.app/\"}, \"match_highlights\": [\"\", \" browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\\nOnyx connects to all your apps\\nWorks out of the box, syncs in real time, with document level access.\\n40+ integrations available, with more being built every day.\\nBuilt for\\nEnterprise\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/system_overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking to customize the system or become an open source contributors, this is a great place to start.\\n\\nSystem Architecture\\nWhether deploying Onyx on a single instance or a container orchestration platform, the flow of data is the same. Documents are pulled and processed via connectors and then persisted in Vespa/Postgres which run in containers within your system.\\nThe only time sensitive data leaves your Onyx setup is when it makes a call to an LLM to generate an answer. The communications to the LLM are encrypted. The data persistence at the LLM API depends on the terms of the LLM hosting service you are using.\\nWe also note that Onyx has some very limited and anonymous telemetry to help us improve the system by identifying bottlenecks and flaky data connectors. You can turn off the telemetry with by setting the DISABLE_TELEMETRY env variable to True.\\n\\nEmbedding Flow\\nEach document is split into smaller sections called Chunks.\\nBy passing chunks to the LLM instead of full documents, we are able to reduce noise to the model by only passing in the relevant sections of the document. Additionally this is significantly more cost efficient as LLM services generally charge per token. Finally by embedding chunks rather than full documents, we are able to retain more detail as each vector embedding is only capable of encoding a limited amount of information.\\nThe addition of mini-chunks takes this concept even further. By embedding at different sizes, Onyx can retrieve both high level context and details. Mini-chunks can also be turned on/off via environment variables as generating multiple vectors per chunk can slow down document indexing if deployed on less capable hardware.\\nIn choosing our embedding model, we use the latest state-of-the-art biencoder that is small enough to run on CPU while maintaining subsecond document retrieval times.\\n\\nQuery Flow\\nThis flow is often updated as were constantly striving to push the capabilities of the retrieval pipeline with the most recent advancements coming out of research and the opensource community.\\nAlso note that many of the parameters of this flow such as how much documents to retrieve, how many to rerank, what models to use, which chunks are passed to the LLM, etc. are all configurable.\\nIf there are any questions, dont hesitate to reach out to the maintainers!\\nMultilingual Setup Contact Us\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking to customize the system or become an open source contributors, this is a great place to start.\\n\\nSystem Architecture\\nWhether deploying Onyx on a single instance or a container orchestration platform, the flow of data is the same.\", \"semantic_identifier\": \"System Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/system_overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/system_overview\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking...\"]}, {\"document_id\": \"https://docs.onyx.app/tools/overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform actions (e.g. write to a database, send an email, etc.)\\n- Generate content (e.g. generate an Image, create a plot, etc.)\\nBy default, we have a three tools built-in to Onyx. These are:\\n-\\nSearchTool . This is the core of Onyx. Adding this tool to an Assistant allows it to search over the knowledge youve connected up to Onyx through Connectors . This is the only tool available to the default Onyx assistant.\\n-\\nImageGenerationTool . This leverages DALLE-3 to generate images.\\n-\\nInternetSearchTool . This uses Bing to search the internet. To enable this as an option, set the BING_API_KEY environment variable.\\nEmbedding Models Custom Tools\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform actions (e.g. write to a database, send an email, etc.)\\n- Generate content (e.g. generate an Image, create a plot, etc.)\\nBy default, we have a three tools built-in to Onyx.\", \"semantic_identifier\": \"Tools Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/tools/overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/tools/overview\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/configuration_guide\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nConfiguring Onyx\\nWelcome to Onyx\\nConfiguring Onyx\\nHow to customize your deployment environment.\\n\\nCommon Environment Variables\\nAll of the global configuration options that are not built into the UI are set via environment variables. This page contains an exhaustive list of all the options.\\nThere are defaults set in the code so changing/settings these values is not required to use Onyx. A few notable settings that are more frequently changed however are the following:\\n- AUTH_TYPE (default value is disabled )\\n- MULTILINGUAL_QUERY_EXPANSION (you can provide a comma separated list of languages for query rephrasing such as English,French )\\n- LOG_LEVEL (default is info )\\n- WEB_DOMAIN (your full url in production, including the protocol- e.g. https://www.onyx.app )\\n\\nDocker Compose\\nThere are several ways to configure environment variables for the containers. For Docker Compose, there are many ways to pass environment variables to the container, any of the standard approaches will work. However the preferred approach for Onyx is to use the .env file. To do this, create a file called .env at onyx/deployment/docker_compose/.env . From there, populate it with the values you want to override:\\n# Configures basic email/password based login AUTH_TYPE=\\\"basic\\\" # Rephrasing the query into different languages to improve search recall MULTILINGUAL_QUERY_EXPANSION=\\\"English,Spanish,German\\\" # Set a cheaper/faster LLM for the flows that are easier (such as translating the query etc.) FAST_GEN_AI_MODEL_VERSION=\\\"gpt-3.5-turbo\\\" # Setting more verbose logging LOG_LEVEL=\\\"debug\\\" LOG_ALL_MODEL_INTERACTIONS=\\\"true\\\"\\n\\nKubernetes\\nFor Kubernetes, the deployment yaml files includes an Environment ConfigMap. Simply update the values in the file here .\\n\\nAll Environment Variables\\nThis is an extensive list of the currently supported environment variables within Onyx. There are several classes of environment variables. All of the global configuration options that are not built into the UI are set via environment variables.\\nYou can set these in your .env file.\\n\\nAuth Settings\\nThese variables control authentication and user management in Onyx.\\nAUTH_TYPE\\nControls the authentication method used by Onyx.\\ndisabled : No authentication is required.\\ngoogle_oauth : Users can log in using their Google accounts.\\nbasic : Standard username/password authentication.\\noidc : OpenID Connect, available in the enterprise edition.\\nsaml : Security Assertion Markup Language, available in the enterprise edition.\\n\\nSESSION_EXPIRE_TIME_SECONDS\\nDefines the duration of a users session in seconds. Default is 24 hours.\\n\\nENCRYPTION_KEY_SECRET\\nA strong, unique string used for encryption purposes. Keep this value secret.\\n\\nVALID_EMAIL_DOMAINS\\nComma-separated list of allowed email domains for authentication. Leave empty to allow all domains.\\n\\nGOOGLE_OAUTH_CLIENT_ID\\nClient ID for Google OAuth authentication, obtained from Google Cloud Console .\\n\\nGOOGLE_OAUTH_CLIENT_SECRET\\nClient Secret for Google OAuth authentication, obtained from Google Cloud Console . Keep this value secret.\\n\\nREQUIRE_EMAIL_VERIFICATION\\nWhen set to true , users must verify their email before accessing Onyx.\\n\\nSMTP_SERVER\\nHostname of the SMTP server for sending verification emails. Default is smtp.gmail.com .\\n\\nSMTP_PORT\\nPort used for SMTP communication. Common values are 587 (TLS) or 465 (SSL).\\n\\nSMTP_USER\\nUsername for SMTP authentication, often an email address used to send verification emails.\\n\\nSMTP_PASS\\nPassword for SMTP authentication. Keep this value secret.\\n\\nEMAIL_FROM\\nEmail address used as the sender for verification emails.\\n\\nNEXT_PUBLIC_FORGOT_PASSWORD_ENABLED\\nSet to true to enable the forgot password feature. Only enable this if you have configured the above SMTP settings (For email functionality).\\n\\nGen AI Settings\\nThese variables configure the generative AI capabilities of Onyx. These are covered in more depth at the generative AI configs .\\n\\nGEN_AI_MODEL_PROVIDER\\nSpecifies the provider of the generative AI model (e.g., openai , anthropic , huggingface ).\\n\\nGEN_AI_MODEL_VERSION\\nDefines the version of the generative AI model to use (e.g., gpt-4 for OpenAI).\\n\\nFAST_GEN_AI_MODEL_VERSION\\nSpecifies a faster (usually smaller) model version for certain tasks.\\n\\nGEN_AI_API_KEY\\nAPI key for accessing the generative AI service. Keep this value secret.\\n\\n...\\n\\nPOSTGRES_HOST\\nHostname or IP address of the Postgres server. Default is relational_db .\\n\\nVESPA_HOST\\nHostname or IP address of the Vespa server. Default is index .\\n\\nWEB_DOMAIN\\nFully qualified domain name used for the Onyx web interface. (e.g. https://www.onyx.com )\\n\\nNLP Model Configurations\\nAdvanced settings for NLP models. Modify with caution.\\n\\nINDEX_BATCH_SIZE\\nSize of batch used when indexing documents. Overrides the default batch size for indexing operations.\\n\\nEMBEDDING_BATCH_SIZE\\nSize of batch used when embedding documents during indexing and search operations. Overrides the default batch size for embedding processes.\\n\\nDOCUMENT_ENCODER_MODEL\\nName or path of the encoder model used for document encoding.\\n\\nDOC_EMBEDDING_DIM\\nDimension of document embeddings, typically matching the chosen encoder models output dimension.\\n\\nNORMALIZE_EMBEDDINGS\\nSet to true to enable normalization of embeddings.\\n\\nASYM_QUERY_PREFIX\\nText prepended to queries in asymmetric semantic search.\\n\\nENABLE_RERANKING_REAL_TIME_FLOW\\nSet to true to enable reranking in real-time search flow.\\n\\nENABLE_RERANKING_ASYNC_FLOW\\nSet to true to enable reranking in asynchronous search flow.\\n\\nMODEL_SERVER_HOST\\nHostname or IP address of the model server. Default is inference_model_server .\\n\\nMODEL_SERVER_PORT\\nPort on which the model server is listening.\\n\\nMiscellaneous\\n< Various other configuration options.\\n\\nDISABLE_TELEMETRY\\nSet to true to opt out of telemetry. Telemetry helps improve Onyx; no sensitive data is collected.\\n\\nLOG_LEVEL\\nSets the logging verbosity. Possible values: debug , info , warning , error , critical .\\n\\nLOG_ALL_MODEL_INTERACTIONS\\nSet to true to enable logging of all prompts sent to the LLM.\\n\\nLOG_VESPA_TIMING_INFORMATION\\nSet to true to enable additional logging of Vespa query performance.\\n\\nLOG_ENDPOINT_LATENCY\\nSet to true to enable logging of endpoint latency information.\\nCustom Model Server Multilingual Setup\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nConfiguring Onyx\\nWelcome to Onyx\\nConfiguring Onyx\\nHow to customize your deployment environment.\\n\\nCommon Environment Variables\\nAll of the global configuration options that are not built into the UI are set via environment variables. This page contains an exhaustive list of all the options.\\nThere are defaults set in the code so changing/settings these values is not required to use Onyx.\", \"semantic_identifier\": \"Configuring Onyx - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/configuration_guide\", \"source_links\": {\"0\": \"https://docs.onyx.app/configuration_guide\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nConfiguring Onyx\\nWelcome to Onyx\\nConfiguring Onyx\\nHow to customize\", \"variables. This page contains an exhaustive list of all the options.\\nThere are defaults set in the code so changing/settings these values is not required to use Onyx. A few notable settings that are more...\"]}, {\"document_id\": \"https://docs.onyx.app/connectors/notion\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nNotion Connector\\nConnectors\\nNotion Connector\\nAccess knowledge from your Notion workspace\\n\\nHow it works\\nThe Notion connector uses the Notion search API to fetch all pages that the connector has access to within a workspace. For follow up indexing runs, the connector only retrieves pages that have been updated since the last indexing attempt. Indexing is configured to run every 10 minutes , so page updates should appear within 10 minutes.\\n\\nSetting up\\n\\nAuthorization\\nIn order to authorize Onyx to connect to your Notion workspace, youll need to create a new integration in Notion, which will then provide you with a secret token.\\nThese steps are pulled from this Notion guide which you can also follow.\\n\\nStep 1: Create an integration\\n- Visit https://www.notion.com/my-integrations in your browser.\\n- Click the + New integration button.\\n- Name the integration (something like Onyx could work).\\n- Select Read content as the only capability required for Onyx.\\n- Click Submit to create the integration.\\nOn the next page, youll find your Notion integration token, also called an API key. Youll need this token to configure Onyx to index Notion, so make a copy of it.\\nThe integration has been added to the workspace, so any member can share pages and databases with it. Theres no requirement to be an Admin to share information with an integration.\\n\\nStep 2: Share pages/databases with your integration\\nNow that youve created an integration, you need to grant it access to Notion pages/databases. To keep your information secure, integrations dont have access to any pages or databases in the workspace at first. You must share specific pages with an integration in order for Onyx to access those pages.\\nTo share a page/database with your integration:\\n- Go to the page/database in your workspace.\\n- Click the on the top right corner of the page.\\n- Scroll to the bottom of the pop-up and click Add connections.\\n- Search for and select the new integration in the Search for connections... menu.\\n- If youve added a page, all child pages also become accesssible to Onyx. If youve added a database, all rows (and their children) become accessible to Onyx.\\nOnce youve granted access to a page/database, you can start configuring Onyx to index those databases.\\n\\nIndexing\\n- Navigate to the Admin Dashboard and select the Notion connector.\\n- In Step 1 , provide the Integration Token Secret you obtained in the Authorization steps above:\\n- Click the Connect button! Your content will then be pulled into Onyx every 10 minutes.\\nNote - As mentioned, the Notion connector currently indexes everything it has access to. If you want to limit specific content being indexed, simply unshare the database from Notion with the integration.\\nLinear Connector Oracle Storage Connector\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nNotion Connector\\nConnectors\\nNotion Connector\\nAccess knowledge from your Notion workspace\\n\\nHow it works\\nThe Notion connector uses the Notion search API to fetch all pages that the connector has access to within a workspace. For follow up indexing runs, the connector only retrieves pages that have been updated since the last indexing attempt. Indexing is configured to run every 10 minutes , so page updates should appear within 10 minutes.\", \"semantic_identifier\": \"Notion Connector - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/connectors/notion\", \"source_links\": {\"0\": \"https://docs.onyx.app/connectors/notion\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nNotion Connector\\nConnectors\\nNotion Connector\\nAccess knowledge from your Notion workspace\", \"since the last indexing attempt. Indexing is configured to run every 10 minutes , so page updates should appear within 10 minutes.\\n\\nSetting up\\n\\nAuthorization\\nIn order to authorize Onyx to connect to your Notion workspace, youll...\"]}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/ai_platform\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user chat sessions, attaching custom tools, handling LLM reasoning, code execution, data analysis, referencing internal knowledge, and much more.\\nOnyx as a platform is not a no-code agent builder. We are made by developers for developers and this gives your team the full flexibility and power to create agents not constrained by blocks and simple logic paths.\\n\\nFlexibility and Extensibility\\nOnyx is open source and completely whitebox. This not only gives transparency to what happens within the system but also means that your team can directly modify the source code to suit your unique needs.\\nEnterprise Search Customer Support\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user chat sessions, attaching custom tools, handling LLM reasoning, code execution, data analysis, referencing internal knowledge, and much more.\\nOnyx as a platform is not a no-code agent builder.\", \"semantic_identifier\": \"AI Platform - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/more/use_cases/ai_platform\", \"source_links\": {\"0\": \"https://docs.onyx.app/more/use_cases/ai_platform\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user...\"]}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI more versatile for work by enabling new types of questions like What is the most common feature request weve heard from customers this month. Whereas other AI systems have no context of your team and are generally unhelpful with work related questions, Onyx makes it possible to ask these questions in natural language and get back answers in seconds.\\nOnyx can connect to +30 different tools and the use cases are not limited to the ones in the following pages. The highlighted use cases are for inspiration and come from feedback gathered from our users and customers.\\n\\nCommon Getting Started Questions:\\n\\nWhy are these docs connected in my Onyx deployment?\\nAnswer: This is just an example of how connectors work in Onyx. You can connect up your own teams knowledge and you will be able to ask questions unique to your organization. Onyx will keep all of the knowledge up to date and in sync with your connected applications.\\n\\nIs my data being sent anywhere when I connect it up to Onyx?\\nAnswer: No! Onyx is built with data security as our highest priority. We open sourced it so our users can know exactly what is going on with their data. By default all of the document processing happens within Onyx. The only time it is sent outward is for the GenAI call to generate answers.\\n\\nWhere is the feature for auto sync-ing document level access permissions from all connected sources?\\nAnswer: This falls under the Enterprise Edition set of Onyx features built on top of the MIT/community edition. If you are on Onyx Cloud, you have access to them by default. If youre running it yourself, reach out to the Onyx team to receive access.\\nAdvanced Curator Examples Enterprise Search\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI more versatile for work by enabling new types of questions like What is the most common feature request weve heard from customers this month. Whereas other AI systems have no context of your team and are generally unhelpful with work related questions, Onyx makes it possible to ask these questions in natural language and get back answers in seconds.\", \"semantic_identifier\": \"Use Cases Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/more/use_cases/overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/more/use_cases/overview\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/google_oauth_setup\", \"content\": \"To turn the feature on set:\\n- AUTH_TYPE=google_oauth\\n- OAUTH_CLIENT_ID=\\n- OAUTH_CLIENT_SECRET=\\n- If setting up in production, then:\\n- WEB_DOMAIN=\\n\\nNon Containerized\\nSimply set the above environment variables when running the different Onyx processes.\\n- The backend api server uses the 3 environment variables\\n- The frontend hits the api server to determine what user authentication setting is configured and serves the relevant pages.\\n\\nDocker Compose\\nSimply set the 4 environment variables in a file called .env under onyx/deployment/docker_compose .\\n\\nKubernetes\\nKubernetes deployment was designed for production use and assumes that user Auth is a required feature therefore it is on by default. To set up the required values, replace the REPLACE-THIS values in secrets.yaml with thebase64 encoded client ID and client secret from above.\\nBasic Auth Setup OIDC/SAML Setup\", \"blurb\": \"To turn the feature on set:\\n- AUTH_TYPE=google_oauth\\n- OAUTH_CLIENT_ID=\\n- OAUTH_CLIENT_SECRET=\\n- If setting up in production, then:\\n- WEB_DOMAIN=\\n\\nNon Containerized\\nSimply set the above environment variables when running the different Onyx processes.\", \"semantic_identifier\": \"Google OAuth Setup - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/google_oauth_setup\", \"source_links\": {\"0\": \"https://docs.onyx.app/google_oauth_setup\"}, \"match_highlights\": [\"\", \"=\\n- OAUTH_CLIENT_SECRET=\\n- If setting up in production, then:\\n- WEB_DOMAIN=onyx.app>\\n\\nNon Containerized\\nSimply set the above environment variables when running the different Onyx processes.\\n- The backend api server uses the 3 environment variables\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/multilingual_setup\", \"content\": \"onyx documentation home page search... navigation welcome to onyx multilingual setup welcome to onyx multilingual setup how to set up onyx to support languages other than english for the majority of use cases, onyx provides an easy way to configure the system for multilingual use. to skip the details and just go to setup, see the configuration section below. how it works onyx has two main flows that assume english as a default. to use onyx in multilingual or non - english cases, these must be handled. - the vector portion of the hybrid - search / reranking. this selects relevant documents to pass to the large language model as context - the prompts for the large language model to instruct it on how to answer user queries. to address the first point, the english first embedding / reranking models can be swapped out for multilingual models. additionally query expansion is applied to rephrase the user query into the target languages. to address the second point, additional instructions are given to the llm to respect the input language and to respond in the same language as the user query. note : the onyx llm prompts are still in english, just with added instructions if the user configures multilingual settings ( see below ). if all of your documents and queries are in some other language, it will be better to simply translate all of onyxs prompts directly to that target language. you can do so here.\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nMultilingual Setup\\nWelcome to Onyx\\nMultilingual Setup\\nHow to set up Onyx to support languages other than English\\nFor the majority of use cases, Onyx provides an easy way to configure the system for multilingual use. To skip the details and just go to setup, see the Configuration section below.\\n\\nHow it works\\nOnyx has two main flows that assume English as a default. To use Onyx in multilingual or non-english cases, these must be handled.\", \"semantic_identifier\": \"Multilingual Setup - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/multilingual_setup\", \"source_links\": {\"0\": \"https://docs.onyx.app/multilingual_setup\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nMultilingual Setup\\nWelcome to Onyx\\nMultilingual Setup\\nHow to set up Onyx to support languages other than English\\nFor the majority of use cases, Onyx provides an easy way to configure the system for multilingual use. To skip the details and just go to setup\", \"\"]}]}\n" -"{\"tool_name\": \"run_search\", \"tool_args\": {\"query\": \"what is onyx I, II, III, and IV?\\n\"}, \"tool_result\": [{\"document_id\": \"https://docs.onyx.app/introduction\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into any LLM of your choice. Onyx can be deployed anywhere and for any scale - on a laptop, on-premise, or to cloud. Since you own the deployment, your user data and chats are fully in your own control. Onyx is MIT licensed and designed to be modular and easily extensible. The system also comes fully ready for production usage with user authentication, role management (admin/basic users), chat persistence, and a UI for configuring Personas (AI Assistants) and their Prompts.\\nOnyx also serves as a Unified Search across all common workplace tools such as Slack, Google Drive, Confluence, etc. By combining LLMs and team specific knowledge, Onyx becomes a subject matter expert for the team. Its like ChatGPT if it had access to your teams unique knowledge! It enables questions such as A customer wants feature X, is this already supported? or Wheres the pull request for feature Y?\\nOnyx can also be plugged into existing tools like Slack to get answers and AI chats directly in Slack.\\n\\nDemo\\n\\nMain Features \\n- Chat UI with the ability to select documents to chat with.\\n- Create custom AI Assistants with different prompts and backing knowledge sets.\\n- Connect Onyx with LLM of your choice (self-host for a fully airgapped solution).\\n- Document Search + AI Answers for natural language queries.\\n- Connectors to all common workplace tools like Google Drive, Confluence, Slack, etc.\\n- Slack integration to get answers and search results directly in Slack.\\n\\nUpcoming\\n- Chat/Prompt sharing with specific teammates and user groups.\\n- Multi-modal model support, chat with images, video etc.\\n- Choosing between LLMs and parameters during chat session.\\n- Tool calling and agent configurations options.\\n- Organizational understanding and ability to locate and suggest experts from your team.\\n\\nOther Noteable Benefits of Onyx\\n- User Authentication with document level access management.\\n- Best in class Hybrid Search across all sources (BM-25 + prefix aware embedding models).\\n- Admin Dashboard to configure connectors, document-sets, access, etc.\\n- Custom deep learning models + learn from user feedback.\\n- Easy deployment and ability to host Onyx anywhere of your choosing.\\nQuickstart\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into any LLM of your choice. Onyx can be deployed anywhere and for any scale - on a laptop, on-premise, or to cloud. Since you own the deployment, your user data and chats are fully in your own control. Onyx is MIT licensed and designed to be modular and easily extensible.\", \"semantic_identifier\": \"Introduction - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/introduction\", \"source_links\": {\"0\": \"https://docs.onyx.app/introduction\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nIntroduction\\nWelcome to Onyx\\nIntroduction\\nOnyx Overview\\n\\nWhat is Onyx\\nOnyx (Formerly Danswer) is the AI Assistant connected to your companys docs, apps, and people. Onyx provides a Chat interface and plugs into\", \"\"]}, {\"document_id\": \"https://www.onyx.app/\", \"content\": \"Help your \\u00b0\\nEng\\nSupport\\nSales\\nProduct\\nOps team\\nfind information faster\\nThe open source AI connected to your company's docs, apps, and people Book a demo\\nYour browser does not support the video tag.\\nAI Workplace Search\\nFind answers across all your teams' applications\\nYour browser does not support the video tag.\\nAI Assistant\\nCreate AI Assistants powered by your org's unique knowledge, available right where you work\\nYour browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\\nOnyx connects to all your apps\\nWorks out of the box, syncs in real time, with document level access.\\n40+ integrations available, with more being built every day.\\nBuilt for\\nEnterprise\\nIt's been great to partner and work with the Onyx team ... it's an easy to set up, intuitive product that finds natural product market fit by meeting your team where they're already collaborating.\\nTony Rios\\nDirector, Product Ops at Ramp\\nData\\nSecurity\\nRun Onyx fully air gapped in your VPC or even on-premise.\\nNo data needs to ever leave your deployment.\\nAdvanced\\nPermission\\nDocument level permissions automatically inherited from connected sources.\\nEasily create advanced access rules directly within Onyx.\\nMost\\nExtensible\\nModular, open-source, and easy to customize.\\nPlug in custom tools, processing modules, and UI elements to make Onyx work the way you need it to.\\nModel\\nAgnostic\\nChoose any model provider, or plug in your own self-hosted LLM.\\nPick the model that works for your use case, swap them at will. Control is yours.\\nInternal Search\\nThe average worker spends 9.3 hours a week looking for information. Unblock your team with GenAI.\\nCustomer Support\\nInstantly answer questions across your entire product.\\nDevelopers\\nEmpower your devs to ship with speed and confidence.\\nSales\\nClose deals faster with instant access to every customer conversation and prodpuct update.\\nWe use cookies to enhance your experience and analyze our site usage. Do you accept?\\nAccept Reject\", \"blurb\": \"Help your \\u00b0\\nEng\\nSupport\\nSales\\nProduct\\nOps team\\nfind information faster\\nThe open source AI connected to your company's docs, apps, and people Book a demo\\nYour browser does not support the video tag.\\nAI Workplace Search\\nFind answers across all your teams' applications\\nYour browser does not support the video tag.\\nAI Assistant\\nCreate AI Assistants powered by your org's unique knowledge, available right where you work\\nYour browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\", \"semantic_identifier\": \"Onyx\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://www.onyx.app/\", \"source_links\": {\"0\": \"https://www.onyx.app/\"}, \"match_highlights\": [\"\", \" browser does not support the video tag.\\nAPI for Developers\\nBuild custom workflows with open source APIs\\nYour browser does not support the video tag.\\nOnyx connects to all your apps\\nWorks out of the box, syncs in real time, with document level access.\\n40+ integrations available, with more being built every day.\\nBuilt for\\nEnterprise\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/system_overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking to customize the system or become an open source contributors, this is a great place to start.\\n\\nSystem Architecture\\nWhether deploying Onyx on a single instance or a container orchestration platform, the flow of data is the same. Documents are pulled and processed via connectors and then persisted in Vespa/Postgres which run in containers within your system.\\nThe only time sensitive data leaves your Onyx setup is when it makes a call to an LLM to generate an answer. The communications to the LLM are encrypted. The data persistence at the LLM API depends on the terms of the LLM hosting service you are using.\\nWe also note that Onyx has some very limited and anonymous telemetry to help us improve the system by identifying bottlenecks and flaky data connectors. You can turn off the telemetry with by setting the DISABLE_TELEMETRY env variable to True.\\n\\nEmbedding Flow\\nEach document is split into smaller sections called Chunks.\\nBy passing chunks to the LLM instead of full documents, we are able to reduce noise to the model by only passing in the relevant sections of the document. Additionally this is significantly more cost efficient as LLM services generally charge per token. Finally by embedding chunks rather than full documents, we are able to retain more detail as each vector embedding is only capable of encoding a limited amount of information.\\nThe addition of mini-chunks takes this concept even further. By embedding at different sizes, Onyx can retrieve both high level context and details. Mini-chunks can also be turned on/off via environment variables as generating multiple vectors per chunk can slow down document indexing if deployed on less capable hardware.\\nIn choosing our embedding model, we use the latest state-of-the-art biencoder that is small enough to run on CPU while maintaining subsecond document retrieval times.\\n\\nQuery Flow\\nThis flow is often updated as were constantly striving to push the capabilities of the retrieval pipeline with the most recent advancements coming out of research and the opensource community.\\nAlso note that many of the parameters of this flow such as how much documents to retrieve, how many to rerank, what models to use, which chunks are passed to the LLM, etc. are all configurable.\\nIf there are any questions, dont hesitate to reach out to the maintainers!\\nMultilingual Setup Contact Us\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking to customize the system or become an open source contributors, this is a great place to start.\\n\\nSystem Architecture\\nWhether deploying Onyx on a single instance or a container orchestration platform, the flow of data is the same.\", \"semantic_identifier\": \"System Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/system_overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/system_overview\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nSystem Overview\\nWelcome to Onyx\\nSystem Overview\\nExplanation of different system components and flows\\nThis page discusses how Onyx works from a high level. The aim is to give transparency into our designs. That way you can have peace of mind in using Onyx.\\nAlternatively if youre looking...\"]}, {\"document_id\": \"https://docs.onyx.app/tools/overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform actions (e.g. write to a database, send an email, etc.)\\n- Generate content (e.g. generate an Image, create a plot, etc.)\\nBy default, we have a three tools built-in to Onyx. These are:\\n-\\nSearchTool . This is the core of Onyx. Adding this tool to an Assistant allows it to search over the knowledge youve connected up to Onyx through Connectors . This is the only tool available to the default Onyx assistant.\\n-\\nImageGenerationTool . This leverages DALLE-3 to generate images.\\n-\\nInternetSearchTool . This uses Bing to search the internet. To enable this as an option, set the BING_API_KEY environment variable.\\nEmbedding Models Custom Tools\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform actions (e.g. write to a database, send an email, etc.)\\n- Generate content (e.g. generate an Image, create a plot, etc.)\\nBy default, we have a three tools built-in to Onyx.\", \"semantic_identifier\": \"Tools Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/tools/overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/tools/overview\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nTools\\nTools Overview\\nTools\\nTools Overview\\nHow to use tools with Onyx\\nTools are a way to give an Assistant additional capabilities. They allow the assistant to do things like:\\n- Fetch information from an external source (e.g. a database, an API, the Internet, etc.)\\n- Perform\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/configuration_guide\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nConfiguring Onyx\\nWelcome to Onyx\\nConfiguring Onyx\\nHow to customize your deployment environment.\\n\\nCommon Environment Variables\\nAll of the global configuration options that are not built into the UI are set via environment variables. This page contains an exhaustive list of all the options.\\nThere are defaults set in the code so changing/settings these values is not required to use Onyx. A few notable settings that are more frequently changed however are the following:\\n- AUTH_TYPE (default value is disabled )\\n- MULTILINGUAL_QUERY_EXPANSION (you can provide a comma separated list of languages for query rephrasing such as English,French )\\n- LOG_LEVEL (default is info )\\n- WEB_DOMAIN (your full url in production, including the protocol- e.g. https://www.onyx.app )\\n\\nDocker Compose\\nThere are several ways to configure environment variables for the containers. For Docker Compose, there are many ways to pass environment variables to the container, any of the standard approaches will work. However the preferred approach for Onyx is to use the .env file. To do this, create a file called .env at onyx/deployment/docker_compose/.env . From there, populate it with the values you want to override:\\n# Configures basic email/password based login AUTH_TYPE=\\\"basic\\\" # Rephrasing the query into different languages to improve search recall MULTILINGUAL_QUERY_EXPANSION=\\\"English,Spanish,German\\\" # Set a cheaper/faster LLM for the flows that are easier (such as translating the query etc.) FAST_GEN_AI_MODEL_VERSION=\\\"gpt-3.5-turbo\\\" # Setting more verbose logging LOG_LEVEL=\\\"debug\\\" LOG_ALL_MODEL_INTERACTIONS=\\\"true\\\"\\n\\nKubernetes\\nFor Kubernetes, the deployment yaml files includes an Environment ConfigMap. Simply update the values in the file here .\\n\\nAll Environment Variables\\nThis is an extensive list of the currently supported environment variables within Onyx. There are several classes of environment variables. All of the global configuration options that are not built into the UI are set via environment variables.\\nYou can set these in your .env file.\\n\\nAuth Settings\\nThese variables control authentication and user management in Onyx.\\nAUTH_TYPE\\nControls the authentication method used by Onyx.\\ndisabled : No authentication is required.\\ngoogle_oauth : Users can log in using their Google accounts.\\nbasic : Standard username/password authentication.\\noidc : OpenID Connect, available in the enterprise edition.\\nsaml : Security Assertion Markup Language, available in the enterprise edition.\\n\\nSESSION_EXPIRE_TIME_SECONDS\\nDefines the duration of a users session in seconds. Default is 24 hours.\\n\\nENCRYPTION_KEY_SECRET\\nA strong, unique string used for encryption purposes. Keep this value secret.\\n\\nVALID_EMAIL_DOMAINS\\nComma-separated list of allowed email domains for authentication. Leave empty to allow all domains.\\n\\nGOOGLE_OAUTH_CLIENT_ID\\nClient ID for Google OAuth authentication, obtained from Google Cloud Console .\\n\\nGOOGLE_OAUTH_CLIENT_SECRET\\nClient Secret for Google OAuth authentication, obtained from Google Cloud Console . Keep this value secret.\\n\\nREQUIRE_EMAIL_VERIFICATION\\nWhen set to true , users must verify their email before accessing Onyx.\\n\\nSMTP_SERVER\\nHostname of the SMTP server for sending verification emails. Default is smtp.gmail.com .\\n\\nSMTP_PORT\\nPort used for SMTP communication. Common values are 587 (TLS) or 465 (SSL).\\n\\nSMTP_USER\\nUsername for SMTP authentication, often an email address used to send verification emails.\\n\\nSMTP_PASS\\nPassword for SMTP authentication. Keep this value secret.\\n\\nEMAIL_FROM\\nEmail address used as the sender for verification emails.\\n\\nNEXT_PUBLIC_FORGOT_PASSWORD_ENABLED\\nSet to true to enable the forgot password feature. Only enable this if you have configured the above SMTP settings (For email functionality).\\n\\nGen AI Settings\\nThese variables configure the generative AI capabilities of Onyx. These are covered in more depth at the generative AI configs .\\n\\nGEN_AI_MODEL_PROVIDER\\nSpecifies the provider of the generative AI model (e.g., openai , anthropic , huggingface ).\\n\\nGEN_AI_MODEL_VERSION\\nDefines the version of the generative AI model to use (e.g., gpt-4 for OpenAI).\\n\\nFAST_GEN_AI_MODEL_VERSION\\nSpecifies a faster (usually smaller) model version for certain tasks.\\n\\nGEN_AI_API_KEY\\nAPI key for accessing the generative AI service. Keep this value secret.\\n\\n...\\n\\nPOSTGRES_HOST\\nHostname or IP address of the Postgres server. Default is relational_db .\\n\\nVESPA_HOST\\nHostname or IP address of the Vespa server. Default is index .\\n\\nWEB_DOMAIN\\nFully qualified domain name used for the Onyx web interface. (e.g. https://www.onyx.com )\\n\\nNLP Model Configurations\\nAdvanced settings for NLP models. Modify with caution.\\n\\nINDEX_BATCH_SIZE\\nSize of batch used when indexing documents. Overrides the default batch size for indexing operations.\\n\\nEMBEDDING_BATCH_SIZE\\nSize of batch used when embedding documents during indexing and search operations. Overrides the default batch size for embedding processes.\\n\\nDOCUMENT_ENCODER_MODEL\\nName or path of the encoder model used for document encoding.\\n\\nDOC_EMBEDDING_DIM\\nDimension of document embeddings, typically matching the chosen encoder models output dimension.\\n\\nNORMALIZE_EMBEDDINGS\\nSet to true to enable normalization of embeddings.\\n\\nASYM_QUERY_PREFIX\\nText prepended to queries in asymmetric semantic search.\\n\\nENABLE_RERANKING_REAL_TIME_FLOW\\nSet to true to enable reranking in real-time search flow.\\n\\nENABLE_RERANKING_ASYNC_FLOW\\nSet to true to enable reranking in asynchronous search flow.\\n\\nMODEL_SERVER_HOST\\nHostname or IP address of the model server. Default is inference_model_server .\\n\\nMODEL_SERVER_PORT\\nPort on which the model server is listening.\\n\\nMiscellaneous\\n< Various other configuration options.\\n\\nDISABLE_TELEMETRY\\nSet to true to opt out of telemetry. Telemetry helps improve Onyx; no sensitive data is collected.\\n\\nLOG_LEVEL\\nSets the logging verbosity. Possible values: debug , info , warning , error , critical .\\n\\nLOG_ALL_MODEL_INTERACTIONS\\nSet to true to enable logging of all prompts sent to the LLM.\\n\\nLOG_VESPA_TIMING_INFORMATION\\nSet to true to enable additional logging of Vespa query performance.\\n\\nLOG_ENDPOINT_LATENCY\\nSet to true to enable logging of endpoint latency information.\\nCustom Model Server Multilingual Setup\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nConfiguring Onyx\\nWelcome to Onyx\\nConfiguring Onyx\\nHow to customize your deployment environment.\\n\\nCommon Environment Variables\\nAll of the global configuration options that are not built into the UI are set via environment variables. This page contains an exhaustive list of all the options.\\nThere are defaults set in the code so changing/settings these values is not required to use Onyx.\", \"semantic_identifier\": \"Configuring Onyx - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/configuration_guide\", \"source_links\": {\"0\": \"https://docs.onyx.app/configuration_guide\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nConfiguring Onyx\\nWelcome to Onyx\\nConfiguring Onyx\\nHow to customize\", \"variables. This page contains an exhaustive list of all the options.\\nThere are defaults set in the code so changing/settings these values is not required to use Onyx. A few notable settings that are more...\"]}, {\"document_id\": \"https://docs.onyx.app/connectors/notion\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nNotion Connector\\nConnectors\\nNotion Connector\\nAccess knowledge from your Notion workspace\\n\\nHow it works\\nThe Notion connector uses the Notion search API to fetch all pages that the connector has access to within a workspace. For follow up indexing runs, the connector only retrieves pages that have been updated since the last indexing attempt. Indexing is configured to run every 10 minutes , so page updates should appear within 10 minutes.\\n\\nSetting up\\n\\nAuthorization\\nIn order to authorize Onyx to connect to your Notion workspace, youll need to create a new integration in Notion, which will then provide you with a secret token.\\nThese steps are pulled from this Notion guide which you can also follow.\\n\\nStep 1: Create an integration\\n- Visit https://www.notion.com/my-integrations in your browser.\\n- Click the + New integration button.\\n- Name the integration (something like Onyx could work).\\n- Select Read content as the only capability required for Onyx.\\n- Click Submit to create the integration.\\nOn the next page, youll find your Notion integration token, also called an API key. Youll need this token to configure Onyx to index Notion, so make a copy of it.\\nThe integration has been added to the workspace, so any member can share pages and databases with it. Theres no requirement to be an Admin to share information with an integration.\\n\\nStep 2: Share pages/databases with your integration\\nNow that youve created an integration, you need to grant it access to Notion pages/databases. To keep your information secure, integrations dont have access to any pages or databases in the workspace at first. You must share specific pages with an integration in order for Onyx to access those pages.\\nTo share a page/database with your integration:\\n- Go to the page/database in your workspace.\\n- Click the on the top right corner of the page.\\n- Scroll to the bottom of the pop-up and click Add connections.\\n- Search for and select the new integration in the Search for connections... menu.\\n- If youve added a page, all child pages also become accesssible to Onyx. If youve added a database, all rows (and their children) become accessible to Onyx.\\nOnce youve granted access to a page/database, you can start configuring Onyx to index those databases.\\n\\nIndexing\\n- Navigate to the Admin Dashboard and select the Notion connector.\\n- In Step 1 , provide the Integration Token Secret you obtained in the Authorization steps above:\\n- Click the Connect button! Your content will then be pulled into Onyx every 10 minutes.\\nNote - As mentioned, the Notion connector currently indexes everything it has access to. If you want to limit specific content being indexed, simply unshare the database from Notion with the integration.\\nLinear Connector Oracle Storage Connector\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nNotion Connector\\nConnectors\\nNotion Connector\\nAccess knowledge from your Notion workspace\\n\\nHow it works\\nThe Notion connector uses the Notion search API to fetch all pages that the connector has access to within a workspace. For follow up indexing runs, the connector only retrieves pages that have been updated since the last indexing attempt. Indexing is configured to run every 10 minutes , so page updates should appear within 10 minutes.\", \"semantic_identifier\": \"Notion Connector - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/connectors/notion\", \"source_links\": {\"0\": \"https://docs.onyx.app/connectors/notion\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nConnectors\\nNotion Connector\\nConnectors\\nNotion Connector\\nAccess knowledge from your Notion workspace\", \"since the last indexing attempt. Indexing is configured to run every 10 minutes , so page updates should appear within 10 minutes.\\n\\nSetting up\\n\\nAuthorization\\nIn order to authorize Onyx to connect to your Notion workspace, youll...\"]}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/ai_platform\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user chat sessions, attaching custom tools, handling LLM reasoning, code execution, data analysis, referencing internal knowledge, and much more.\\nOnyx as a platform is not a no-code agent builder. We are made by developers for developers and this gives your team the full flexibility and power to create agents not constrained by blocks and simple logic paths.\\n\\nFlexibility and Extensibility\\nOnyx is open source and completely whitebox. This not only gives transparency to what happens within the system but also means that your team can directly modify the source code to suit your unique needs.\\nEnterprise Search Customer Support\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user chat sessions, attaching custom tools, handling LLM reasoning, code execution, data analysis, referencing internal knowledge, and much more.\\nOnyx as a platform is not a no-code agent builder.\", \"semantic_identifier\": \"AI Platform - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/more/use_cases/ai_platform\", \"source_links\": {\"0\": \"https://docs.onyx.app/more/use_cases/ai_platform\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nAI Platform\\nUse Cases\\nAI Platform\\nBuild AI Agents powered by the knowledge and workflows specific to your organization.\\n\\nBeyond Answers\\nAgents enabled by generative AI and reasoning capable models are helping teams to automate their work. Onyx is helping teams make it happen. Onyx provides out of the box user...\"]}, {\"document_id\": \"https://docs.onyx.app/more/use_cases/overview\", \"content\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI more versatile for work by enabling new types of questions like What is the most common feature request weve heard from customers this month. Whereas other AI systems have no context of your team and are generally unhelpful with work related questions, Onyx makes it possible to ask these questions in natural language and get back answers in seconds.\\nOnyx can connect to +30 different tools and the use cases are not limited to the ones in the following pages. The highlighted use cases are for inspiration and come from feedback gathered from our users and customers.\\n\\nCommon Getting Started Questions:\\n\\nWhy are these docs connected in my Onyx deployment?\\nAnswer: This is just an example of how connectors work in Onyx. You can connect up your own teams knowledge and you will be able to ask questions unique to your organization. Onyx will keep all of the knowledge up to date and in sync with your connected applications.\\n\\nIs my data being sent anywhere when I connect it up to Onyx?\\nAnswer: No! Onyx is built with data security as our highest priority. We open sourced it so our users can know exactly what is going on with their data. By default all of the document processing happens within Onyx. The only time it is sent outward is for the GenAI call to generate answers.\\n\\nWhere is the feature for auto sync-ing document level access permissions from all connected sources?\\nAnswer: This falls under the Enterprise Edition set of Onyx features built on top of the MIT/community edition. If you are on Onyx Cloud, you have access to them by default. If youre running it yourself, reach out to the Onyx team to receive access.\\nAdvanced Curator Examples Enterprise Search\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI more versatile for work by enabling new types of questions like What is the most common feature request weve heard from customers this month. Whereas other AI systems have no context of your team and are generally unhelpful with work related questions, Onyx makes it possible to ask these questions in natural language and get back answers in seconds.\", \"semantic_identifier\": \"Use Cases Overview - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/more/use_cases/overview\", \"source_links\": {\"0\": \"https://docs.onyx.app/more/use_cases/overview\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nUse Cases\\nUse Cases Overview\\nUse Cases\\nUse Cases Overview\\nHow to leverage Onyx in your organization\\n\\nOnyx Overview\\nOnyx is the AI Assistant connected to your organizations docs, apps, and people. Onyx makes Generative AI\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/google_oauth_setup\", \"content\": \"To turn the feature on set:\\n- AUTH_TYPE=google_oauth\\n- OAUTH_CLIENT_ID=\\n- OAUTH_CLIENT_SECRET=\\n- If setting up in production, then:\\n- WEB_DOMAIN=\\n\\nNon Containerized\\nSimply set the above environment variables when running the different Onyx processes.\\n- The backend api server uses the 3 environment variables\\n- The frontend hits the api server to determine what user authentication setting is configured and serves the relevant pages.\\n\\nDocker Compose\\nSimply set the 4 environment variables in a file called .env under onyx/deployment/docker_compose .\\n\\nKubernetes\\nKubernetes deployment was designed for production use and assumes that user Auth is a required feature therefore it is on by default. To set up the required values, replace the REPLACE-THIS values in secrets.yaml with thebase64 encoded client ID and client secret from above.\\nBasic Auth Setup OIDC/SAML Setup\", \"blurb\": \"To turn the feature on set:\\n- AUTH_TYPE=google_oauth\\n- OAUTH_CLIENT_ID=\\n- OAUTH_CLIENT_SECRET=\\n- If setting up in production, then:\\n- WEB_DOMAIN=\\n\\nNon Containerized\\nSimply set the above environment variables when running the different Onyx processes.\", \"semantic_identifier\": \"Google OAuth Setup - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/google_oauth_setup\", \"source_links\": {\"0\": \"https://docs.onyx.app/google_oauth_setup\"}, \"match_highlights\": [\"\", \"=\\n- OAUTH_CLIENT_SECRET=\\n- If setting up in production, then:\\n- WEB_DOMAIN=onyx.app>\\n\\nNon Containerized\\nSimply set the above environment variables when running the different Onyx processes.\\n- The backend api server uses the 3 environment variables\", \"\"]}, {\"document_id\": \"https://docs.onyx.app/multilingual_setup\", \"content\": \"onyx documentation home page search... navigation welcome to onyx multilingual setup welcome to onyx multilingual setup how to set up onyx to support languages other than english for the majority of use cases, onyx provides an easy way to configure the system for multilingual use. to skip the details and just go to setup, see the configuration section below. how it works onyx has two main flows that assume english as a default. to use onyx in multilingual or non - english cases, these must be handled. - the vector portion of the hybrid - search / reranking. this selects relevant documents to pass to the large language model as context - the prompts for the large language model to instruct it on how to answer user queries. to address the first point, the english first embedding / reranking models can be swapped out for multilingual models. additionally query expansion is applied to rephrase the user query into the target languages. to address the second point, additional instructions are given to the llm to respect the input language and to respond in the same language as the user query. note : the onyx llm prompts are still in english, just with added instructions if the user configures multilingual settings ( see below ). if all of your documents and queries are in some other language, it will be better to simply translate all of onyxs prompts directly to that target language. you can do so here.\", \"blurb\": \"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nMultilingual Setup\\nWelcome to Onyx\\nMultilingual Setup\\nHow to set up Onyx to support languages other than English\\nFor the majority of use cases, Onyx provides an easy way to configure the system for multilingual use. To skip the details and just go to setup, see the Configuration section below.\\n\\nHow it works\\nOnyx has two main flows that assume English as a default. To use Onyx in multilingual or non-english cases, these must be handled.\", \"semantic_identifier\": \"Multilingual Setup - Onyx Documentation\", \"source_type\": \"web\", \"metadata\": {}, \"updated_at\": null, \"link\": \"https://docs.onyx.app/multilingual_setup\", \"source_links\": {\"0\": \"https://docs.onyx.app/multilingual_setup\"}, \"match_highlights\": [\"Onyx Documentation home page\\nSearch...\\nNavigation\\nWelcome to Onyx\\nMultilingual Setup\\nWelcome to Onyx\\nMultilingual Setup\\nHow to set up Onyx to support languages other than English\\nFor the majority of use cases, Onyx provides an easy way to configure the system for multilingual use. To skip the details and just go to setup\", \"\"]}]}\n" -"{\"sub_query\": \"on\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 0}\n" -"{\"sub_query\": \"yx I II III IV project\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 0}\n" -"{\"sub_query\": \" history\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 0}\n" -"{\"sub_query\": \"onyx software version differences\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 1}\n" -"{\"sub_query\": \"\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 1}\n" -"{\"sub_query\": \"onyx system generations comparison\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 2}\n" -"{\"sub_query\": \"\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 2}\n" -"{\"sub_question\": \"what\", \"level\": 0, \"level_question_nr\": 1}\n" -"{\"sub_question\": \" are the key features and capabilities\", \"level\": 0, \"level_question_nr\": 1}\n" -"{\"sub_question\": \" of Onyx I?\", \"level\": 0, \"level_question_nr\": 1}\n" -"{\"sub_question\": \"what are the key\", \"level\": 0, \"level_question_nr\": 2}\n" -"{\"sub_question\": \" features and capabilities of Onyx II?\", \"level\": 0, \"level_question_nr\": 2}\n" -"{\"sub_question\": \"\", \"level\": 0, \"level_question_nr\": 2}\n" -"{\"sub_question\": \"what are the key features and capabilities of On\", \"level\": 0, \"level_question_nr\": 3}\n" -"{\"sub_question\": \"yx III?\", \"level\": 0, \"level_question_nr\": 3}\n" -"{\"sub_question\": \"what are the key features an\", \"level\": 0, \"level_question_nr\": 4}\n" -"{\"sub_question\": \"d capabilities of Onyx IV?\", \"level\": 0, \"level_question_nr\": 4}\n" -"{\"sub_question\": \"\", \"level\": 0, \"level_question_nr\": 4}\n" -"{\"sub_query\": \"Onyx I technical specifications and features\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 0}\n" -"{\"sub_query\": \"Onyx III technical specifications an\", \"level\": 0, \"level_question_nr\": 2, \"query_id\": 0}\n" -"{\"sub_query\": \"Onyx IV technical specifications and features\", \"level\": 0, \"level_question_nr\": 3, \"query_id\": 0}\n" -"{\"sub_query\": \"Onyx I system\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 1}\n" -"{\"sub_query\": \"Onyx II technical specifications and features\", \"level\": 0, \"level_question_nr\": 1, \"query_id\": 0}\n" -"{\"sub_query\": \"\", \"level\": 0, \"level_question_nr\": 3, \"query_id\": 0}\n" -"{\"sub_query\": \"d features\", \"level\": 0, \"level_question_nr\": 2, \"query_id\": 0}\n" -"{\"sub_query\": \"Onyx II system\", \"level\": 0, \"level_question_nr\": 1, \"query_id\": 1}\n" -"{\"sub_query\": \"Onyx IV system capabilities and limitations\", \"level\": 0, \"level_question_nr\": 3, \"query_id\": 1}\n" -"{\"sub_query\": \"Onyx III capabilities\", \"level\": 0, \"level_question_nr\": 2, \"query_id\": 1}\n" -"{\"sub_query\": \" capabilities and limitations\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 1}\n" -"{\"sub_query\": \"\", \"level\": 0, \"level_question_nr\": 3, \"query_id\": 1}\n" -"{\"sub_query\": \"Onyx I\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 2}\n" -"{\"sub_query\": \" capabilities and limitations\", \"level\": 0, \"level_question_nr\": 1, \"query_id\": 1}\n" -"{\"sub_query\": \" compared to previous versions\", \"level\": 0, \"level_question_nr\": 2, \"query_id\": 1}\n" -"{\"sub_query\": \"Onyx II\", \"level\": 0, \"level_question_nr\": 1, \"query_id\": 2}\n" -"{\"sub_query\": \"Onyx IV comparison with previous\", \"level\": 0, \"level_question_nr\": 3, \"query_id\": 2}\n" -"{\"sub_query\": \"Onyx III\", \"level\": 0, \"level_question_nr\": 2, \"query_id\": 2}\n" -"{\"sub_query\": \" core functionality comparison\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 2}\n" -"{\"sub_query\": \" comparison with predecessor\", \"level\": 0, \"level_question_nr\": 1, \"query_id\": 2}\n" -"{\"sub_query\": \"\", \"level\": 0, \"level_question_nr\": 0, \"query_id\": 2}\n" -"{\"sub_query\": \" unique selling points and applications\", \"level\": 0, \"level_question_nr\": 2, \"query_id\": 2}\n" -"{\"sub_query\": \" versions\", \"level\": 0, \"level_question_nr\": 3, \"query_id\": 2}\n" -"{\"sub_query\": \"\", \"level\": 0, \"level_question_nr\": 1, \"query_id\": 2}\n" -"{\"sub_query\": \"\", \"level\": 0, \"level_question_nr\": 2, \"query_id\": 2}\n" -"{\"sub_query\": \"\", \"level\": 0, \"level_question_nr\": 3, \"query_id\": 2}\n"