<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Aura – atria-model-gateway</title>
    <link>/tags/atria-model-gateway/</link>
    <description>Recent content in atria-model-gateway on Aura</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    
	  <atom:link href="/tags/atria-model-gateway/index.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <item>
      <title>Docs: </title>
      <link>/docs/atria/technical-components/atria-model-gateway/components/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/atria/technical-components/atria-model-gateway/components/</guid>
      <description>
        
        
        &lt;h1 id=&#34;atria-model-gateway-architecture-and-components&#34;&gt;ATRIA Model Gateway architecture and components&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Development architecture and technical components of the &lt;em&gt;&lt;strong&gt;atria-model-gateway&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;technical-foundations&#34;&gt;Technical foundations&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;atria-model-gateway&lt;/strong&gt;&lt;/em&gt; is responsible for managing the communication with different AI models. This component receives a request from &lt;em&gt;&lt;strong&gt;aura-gateway-api&lt;/strong&gt;&lt;/em&gt;, together with other input data, and makes a call the corresponding AI models.&lt;/p&gt;
&lt;p&gt;If the selected AI model is RAG, then &lt;em&gt;&lt;strong&gt;atria-model-gateway&lt;/strong&gt;&lt;/em&gt; calls the &lt;a href=&#34;../../docs/atria/technical-components/atria-rag-server/&#34;&gt;&lt;em&gt;&lt;strong&gt;atria-rag-server&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt;, which is in charge of executing the RAG chain and making the corresponding calls to the LLM models and databases.&lt;/p&gt;
&lt;h2 id=&#34;functional-components&#34;&gt;Functional components&lt;/h2&gt;
&lt;p&gt;The functional components of &lt;em&gt;&lt;strong&gt;atria-model-gateway&lt;/strong&gt;&lt;/em&gt; are described in the document &lt;a href=&#34;../../docs/atria/capabilities/llm-experiences-builder/#functional-components&#34;&gt;LLM/LMM Experiences Builder&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;architecture-overview&#34;&gt;Architecture overview&lt;/h2&gt;
&lt;p&gt;The following diagram schematically shows the main technical components integrated into &lt;em&gt;&lt;strong&gt;atria-model-gateway&lt;/strong&gt;&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/atria/atria-technical-components/atria-model-gateway-arch.png&#34; alt=&#34;atria-model-gateway-arch&#34;&gt;&lt;/p&gt;
&lt;p&gt;A brief description of these components is included below:&lt;/p&gt;
&lt;h3 id=&#34;access-module&#34;&gt;Access module&lt;/h3&gt;
&lt;p&gt;Module for the management of different profiles to access &lt;em&gt;&lt;strong&gt;atria-model-gateway&lt;/strong&gt;&lt;/em&gt;.&lt;/p&gt;
&lt;h3 id=&#34;context-module&#34;&gt;Context module&lt;/h3&gt;
&lt;p&gt;Module in charge of the storage of a conversation history in a cache (currently, Redis is used) over a period of time, grouped by session ID. These conversations are taken into account when calling the generative LLM models.&lt;/p&gt;
&lt;h3 id=&#34;model-manager&#34;&gt;Model manager&lt;/h3&gt;
&lt;p&gt;Module that includes the available &lt;a href=&#34;#models&#34;&gt;models&lt;/a&gt; and &lt;a href=&#34;#presets&#34;&gt;presets&lt;/a&gt;. It is in charge of receiving the info from &lt;em&gt;&lt;strong&gt;aura-gateway-api&lt;/strong&gt;&lt;/em&gt; and calling the corresponding model.&lt;/p&gt;
&lt;h4 id=&#34;models&#34;&gt;Models&lt;/h4&gt;
&lt;p&gt;Available AI models integrated into the &lt;em&gt;&lt;strong&gt;atria-model-gateway&lt;/strong&gt;&lt;/em&gt;.&lt;/p&gt;
&lt;h4 id=&#34;presets&#34;&gt;Presets&lt;/h4&gt;
&lt;p&gt;Presets are configurable entities to define the specific model to work with and certain parameters associated to it: model Id, name, description, model parameters, etc.&lt;/p&gt;
&lt;p&gt;Constructors can use the default presets or build new ones: Go to document &lt;a href=&#34;../../docs/atria/technical-guidelines/configuration/&#34;&gt;ATRIA configuration&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;When configuring an &lt;a href=&#34;../../docs/atria/technical-components/application&#34;&gt;application&lt;/a&gt;, all the presets that can be used for this application must be previously defined.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/atria/technical-components/atria-model-gateway/operational-overview/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/atria/technical-components/atria-model-gateway/operational-overview/</guid>
      <description>
        
        
        &lt;h1 id=&#34;atria-model-gateway-operational-overview&#34;&gt;ATRIA Model Gateway operational overview&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Overview of the &lt;em&gt;&lt;strong&gt;atria-model-gateway&lt;/strong&gt;&lt;/em&gt; operation&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;operational-workflow&#34;&gt;Operational workflow&lt;/h2&gt;
&lt;p&gt;The operational flow between an application (for the communication with &lt;a href=&#34;../../docs/atria/technical-components/aura-gateway-api/&#34;&gt;&lt;em&gt;&lt;strong&gt;aura-gateway-apì&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt;), &lt;a href=&#34;../../docs/atria/technical-components/atria-model-gateway/&#34;&gt;&lt;em&gt;&lt;strong&gt;atria-model-gateway&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt;, &lt;a href=&#34;../../docs/atria/technical-components/atria-rag-server/&#34;&gt;&lt;em&gt;&lt;strong&gt;atria-rag-server&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt; and &lt;a href=&#34;../../docs/atria/technical-components/atria-rag-generate-db/&#34;&gt;&lt;em&gt;&lt;strong&gt;atria-rag-generate-db&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt; is schematically shown in the following figure:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/atria/atria-model-gateway-operation.png&#34; alt=&#34;atria-model-gateway-operation&#34;&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Application&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Constructors must configure an &lt;a href=&#34;../../docs/atria/technical-components/application/&#34;&gt;application&lt;/a&gt; for a channel, skill or service to communicate with &lt;em&gt;&lt;strong&gt;aura-gateway-api&lt;/strong&gt;&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;In the application, the constructor must set the access grants for this application and all the presets that this application can use, from the ones configured in &lt;em&gt;&lt;strong&gt;atria-model-gateway&lt;/strong&gt;&lt;/em&gt;.
&lt;br&gt;&lt;br&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;atria-model-gateway&lt;/strong&gt;
It contains:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The different &lt;a href=&#34;#access-module&#34;&gt;accesses&lt;/a&gt; that are defined here for each preset.&lt;/li&gt;
&lt;li&gt;The available &lt;a href=&#34;#presets&#34;&gt;presets&lt;/a&gt;. Each of them is associated to an AI model with specific parameters.&lt;/li&gt;
&lt;li&gt;The available &lt;a href=&#34;#models&#34;&gt;AI models&lt;/a&gt;.
&lt;br&gt;&lt;br&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;atria-rag-server&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;When using RAG (Retrieval Augmented Generation), &lt;a href=&#34;../../docs/atria/technical-components/atria-rag-server/&#34;&gt;&lt;em&gt;&lt;strong&gt;atria-rag-server&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt; is in charge of managing the requests made to the RAG model.&lt;/li&gt;
&lt;li&gt;The available &lt;a href=&#34;../../docs/atria/technical-components/atria-rag-server/#project&#34;&gt;projects&lt;/a&gt; that contain information required for the execution of the RAG pipeline are included here.
&lt;br&gt;&lt;br&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;atria-rag-generate-db&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;../../docs/atria/technical-components/atria-rag-generate-db/&#34;&gt;&lt;em&gt;&lt;strong&gt;atria-rag-generate-db&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt; is in charge of feeding the databases the RAG works with.&lt;/li&gt;
&lt;li&gt;The available projects that contain the data required for reading the information sources and feed the databases are included here.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;configuration&#34;&gt;Configuration&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;atria-model-gateway&lt;/strong&gt;&lt;/em&gt; includes a default configuration. Constructors can use it as is or they can modify it to be adapted to their requirements or business models: Go to document &lt;a href=&#34;../../docs/atria/technical-guidelines/configuration/&#34;&gt;ATRIA configuration&lt;/a&gt;.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/atria/technical-components/atria-rag-generate-db/operational-overview/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/atria/technical-components/atria-rag-generate-db/operational-overview/</guid>
      <description>
        
        
        &lt;h1 id=&#34;atria-rag-generate-db-operational-overview&#34;&gt;ATRIA RAG Generate DB operational overview&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Overview of the &lt;em&gt;&lt;strong&gt;atria-rag-generate-db&lt;/strong&gt;&lt;/em&gt; operation&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;operational-flow&#34;&gt;Operational flow&lt;/h2&gt;
&lt;p&gt;The operational flow between an application (for the communication with &lt;a href=&#34;../../docs/atria/technical-components/aura-gateway-api/&#34;&gt;&lt;em&gt;aura-gateway-api&lt;/em&gt;&lt;/a&gt;), &lt;a href=&#34;../../docs/atria/technical-components/atria-model-gateway/&#34;&gt;&lt;em&gt;atria-model-gateway&lt;/em&gt;&lt;/a&gt;, &lt;a href=&#34;../../docs/atria/technical-components/atria-rag-server/&#34;&gt;&lt;em&gt;atria-rag-server&lt;/em&gt;&lt;/a&gt; and &lt;a href=&#34;../../docs/atria/technical-components/atria-rag-generate-db/&#34;&gt;&lt;em&gt;atria-rag-generate-db&lt;/em&gt;&lt;/a&gt; is schematically shown in the document &lt;a href=&#34;content/en/docs/atria/technical-components/atria-model-gateway/operational-overview/#operational-workflow&#34;&gt;&lt;em&gt;&lt;strong&gt;atria-model-gateway: operational flow&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;configuration&#34;&gt;Configuration&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;atria-model-gateway&lt;/strong&gt;&lt;/em&gt; includes a default configuration. Constructors can use it as is or they can modify it to be adapted to their requirements or business models: Go to document &lt;a href=&#34;../../docs/atria/technical-guidelines/configuration/&#34;&gt;ATRIA configuration&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;data-persistence-feature&#34;&gt;Data persistence feature&lt;/h2&gt;
&lt;p&gt;Now ATRIA enables &lt;strong&gt;data persistence in knowledge bases across releases&lt;/strong&gt;: After the installation of a new release, all existing data in the knowledge base (currently, &lt;strong&gt;Qdrant&lt;/strong&gt;) remains fully available and accessible for every &lt;em&gt;&lt;strong&gt;ATRIA&lt;/strong&gt;&lt;/em&gt; experience. Thus, information is completely independent of the deployed version.&lt;/p&gt;
&lt;p&gt;This feature provides key advantages:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Guaranteed continuity of &lt;em&gt;&lt;strong&gt;ATRIA&lt;/strong&gt;&lt;/em&gt; experiences.&lt;/li&gt;
&lt;li&gt;No need for data re-ingestion after each release.&lt;/li&gt;
&lt;li&gt;No need to recalculate embeddings.&lt;/li&gt;
&lt;li&gt;Data ingested after the installation of a release (through hot swapping) is now automatically consolidated and carried forward to subsequent releases.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;tracking-and-clean-up-processes&#34;&gt;Tracking and clean-up processes&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;atria-rag-generate-db&lt;/strong&gt;&lt;/em&gt; keeps a record of the current state of documents and related configuration for data sources, so it only feeds documents that have been modified or added since the last update.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;atria-rag-generate-db&lt;/strong&gt;&lt;/em&gt; also cleans up any resources that are left behind and no longer used after new ones are introduced.&lt;/p&gt;
&lt;h2 id=&#34;preset-management&#34;&gt;Preset management&lt;/h2&gt;
&lt;h3 id=&#34;preset-report&#34;&gt;Preset report&lt;/h3&gt;
&lt;p&gt;After generation-db is executed, a report is logged with the following information for each preset:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The preset name.&lt;/li&gt;
&lt;li&gt;The status of the execution (success, skipped or error).&lt;/li&gt;
&lt;li&gt;A descriptive message with the reason for the status.&lt;/li&gt;
&lt;li&gt;Date and time of the execution start.&lt;/li&gt;
&lt;li&gt;Date and time of the execution end.&lt;/li&gt;
&lt;li&gt;The configured documents for the preset&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;preset-availability&#34;&gt;Preset availability&lt;/h3&gt;
&lt;p&gt;When a new preset is created, it is necessary to launch the database generation process by executing the &lt;em&gt;&lt;strong&gt;atria-rag-generate-db&lt;/strong&gt;&lt;/em&gt; component. This process may take several minutes to complete. Once the generation is finished, the &lt;em&gt;&lt;strong&gt;atria-rag-generate-db&lt;/strong&gt;&lt;/em&gt; component is automatically restarted.&lt;/p&gt;
&lt;p&gt;While these processes are running, a message is shown to the user indicating that the preset is not yet available.&lt;/p&gt;
&lt;p&gt;When both processes are finished, the preset becomes available for use.&lt;/p&gt;
&lt;h2 id=&#34;data-migration-between-atria-releases&#34;&gt;Data migration between ATRIA releases&lt;/h2&gt;
&lt;p&gt;The data persistence feature is implemented by a migration tool between environments or releases integrated in the &lt;em&gt;&lt;strong&gt;atria-rag-generate-db&lt;/strong&gt;&lt;/em&gt; component. This tool moves the trained data from one release to another, to avoid generating preset data that has been previously created in a release.&lt;/p&gt;
&lt;p&gt;The process for migrating data must be &lt;strong&gt;triggered manually&lt;/strong&gt; by &lt;a href=&#34;#launch-migration-process&#34;&gt;launching a command&lt;/a&gt; (similar to the &lt;em&gt;&lt;strong&gt;aura-rag-generate-db&lt;/strong&gt;&lt;/em&gt; job), where both source and target environments should be indicated.&lt;/p&gt;
&lt;p&gt;After executing this command, data will be migrated from one environment to the other automatically.&lt;/p&gt;
&lt;p&gt;The migration flow is executed as follows:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Process the hashes file and, for each preset we want to migrate, we will do the following steps:
&lt;ul&gt;
&lt;li&gt;Check that the preset from the source environment is in the config of the target environment&lt;/li&gt;
&lt;li&gt;Move the &lt;code&gt;trained_data&lt;/code&gt; files from the source environment to the respective training folder of the target environment&lt;/li&gt;
&lt;li&gt;Duplicate the collections from the source environment to the target environment&lt;/li&gt;
&lt;li&gt;Move the TFIDFs files from the source environment to the target environment&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Move the hashes file from the source environment to the target environment&lt;/li&gt;
&lt;li&gt;Add the new presets training files to the respective training folder in the target environment.&lt;/li&gt;
&lt;li&gt;Launch &lt;em&gt;&lt;strong&gt;atria-rag-generate-db&lt;/strong&gt;&lt;/em&gt;. Only new presets will be reloaded.&lt;/li&gt;
&lt;/ol&gt;
&lt;p align=&#34;center&#34;&gt;
  &lt;img width=&#34;1200&#34; height=&#34;1200&#34; src=&#34;../../images/atria/atria-persistence.png&#34;&gt;&lt;br&gt;
  &lt;i&gt;Data migration flow&lt;/i&gt;
&lt;/p&gt;
&lt;p&gt;In the migration process described above, the following folders are generated and stored in an Azure blob storage after &lt;em&gt;&lt;strong&gt;atria-rag-generate-db&lt;/strong&gt;&lt;/em&gt; is finished:&lt;/p&gt;
&lt;h3 id=&#34;shared-data&#34;&gt;Shared data&lt;/h3&gt;
&lt;p&gt;This folder contains the trained data shared between &lt;em&gt;&lt;strong&gt;atria-rag-server&lt;/strong&gt;&lt;/em&gt; and &lt;em&gt;&lt;strong&gt;atria-rag-generate-db&lt;/strong&gt;&lt;/em&gt;.
This is used to store the files that the &lt;em&gt;&lt;strong&gt;atria-rag-generate-db&lt;/strong&gt;&lt;/em&gt; generates and then the &lt;em&gt;&lt;strong&gt;atria-rag-server&lt;/strong&gt;&lt;/em&gt; uses to be able to process the request.&lt;/p&gt;
&lt;p&gt;At the moment, only the files generated by the TFIDF (Term Frequency–Inverse Document Frequency) exist in this folder.&lt;/p&gt;
&lt;p&gt;This folder is used for migration, as we can take the TFIDFs of a trained preset to the blob of a specific release where that preset has not been trained and save the training afterward.&lt;/p&gt;
&lt;h3 id=&#34;trained-data&#34;&gt;Trained data&lt;/h3&gt;
&lt;p&gt;This folder contains the files that have been used in the &lt;em&gt;&lt;strong&gt;atria-rag-generate-db&lt;/strong&gt;&lt;/em&gt; for each preset.&lt;/p&gt;
&lt;p&gt;The folder structure is defined with a hash of the contents of all the files for each preset, to facilitate migration.&lt;/p&gt;
&lt;h3 id=&#34;atria-rag-project-hashes&#34;&gt;Atria RAG project hashes&lt;/h3&gt;
&lt;p&gt;This is a file containing all the information for each preset, to facilitate migration.&lt;/p&gt;
&lt;p&gt;It contains the following information for each preset:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;config_hash&lt;/code&gt;: Hash of the preset configuration at the time the &lt;em&gt;&lt;strong&gt;atria-rag-generate-db&lt;/strong&gt;&lt;/em&gt; was launched.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;source_files_hash&lt;/code&gt;: Hash of the source files used to generate the preset. This hash should exist in one folder into the trained data folder.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;metadata&lt;/code&gt;: Metadata of the preset, including the date of &lt;em&gt;&lt;strong&gt;atria-rag-generate-db&lt;/strong&gt;&lt;/em&gt; launching.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;retrievers&lt;/code&gt;: Info that retrievers used to generate the preset. It contains the name of the Qdrant collection and the path where it holds the TFIDF files, which would correspond to the shared data.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;5905dece-433d-47f4-a78c-72366bcd1473&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;config_hash&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;28f837d56079f30c59a419292d129bc3&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;source_files_hash&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;cda3afcd8e74ede0d23065e897d55fae&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;metadata&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;date&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;2025-04-01 11:25:59&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;retrievers&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;qdrant_collection_name&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;rag-ap-eight-9100-dev-project-copilot&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;tfidf_path_file&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;project-copilot/tfidf&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In addition to using this data for migration, it also speeds up the launch of the &lt;em&gt;&lt;strong&gt;atria-rag-generate-db&lt;/strong&gt;&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;config_hash&lt;/code&gt; and &lt;code&gt;source_files_hash&lt;/code&gt; values are used to verify if, at the moment of launching the &lt;em&gt;&lt;strong&gt;atria-rag-generate-db&lt;/strong&gt;&lt;/em&gt;, something has been changed in the configuration or in the training data. If changes are detected, all the data for that preset is regenerated. Otherwise, if the preset has not changed, we will save that generation.&lt;/p&gt;
&lt;h3 id=&#34;launch-migration-process&#34;&gt;Launch migration process&lt;/h3&gt;
&lt;p&gt;The process to persist data between releases has to be launched manually through the execution of the following command:
To run this script, we just need the output files with the environment configuration info generated by the installer in the output_install directory from the source and destination environment.
With this info, run the script as shown below, using the corresponding files names for the desired environment:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  ./migrate-data --source-file &lt;span style=&#34;color:#4e9a06&#34;&gt;${&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;SOURCE_ENVIRONMENT_INFO_FILE&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;}&lt;/span&gt; --dest-file &lt;span style=&#34;color:#4e9a06&#34;&gt;${&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;DEST_ENVIRONMENT_INFO_FILE&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Where:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;source-file&lt;/code&gt;: Source environment info file where the data is stored.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;dest-file&lt;/code&gt;: Target environment info file where the data is going to be migrated.&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/atria/technical-components/atria-model-gateway/api-definition/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/atria/technical-components/atria-model-gateway/api-definition/</guid>
      <description>
        
        
        &lt;h1 id=&#34;atria-model-gateway-api-definition&#34;&gt;Atria Model Gateway API definition&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Description of Atria Model Gateway configuration API swagger&lt;/p&gt;
&lt;p&gt;This is an internal &lt;em&gt;&lt;strong&gt;ATRIA&lt;/strong&gt;&lt;/em&gt; API
&lt;br&gt;&lt;br&gt;
&lt;i class=&#34;fa-regular fa-file-lines fa-xl&#34; style=&#34;color: #0d5de7;&#34;&gt;&lt;/i&gt; &lt;a href=&#34;../../techFiles/apis/atria-model-gateway/atria-model-swagger.yaml&#34;&gt;Download swagger file&lt;/a&gt;&lt;/p&gt;

&lt;/div&gt;


&lt;div id=&#34;ohpen_swagger_ui&#34;&gt;&lt;/div&gt;
&lt;script&gt;
  window.onload = function () {
    const ui = SwaggerUIBundle({
      url: &#34;/techFiles/apis/atria-model-gateway/atria-model-swagger.yaml&#34;,
      dom_id: &#39;#ohpen_swagger_ui&#39;,
      presets: [
        SwaggerUIBundle.presets.apis,
        SwaggerUIStandalonePreset
      ]
    });
    window.ui = ui;
  };
&lt;/script&gt;


      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/atria/technical-components/atria-model-gateway/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/atria/technical-components/atria-model-gateway/</guid>
      <description>
        
        
        &lt;h1 id=&#34;atria-model-gateway&#34;&gt;ATRIA Model Gateway&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Descriptive documentation regarding the &lt;em&gt;&lt;strong&gt;ATRIA&lt;/strong&gt;&lt;/em&gt; component &lt;em&gt;&lt;strong&gt;atria-model-gateway&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;atria-model-gateway&lt;/strong&gt;&lt;/em&gt; is an &lt;a href=&#34;../../docs/atria/&#34;&gt;&lt;em&gt;&lt;strong&gt;ATRIA&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt; component in charge of managing the communication with different AI models.&lt;/p&gt;
&lt;p&gt;Currently, this component receives a request from &lt;em&gt;&lt;strong&gt;aura-gateway-api&lt;/strong&gt;&lt;/em&gt;, together with other input data, and makes a call to the &lt;a href=&#34;../../docs/atria/capabilities/llm-experiences-builder/&#34;&gt;LLM/LMM Experiences Builder&lt;/a&gt; and use its capabilities.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;atria-model-gateway&lt;/strong&gt;&lt;/em&gt; is also in charge of security and privacy control and allows users to provide feedback on their experience.&lt;/p&gt;
&lt;p&gt;If the selected AI model is RAG, then &lt;em&gt;&lt;strong&gt;atria-model-gateway&lt;/strong&gt;&lt;/em&gt; calls the &lt;a href=&#34;../../docs/atria/technical-components/atria-rag-server/&#34;&gt;&lt;em&gt;&lt;strong&gt;atria-rag-server&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt;, which is in charge of executing the RAG chain and making the corresponding calls to the LLM models and databases.&lt;/p&gt;
&lt;p&gt;&lt;i class=&#34;fa-regular fa-file-lines fa-xl&#34; style=&#34;color: #0d5de7;&#34;&gt;&lt;/i&gt; The functional components of &lt;em&gt;&lt;strong&gt;atria-model-gateway&lt;/strong&gt;&lt;/em&gt; are described in the document &lt;a href=&#34;../../docs/atria/capabilities/llm-experiences-builder/#functional-components&#34;&gt;LLM/LMM Experiences Builder&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;associated-documentation&#34;&gt;Associated documentation&lt;/h2&gt;
&lt;p&gt;&lt;i class=&#34;fa-regular fa-file-lines fa-xl&#34; style=&#34;color: #0d5de7;&#34;&gt;&lt;/i&gt; Descriptive technical documentation regarding &lt;em&gt;&lt;strong&gt;atria-model-gateway&lt;/strong&gt;&lt;/em&gt; includes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;../../docs/atria/technical-components/atria-model-gateway/components/&#34;&gt;Architecture and components&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../../docs/atria/technical-components/atria-model-gateway/operational-overview/&#34;&gt;Operational overview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../../docs/atria/technical-components/atria-model-gateway/api-definition/&#34;&gt;API definition&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/developers-workspace/monitoring/metrics/atria-model-gateway-metrics/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/developers-workspace/monitoring/metrics/atria-model-gateway-metrics/</guid>
      <description>
        
        
        &lt;h1 id=&#34;atria-model-gateway-metrics&#34;&gt;Atria Model Gateway metrics&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;List of metrics available in &lt;em&gt;&lt;strong&gt;atria-model-gateway&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;http_request_duration_seconds&#34;&gt;http_request_duration_seconds&lt;/h2&gt;
&lt;p&gt;This metric is intended to store the information related to all the incoming HTTP requests received by &lt;a href=&#34;../../docs/atria/technical-components/atria-model-gateway/&#34;&gt;&lt;em&gt;&lt;strong&gt;atria-model-gateway&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It is stored as a &lt;a href=&#34;https://prometheus.io/docs/concepts/metric_types/#summary&#34;&gt;Summary&lt;/a&gt; in &lt;strong&gt;Prometheus&lt;/strong&gt;, so every sample, besides the defined labels, also includes its duration.&lt;/p&gt;
&lt;p&gt;This metric allows measuring the behavior of the requests from any given endpoint. Specifically, the duration since the request lands in &lt;em&gt;&lt;strong&gt;atria-model-gateway&lt;/strong&gt;&lt;/em&gt; until its HTTP response is returned:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The number of requests during a time&lt;/li&gt;
&lt;li&gt;The average/min/max duration of these requests&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Labels:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;method&lt;/code&gt;: HTTP method used by the request being stored (&lt;code&gt;GET&lt;/code&gt;, &lt;code&gt;POST&lt;/code&gt;, &lt;code&gt;PUT&lt;/code&gt;, &lt;code&gt;DELETE&lt;/code&gt;, etc.)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;path&lt;/code&gt;: specific endpoint of the request&lt;/li&gt;
&lt;li&gt;&lt;code&gt;status_code&lt;/code&gt;: HTTP status code returned in the response&lt;/li&gt;
&lt;li&gt;&lt;code&gt;application&lt;/code&gt;: application name that is using the model&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;outgoing_request_duration_seconds&#34;&gt;outgoing_request_duration_seconds&lt;/h2&gt;
&lt;p&gt;This metric is intended to store the information related to all the outgoing HTTP requests made by &lt;em&gt;&lt;strong&gt;atria-model-gateway&lt;/strong&gt;&lt;/em&gt;. It is stored as a &lt;a href=&#34;https://prometheus.io/docs/concepts/metric_types/#summary&#34;&gt;Summary&lt;/a&gt; in &lt;strong&gt;Prometheus&lt;/strong&gt;, so every sample, besides the defined labels, also includes its duration.&lt;/p&gt;
&lt;p&gt;The metric allows measuring the behavior of the requests to any given endpoint:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The number of requests during a time&lt;/li&gt;
&lt;li&gt;The average/min/max duration of these requests&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Labels:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;method&lt;/code&gt;: HTTP method used by the request being stored (&lt;code&gt;GET&lt;/code&gt;, &lt;code&gt;POST&lt;/code&gt;, &lt;code&gt;PUT&lt;/code&gt;, &lt;code&gt;DELETE&lt;/code&gt;, etc.)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;host&lt;/code&gt;: host and domain where the request is being sent&lt;/li&gt;
&lt;li&gt;&lt;code&gt;path&lt;/code&gt;: specific endpoint of the request&lt;/li&gt;
&lt;li&gt;&lt;code&gt;status&lt;/code&gt;: HTTP status code returned in the response&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;generative_tokens&#34;&gt;generative_tokens&lt;/h2&gt;
&lt;p&gt;This metric is intended to store the information related to tokens used by OpenAI in &lt;em&gt;&lt;strong&gt;atria-rag-server&lt;/strong&gt;&lt;/em&gt;. It is stored as a &lt;a href=&#34;https://prometheus.io/docs/concepts/metric_types/#summary&#34;&gt;Summary&lt;/a&gt; in &lt;strong&gt;Prometheus&lt;/strong&gt;, so every sample, besides the defined labels, also includes its tokens usages.&lt;/p&gt;
&lt;p&gt;The metric allows measuring the behavior of the tokens using any given OpenAI model:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The number of tokens during a time&lt;/li&gt;
&lt;li&gt;The average/min/max tokens of these requests&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Labels:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;application&lt;/code&gt;: application name that is using the model&lt;/li&gt;
&lt;li&gt;&lt;code&gt;deployment_model_name&lt;/code&gt;: name of the deployment model&lt;/li&gt;
&lt;li&gt;&lt;code&gt;model_type&lt;/code&gt;: identifier of the model&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/atria/technical-components/atria-model-gateway/environment-variables/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/atria/technical-components/atria-model-gateway/environment-variables/</guid>
      <description>
        
        
        &lt;h1 id=&#34;atria-model-gateway-environment-variables&#34;&gt;ATRIA Model Gateway environment variables&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;List of environment variables handled by the &lt;em&gt;&lt;strong&gt;atria-model-gateway&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;The &lt;em&gt;&lt;strong&gt;atria-model-gateway&lt;/strong&gt;&lt;/em&gt; depends on these environment variables to be set. None of them are modifiable by the OBs.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&#34;text-align:left&#34;&gt;Property&lt;/th&gt;
&lt;th style=&#34;text-align:left&#34;&gt;Type&lt;/th&gt;
&lt;th style=&#34;text-align:left&#34;&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;&lt;strong&gt;AURA_REDIS_DATABASE&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;number&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Redis database number to be used by the server. This number is used to connect to the Redis database.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;&lt;strong&gt;AURA_REDIS_HOSTS&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;string&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Redis hosts to be used by the server. This is a comma-separated list of Redis host names or IP addresses.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;&lt;strong&gt;AURA_REDIS_MODE&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;string&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Mode of the Redis connection.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;&lt;strong&gt;AURA_REDIS_PASSWORD&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;number&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Ppassword for the Redis connection. This password is used to authenticate the connection to the Redis database.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;&lt;strong&gt;AURA_REDIS_POOL_SIZE&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;number&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Size of the Redis connection pool. This number is used to limit the number of connections to the Redis database.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;&lt;strong&gt;AURA_REDIS_PREFIX_SUBSCRIBERS&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;string&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Prefix for the Redis subscribers. This prefix is used to identify the subscribers in the Redis database.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;&lt;strong&gt;AURA_REDIS_CHANNELS_SUBSCRIBERS&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;string&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Channels (separated by &amp;lsquo;,&amp;rsquo;) for the Redis subscribers. Redis prefix is added to these channels at the beginning.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;&lt;strong&gt;AURA_REDIS_P_CHANNELS_SUBSCRIBERS&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;string&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Pattern channels (separated by &amp;lsquo;,&amp;rsquo;) for the Redis subscribers. Redis prefix is added to these pattern channels at the beginning.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;&lt;strong&gt;AURA_DAPR_PUBSUB_NAME&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;string&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;DAPR pubsub component name. It is used to identify DAPR component to be used.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;&lt;strong&gt;AURA_DAPR_PREFIX_SUBSCRIBERS&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;string&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Prefix for the DAPR pubsub subscribers. This prefix is used to identify the subscribers in the configured database.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;&lt;strong&gt;AURA_DAPR_TOPICS_SUBSCRIBERS&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;string&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Topics (separated by &amp;lsquo;,&amp;rsquo;) for the DAPR pubsub subscribers. DAPR prefix is added to these topics at the beginning.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;i class=&#34;fa-solid fa-triangle-exclamation fa-xl&#34; style=&#34;color: #f45815;&#34;&gt;&lt;/i&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;The &lt;strong&gt;environment variables related to Redis&lt;/strong&gt; are used to connect to the Redis database. This database is used to refresh the agent&amp;rsquo;s configuration, because every time the configuration of an agent is changed, it publishes this change in the corresponding channel so we can detect this change in order to refresh it.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The &lt;strong&gt;environment variables related to DAPR&lt;/strong&gt; are used to connect to the DAPR components. These components are used to refresh the agent&amp;rsquo;s configuration, because every time the configuration of an agent is changed, it publishes this change in a corresponding topic, so we can detect this change in order to refresh it.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In order to use DAPR, it is necessary to have the DAPR pubsub component configured in the DAPR configuration file, besides the DAPR &lt;a href=&#34;https://docs.dapr.io/reference/environment/&#34;&gt;environment variables&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/atria/technical-guidelines/atria-error-management/atria-model-gw-errors-manager/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/atria/technical-guidelines/atria-error-management/atria-model-gw-errors-manager/</guid>
      <description>
        
        
        &lt;h1 id=&#34;atria-model-gateway-error-management&#34;&gt;atria-model-gateway error management&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;This document includes the different errors returned by &lt;em&gt;&lt;strong&gt;atria-model-gateway&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;error-descriptions&#34;&gt;Error descriptions&lt;/h2&gt;
&lt;h3 id=&#34;invalidmodelparam&#34;&gt;InvalidModelParam&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;description&lt;/strong&gt;: One or more parameters provided for the model are invalid. Please verify the parameter names and values.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;message&lt;/strong&gt;: Specific and descriptive text of the error.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;http status&lt;/strong&gt;: 400&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;modelfiltercontent&#34;&gt;ModelFilterContent&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;description&lt;/strong&gt;: The response was filtered due to the prompt triggering Azure OpenAI&amp;rsquo;s content management policy.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;message&lt;/strong&gt;: Specific and descriptive text of the error.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;http status&lt;/strong&gt;: 400&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;invalidprompt&#34;&gt;InvalidPrompt&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;description&lt;/strong&gt;: The prompt format is incorrect or contains unsupported characters. Ensure it is a valid string and is adhered to formatting guidelines.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;message&lt;/strong&gt;: Specific and descriptive text of the error.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;http status&lt;/strong&gt;: 400&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;modelnotfound&#34;&gt;ModelNotFound&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;description&lt;/strong&gt;: The specified model does not exist or is not available for you.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;message&lt;/strong&gt;: Specific and descriptive text of the error.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;http status&lt;/strong&gt;: 400&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;contextlengthexceeded&#34;&gt;ContextLengthExceeded&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;description&lt;/strong&gt;: The message sent (including prompt + previous messages) exceeds the token limit of the model. Reduce the size of the prompt or the conversation history.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;message&lt;/strong&gt;: Specific and descriptive text of the error.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;http status&lt;/strong&gt;: 400&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;injectionattempt&#34;&gt;InjectionAttempt&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;description&lt;/strong&gt;: Injection attempt detected. The request appears to contain input designed to manipulate the system&amp;rsquo;s behavior. This request has been blocked for security reasons.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;message&lt;/strong&gt;: Specific and descriptive text of the error.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;http status&lt;/strong&gt;: 400&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;internalerror&#34;&gt;InternalError&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;description&lt;/strong&gt;: Incoming HTTP request produces an internal error.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;message&lt;/strong&gt;: Specific and descriptive text of the error.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;http status&lt;/strong&gt;: 500&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;unauthorized&#34;&gt;Unauthorized&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;description&lt;/strong&gt;: Incoming HTTP request authorization is not valid.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;message&lt;/strong&gt;: Specific and descriptive text of the error.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;http status&lt;/strong&gt;: 500&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;requesttimeout&#34;&gt;RequestTimeout&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;description&lt;/strong&gt;: The server has decided to close the connection rather than continue waiting. In the headers, the field &lt;code&gt;retry-after&lt;/code&gt; is included, which is the waiting time for retrying again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;message&lt;/strong&gt;: Specific and descriptive text of the error.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;http status&lt;/strong&gt;: 500&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;quotaerror&#34;&gt;QuotaError&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;description&lt;/strong&gt;: Incoming HTTP request needs more quota. In the headers, the field &lt;code&gt;retry-after&lt;/code&gt; is included, which is the waiting time for retrying again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;message&lt;/strong&gt;: Specific and descriptive text of the error.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;http status&lt;/strong&gt;: 500&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;auraerror&#34;&gt;AuraError&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;description&lt;/strong&gt;: Generic error.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;message&lt;/strong&gt;: Specific and descriptive text of the error.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;http status&lt;/strong&gt;: 500&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
  </channel>
</rss>
