This commit is contained in:
salmanap 2025-10-30 00:08:41 +00:00
parent fc0f228236
commit f914db84e6
33 changed files with 93 additions and 33 deletions

View file

@ -418,7 +418,7 @@ the users intent.</p>
</div><footer class="py-6 border-t border-border md:py-0">
<div class="container flex flex-col items-center justify-between gap-4 md:h-24 md:flex-row">
<div class="flex flex-col items-center gap-4 px-8 md:flex-row md:gap-2 md:px-0">
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 28, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 30, 2025. </p>
</div>
</div>
</footer>

View file

@ -354,7 +354,7 @@ that you can test and modify locally for multi-turn RAG scenarios.</p>
</div><footer class="py-6 border-t border-border md:py-0">
<div class="container flex flex-col items-center justify-between gap-4 md:h-24 md:flex-row">
<div class="flex flex-col items-center gap-4 px-8 md:flex-row md:gap-2 md:px-0">
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 28, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 30, 2025. </p>
</div>
</div>
</footer>

View file

@ -302,7 +302,7 @@ minutes. For additional details on how to build multi-turn RAG applications plea
</div><footer class="py-6 border-t border-border md:py-0">
<div class="container flex flex-col items-center justify-between gap-4 md:h-24 md:flex-row">
<div class="flex flex-col items-center gap-4 px-8 md:flex-row md:gap-2 md:px-0">
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 28, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 30, 2025. </p>
</div>
</div>
</footer>

View file

@ -584,7 +584,7 @@ Implement fallback logic for better reliability:</p>
</div><footer class="py-6 border-t border-border md:py-0">
<div class="container flex flex-col items-center justify-between gap-4 md:h-24 md:flex-row">
<div class="flex flex-col items-center gap-4 px-8 md:flex-row md:gap-2 md:px-0">
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 28, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 30, 2025. </p>
</div>
</div>
</footer>

View file

@ -238,6 +238,7 @@ Use your preferred client library without changing existing code (see <a class="
<li class="toctree-l2"><a class="reference internal" href="supported_providers.html#supported-api-endpoints">Supported API Endpoints</a></li>
<li class="toctree-l2"><a class="reference internal" href="supported_providers.html#first-class-providers">First-Class Providers</a></li>
<li class="toctree-l2"><a class="reference internal" href="supported_providers.html#providers-requiring-base-url">Providers Requiring Base URL</a></li>
<li class="toctree-l2"><a class="reference internal" href="supported_providers.html#base-url-configuration">Base URL Configuration</a></li>
<li class="toctree-l2"><a class="reference internal" href="supported_providers.html#advanced-configuration">Advanced Configuration</a></li>
<li class="toctree-l2"><a class="reference internal" href="supported_providers.html#model-selection-guidelines">Model Selection Guidelines</a></li>
<li class="toctree-l2"><a class="reference internal" href="supported_providers.html#see-also">See Also</a></li>
@ -301,7 +302,7 @@ Use your preferred client library without changing existing code (see <a class="
</div><footer class="py-6 border-t border-border md:py-0">
<div class="container flex flex-col items-center justify-between gap-4 md:h-24 md:flex-row">
<div class="flex flex-col items-center gap-4 px-8 md:flex-row md:gap-2 md:px-0">
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 28, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 30, 2025. </p>
</div>
</div>
</footer>

View file

@ -435,7 +435,7 @@
</div><footer class="py-6 border-t border-border md:py-0">
<div class="container flex flex-col items-center justify-between gap-4 md:h-24 md:flex-row">
<div class="flex flex-col items-center gap-4 px-8 md:flex-row md:gap-2 md:px-0">
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 28, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 30, 2025. </p>
</div>
</div>
</footer>

View file

@ -194,7 +194,7 @@
<li><p><code class="docutils literal notranslate"><span class="pre">access_key</span></code>: API key for authentication (supports environment variables)</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">default</span></code>: Mark a model as the default (optional, boolean)</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">name</span></code>: Custom name for the provider instance (optional)</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">base_url</span></code>: Custom endpoint URL (required for some providers)</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">base_url</span></code>: Custom endpoint URL (required for some providers, optional for others - see <a class="reference internal" href="#base-url-details"><span class="std std-ref">Base URL Configuration</span></a>)</p></li>
</ul>
</section>
<section id="provider-categories">
@ -700,6 +700,7 @@ Any provider that implements the OpenAI API interface can be configured using cu
</section>
<section id="providers-requiring-base-url">
<h2>Providers Requiring Base URL<a @click.prevent="window.navigator.clipboard.writeText($el.href); $el.setAttribute('data-tooltip', 'Copied!'); setTimeout(() =&gt; $el.setAttribute('data-tooltip', 'Copy link to this element'), 2000)" aria-label="Copy link to this element" class="headerlink" data-tooltip="Copy link to this element" href="#providers-requiring-base-url" x-intersect.margin.0%.0%.-70%.0%="activeSection = '#providers-requiring-base-url'"><svg height="1em" viewbox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"></path></svg></a></h2>
<p>The following providers require a <code class="docutils literal notranslate"><span class="pre">base_url</span></code> parameter to be configured. For detailed information on base URL configuration including path prefix behavior and examples, see <a class="reference internal" href="#base-url-details"><span class="std std-ref">Base URL Configuration</span></a>.</p>
<section id="azure-openai">
<h3>Azure OpenAI<a @click.prevent="window.navigator.clipboard.writeText($el.href); $el.setAttribute('data-tooltip', 'Copied!'); setTimeout(() =&gt; $el.setAttribute('data-tooltip', 'Copy link to this element'), 2000)" aria-label="Copy link to this element" class="headerlink" data-tooltip="Copy link to this element" href="#azure-openai" x-intersect.margin.0%.0%.-70%.0%="activeSection = '#azure-openai'"><svg height="1em" viewbox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"></path></svg></a></h3>
<p><strong>Provider Prefix:</strong> <code class="docutils literal notranslate"><span class="pre">azure_openai/</span></code></p>
@ -804,6 +805,63 @@ Any provider that implements the OpenAI API interface can be configured using cu
</div>
</section>
</section>
<section id="base-url-configuration">
<span id="base-url-details"></span><h2>Base URL Configuration<a @click.prevent="window.navigator.clipboard.writeText($el.href); $el.setAttribute('data-tooltip', 'Copied!'); setTimeout(() =&gt; $el.setAttribute('data-tooltip', 'Copy link to this element'), 2000)" aria-label="Copy link to this element" class="headerlink" data-tooltip="Copy link to this element" href="#base-url-configuration" x-intersect.margin.0%.0%.-70%.0%="activeSection = '#base-url-configuration'"><svg height="1em" viewbox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"></path></svg></a></h2>
<p>The <code class="docutils literal notranslate"><span class="pre">base_url</span></code> parameter allows you to specify custom endpoints for model providers. It supports both hostname and path components, enabling flexible routing to different API endpoints.</p>
<p><strong>Format:</strong> <code class="docutils literal notranslate"><span class="pre">&lt;scheme&gt;://&lt;hostname&gt;[:&lt;port&gt;][/&lt;path&gt;]</span></code></p>
<p><strong>Components:</strong></p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">scheme</span></code>: <code class="docutils literal notranslate"><span class="pre">http</span></code> or <code class="docutils literal notranslate"><span class="pre">https</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">hostname</span></code>: API server hostname or IP address</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">port</span></code>: Optional, defaults to 80 for http, 443 for https</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">path</span></code>: Optional path prefix that <strong>replaces</strong> the providers default API path</p></li>
</ul>
<p><strong>How Path Prefixes Work:</strong></p>
<p>When you include a path in <code class="docutils literal notranslate"><span class="pre">base_url</span></code>, it replaces the providers default path prefix while preserving the endpoint suffix:</p>
<ul class="simple">
<li><p><strong>Without path prefix</strong>: Uses the providers default path structure</p></li>
<li><p><strong>With path prefix</strong>: Your custom path replaces the providers default prefix, then the endpoint suffix is appended</p></li>
</ul>
<p><strong>Configuration Examples:</strong></p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><code><span id="line-1"><span class="nt">llm_providers</span><span class="p">:</span>
</span><span id="line-2"><span class="w"> </span><span class="c1"># Simple hostname only - uses provider's default path</span>
</span><span id="line-3"><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">model</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">zhipu/glm-4.6</span>
</span><span id="line-4"><span class="w"> </span><span class="nt">access_key</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">$ZHIPU_API_KEY</span>
</span><span id="line-5"><span class="w"> </span><span class="nt">base_url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">https://api.z.ai</span>
</span><span id="line-6"><span class="w"> </span><span class="c1"># Results in: https://api.z.ai/api/paas/v4/chat/completions</span>
</span><span id="line-7">
</span><span id="line-8"><span class="w"> </span><span class="c1"># With custom path prefix - replaces provider's default path</span>
</span><span id="line-9"><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">model</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">zhipu/glm-4.6</span>
</span><span id="line-10"><span class="w"> </span><span class="nt">access_key</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">$ZHIPU_API_KEY</span>
</span><span id="line-11"><span class="w"> </span><span class="nt">base_url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">https://api.z.ai/api/coding/paas/v4</span>
</span><span id="line-12"><span class="w"> </span><span class="c1"># Results in: https://api.z.ai/api/coding/paas/v4/chat/completions</span>
</span><span id="line-13">
</span><span id="line-14"><span class="w"> </span><span class="c1"># Azure with custom path</span>
</span><span id="line-15"><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">model</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">azure_openai/gpt-4</span>
</span><span id="line-16"><span class="w"> </span><span class="nt">access_key</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">$AZURE_API_KEY</span>
</span><span id="line-17"><span class="w"> </span><span class="nt">base_url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">https://mycompany.openai.azure.com/custom/deployment/path</span>
</span><span id="line-18"><span class="w"> </span><span class="c1"># Results in: https://mycompany.openai.azure.com/custom/deployment/path/chat/completions</span>
</span><span id="line-19">
</span><span id="line-20"><span class="w"> </span><span class="c1"># Behind a proxy or API gateway</span>
</span><span id="line-21"><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">model</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">openai/gpt-4o</span>
</span><span id="line-22"><span class="w"> </span><span class="nt">access_key</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">$OPENAI_API_KEY</span>
</span><span id="line-23"><span class="w"> </span><span class="nt">base_url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">https://proxy.company.com/ai-gateway/openai</span>
</span><span id="line-24"><span class="w"> </span><span class="c1"># Results in: https://proxy.company.com/ai-gateway/openai/chat/completions</span>
</span><span id="line-25">
</span><span id="line-26"><span class="w"> </span><span class="c1"># Local endpoint with custom port</span>
</span><span id="line-27"><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">model</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">ollama/llama3.1</span>
</span><span id="line-28"><span class="w"> </span><span class="nt">base_url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">http://localhost:8080</span>
</span><span id="line-29"><span class="w"> </span><span class="c1"># Results in: http://localhost:8080/v1/chat/completions</span>
</span><span id="line-30">
</span><span id="line-31"><span class="w"> </span><span class="c1"># Custom provider with path prefix</span>
</span><span id="line-32"><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">model</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">vllm/custom-model</span>
</span><span id="line-33"><span class="w"> </span><span class="nt">access_key</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">$VLLM_API_KEY</span>
</span><span id="line-34"><span class="w"> </span><span class="nt">base_url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">https://vllm.example.com/models/v2</span>
</span><span id="line-35"><span class="w"> </span><span class="nt">provider_interface</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">openai</span>
</span><span id="line-36"><span class="w"> </span><span class="c1"># Results in: https://vllm.example.com/models/v2/chat/completions</span>
</span></code></pre></div>
</div>
</section>
<section id="advanced-configuration">
<h2>Advanced Configuration<a @click.prevent="window.navigator.clipboard.writeText($el.href); $el.setAttribute('data-tooltip', 'Copied!'); setTimeout(() =&gt; $el.setAttribute('data-tooltip', 'Copy link to this element'), 2000)" aria-label="Copy link to this element" class="headerlink" data-tooltip="Copy link to this element" href="#advanced-configuration" x-intersect.margin.0%.0%.-70%.0%="activeSection = '#advanced-configuration'"><svg height="1em" viewbox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"></path></svg></a></h2>
<section id="multiple-provider-instances">
@ -920,6 +978,7 @@ Any provider that implements the OpenAI API interface can be configured using cu
<li><a :data-current="activeSection === '#openai-compatible-providers'" class="reference internal" href="#openai-compatible-providers">OpenAI-Compatible Providers</a></li>
</ul>
</li>
<li><a :data-current="activeSection === '#base-url-configuration'" class="reference internal" href="#base-url-configuration">Base URL Configuration</a></li>
<li><a :data-current="activeSection === '#advanced-configuration'" class="reference internal" href="#advanced-configuration">Advanced Configuration</a><ul>
<li><a :data-current="activeSection === '#multiple-provider-instances'" class="reference internal" href="#multiple-provider-instances">Multiple Provider Instances</a></li>
<li><a :data-current="activeSection === '#default-model-configuration'" class="reference internal" href="#default-model-configuration">Default Model Configuration</a></li>
@ -936,7 +995,7 @@ Any provider that implements the OpenAI API interface can be configured using cu
</div><footer class="py-6 border-t border-border md:py-0">
<div class="container flex flex-col items-center justify-between gap-4 md:h-24 md:flex-row">
<div class="flex flex-col items-center gap-4 px-8 md:flex-row md:gap-2 md:px-0">
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 28, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 30, 2025. </p>
</div>
</div>
</footer>

View file

@ -372,7 +372,7 @@ Each parameter can be marked as required or optional. Here is a full list of par
</div><footer class="py-6 border-t border-border md:py-0">
<div class="container flex flex-col items-center justify-between gap-4 md:h-24 md:flex-row">
<div class="flex flex-col items-center gap-4 px-8 md:flex-row md:gap-2 md:px-0">
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 28, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 30, 2025. </p>
</div>
</div>
</footer>

View file

@ -239,7 +239,7 @@ The errors are communicated to the application via headers like <code class="doc
</div><footer class="py-6 border-t border-border md:py-0">
<div class="container flex flex-col items-center justify-between gap-4 md:h-24 md:flex-row">
<div class="flex flex-col items-center gap-4 px-8 md:flex-row md:gap-2 md:px-0">
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 28, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 30, 2025. </p>
</div>
</div>
</footer>

View file

@ -242,7 +242,7 @@ address like <code class="docutils literal notranslate"><span class="pre">arch.l
</div><footer class="py-6 border-t border-border md:py-0">
<div class="container flex flex-col items-center justify-between gap-4 md:h-24 md:flex-row">
<div class="flex flex-col items-center gap-4 px-8 md:flex-row md:gap-2 md:px-0">
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 28, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 30, 2025. </p>
</div>
</div>
</footer>

View file

@ -230,7 +230,7 @@ how to generate API keys for model serving</p>
</div><footer class="py-6 border-t border-border md:py-0">
<div class="container flex flex-col items-center justify-between gap-4 md:h-24 md:flex-row">
<div class="flex flex-col items-center gap-4 px-8 md:flex-row md:gap-2 md:px-0">
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 28, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 30, 2025. </p>
</div>
</div>
</footer>

View file

@ -402,7 +402,7 @@ This setup allows you to take advantage of Archs advanced traffic management
</div><footer class="py-6 border-t border-border md:py-0">
<div class="container flex flex-col items-center justify-between gap-4 md:h-24 md:flex-row">
<div class="flex flex-col items-center gap-4 px-8 md:flex-row md:gap-2 md:px-0">
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 28, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 30, 2025. </p>
</div>
</div>
</footer>

View file

@ -402,7 +402,7 @@ processing request headers and then finalized by the HCM during post-request pro
</div><footer class="py-6 border-t border-border md:py-0">
<div class="container flex flex-col items-center justify-between gap-4 md:h-24 md:flex-row">
<div class="flex flex-col items-center gap-4 px-8 md:flex-row md:gap-2 md:px-0">
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 28, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 30, 2025. </p>
</div>
</div>
</footer>

View file

@ -226,7 +226,7 @@
</div><footer class="py-6 border-t border-border md:py-0">
<div class="container flex flex-col items-center justify-between gap-4 md:h-24 md:flex-row">
<div class="flex flex-col items-center gap-4 px-8 md:flex-row md:gap-2 md:px-0">
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 28, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 30, 2025. </p>
</div>
</div>
</footer>

View file

@ -223,7 +223,7 @@ and take appropriate actions.</p>
</div><footer class="py-6 border-t border-border md:py-0">
<div class="container flex flex-col items-center justify-between gap-4 md:h-24 md:flex-row">
<div class="flex flex-col items-center gap-4 px-8 md:flex-row md:gap-2 md:px-0">
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 28, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 30, 2025. </p>
</div>
</div>
</footer>

View file

@ -201,7 +201,7 @@ hardware threads on the machine.</p>
</div><footer class="py-6 border-t border-border md:py-0">
<div class="container flex flex-col items-center justify-between gap-4 md:h-24 md:flex-row">
<div class="flex flex-col items-center gap-4 px-8 md:flex-row md:gap-2 md:px-0">
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 28, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 30, 2025. </p>
</div>
</div>
</footer>

View file

@ -245,7 +245,7 @@ For more details, read <a class="reference internal" href="../guides/observabili
</div><footer class="py-6 border-t border-border md:py-0">
<div class="container flex flex-col items-center justify-between gap-4 md:h-24 md:flex-row">
<div class="flex flex-col items-center gap-4 px-8 md:flex-row md:gap-2 md:px-0">
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 28, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 30, 2025. </p>
</div>
</div>
</footer>

View file

@ -338,7 +338,7 @@ simplify the interaction with upstream LLMs, and improve observability all while
</div><footer class="py-6 border-t border-border md:py-0">
<div class="container flex flex-col items-center justify-between gap-4 md:h-24 md:flex-row">
<div class="flex flex-col items-center gap-4 px-8 md:flex-row md:gap-2 md:px-0">
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 28, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 30, 2025. </p>
</div>
</div>
</footer>

View file

@ -442,7 +442,7 @@
</div><footer class="py-6 border-t border-border md:py-0">
<div class="container flex flex-col items-center justify-between gap-4 md:h-24 md:flex-row">
<div class="flex flex-col items-center gap-4 px-8 md:flex-row md:gap-2 md:px-0">
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 28, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 30, 2025. </p>
</div>
</div>
</footer>

View file

@ -297,7 +297,7 @@ please see our <a class="reference external" href="https://github.com/katanemo/a
</div><footer class="py-6 border-t border-border md:py-0">
<div class="container flex flex-col items-center justify-between gap-4 md:h-24 md:flex-row">
<div class="flex flex-col items-center gap-4 px-8 md:flex-row md:gap-2 md:px-0">
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 28, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 30, 2025. </p>
</div>
</div>
</footer>

View file

@ -373,7 +373,7 @@ on the stuff that matters most.</p>
</div><footer class="py-6 border-t border-border md:py-0">
<div class="container flex flex-col items-center justify-between gap-4 md:h-24 md:flex-row">
<div class="flex flex-col items-center gap-4 px-8 md:flex-row md:gap-2 md:px-0">
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 28, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 30, 2025. </p>
</div>
</div>
</footer>

View file

@ -567,7 +567,7 @@ Provides a practical mechanism to encode user preferences through domain-action
</div><footer class="py-6 border-t border-border md:py-0">
<div class="container flex flex-col items-center justify-between gap-4 md:h-24 md:flex-row">
<div class="flex flex-col items-center gap-4 px-8 md:flex-row md:gap-2 md:px-0">
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 28, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 30, 2025. </p>
</div>
</div>
</footer>

View file

@ -249,7 +249,7 @@ Access logs can be exported to centralized logging systems (e.g., ELK stack or F
</div><footer class="py-6 border-t border-border md:py-0">
<div class="container flex flex-col items-center justify-between gap-4 md:h-24 md:flex-row">
<div class="flex flex-col items-center gap-4 px-8 md:flex-row md:gap-2 md:px-0">
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 28, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 30, 2025. </p>
</div>
</div>
</footer>

View file

@ -261,7 +261,7 @@ are some sample configuration files for both, respectively.</p>
</div><footer class="py-6 border-t border-border md:py-0">
<div class="container flex flex-col items-center justify-between gap-4 md:h-24 md:flex-row">
<div class="flex flex-col items-center gap-4 px-8 md:flex-row md:gap-2 md:px-0">
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 28, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 30, 2025. </p>
</div>
</div>
</footer>

View file

@ -213,7 +213,7 @@
</div><footer class="py-6 border-t border-border md:py-0">
<div class="container flex flex-col items-center justify-between gap-4 md:h-24 md:flex-row">
<div class="flex flex-col items-center gap-4 px-8 md:flex-row md:gap-2 md:px-0">
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 28, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 30, 2025. </p>
</div>
</div>
</footer>

View file

@ -583,7 +583,7 @@ tools like AWS X-Ray and Datadog, enhancing observability and facilitating faste
</div><footer class="py-6 border-t border-border md:py-0">
<div class="container flex flex-col items-center justify-between gap-4 md:h-24 md:flex-row">
<div class="flex flex-col items-center gap-4 px-8 md:flex-row md:gap-2 md:px-0">
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 28, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 30, 2025. </p>
</div>
</div>
</footer>

View file

@ -274,7 +274,7 @@ By implementing Prompt Guard, developers can provide a robust layer of input val
</div><footer class="py-6 border-t border-border md:py-0">
<div class="container flex flex-col items-center justify-between gap-4 md:h-24 md:flex-row">
<div class="flex flex-col items-center gap-4 px-8 md:flex-row md:gap-2 md:px-0">
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 28, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 30, 2025. </p>
</div>
</div>
</footer>

View file

@ -256,7 +256,7 @@ Resources</label><div class="sd-tab-content docutils">
</div><footer class="py-6 border-t border-border md:py-0">
<div class="container flex flex-col items-center justify-between gap-4 md:h-24 md:flex-row">
<div class="flex flex-col items-center gap-4 px-8 md:flex-row md:gap-2 md:px-0">
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 28, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 30, 2025. </p>
</div>
</div>
</footer>

Binary file not shown.

View file

@ -286,7 +286,7 @@ where prompts get routed to, apply guardrails, and enable critical agent observa
</div><footer class="py-6 border-t border-border md:py-0">
<div class="container flex flex-col items-center justify-between gap-4 md:h-24 md:flex-row">
<div class="flex flex-col items-center gap-4 px-8 md:flex-row md:gap-2 md:px-0">
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 28, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 30, 2025. </p>
</div>
</div>
</footer>

View file

@ -306,7 +306,7 @@
</div><footer class="py-6 border-t border-border md:py-0">
<div class="container flex flex-col items-center justify-between gap-4 md:h-24 md:flex-row">
<div class="flex flex-col items-center gap-4 px-8 md:flex-row md:gap-2 md:px-0">
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 28, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Oct 30, 2025. </p>
</div>
</div>
</footer>

View file

@ -221,7 +221,7 @@
</div><footer class="py-6 border-t border-border md:py-0">
<div class="container flex flex-col items-center justify-between gap-4 md:h-24 md:flex-row">
<div class="flex flex-col items-center gap-4 px-8 md:flex-row md:gap-2 md:px-0">
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc&nbsp;Last updated: Oct 28, 2025.&nbsp;</p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc&nbsp;Last updated: Oct 30, 2025.&nbsp;</p>
</div>
</div>
</footer>

File diff suppressed because one or more lines are too long