This commit is contained in:
adilhafeez 2025-02-21 00:20:18 +00:00
parent 96fa440dfd
commit 979a8061c6
28 changed files with 223 additions and 220 deletions

View file

@ -5,158 +5,158 @@ td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight { background: #ffffff; }
.highlight .c { color: #888888; font-style: italic } /* Comment */
.highlight .err { background-color: #a848a8 } /* Error */
.highlight .k { color: #2838b0 } /* Keyword */
.highlight .o { color: #666666 } /* Operator */
.highlight .p { color: #888888 } /* Punctuation */
.highlight .c { color: #888; font-style: italic } /* Comment */
.highlight .err { background-color: #A848A8 } /* Error */
.highlight .k { color: #2838B0 } /* Keyword */
.highlight .o { color: #666 } /* Operator */
.highlight .p { color: #888 } /* Punctuation */
.highlight .ch { color: #287088; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #888888; font-style: italic } /* Comment.Multiline */
.highlight .cm { color: #888; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #289870 } /* Comment.Preproc */
.highlight .cpf { color: #888888; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #888888; font-style: italic } /* Comment.Single */
.highlight .cs { color: #888888; font-style: italic } /* Comment.Special */
.highlight .gd { color: #c02828 } /* Generic.Deleted */
.highlight .cpf { color: #888; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #888; font-style: italic } /* Comment.Single */
.highlight .cs { color: #888; font-style: italic } /* Comment.Special */
.highlight .gd { color: #C02828 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #c02828 } /* Generic.Error */
.highlight .gh { color: #666666 } /* Generic.Heading */
.highlight .gr { color: #C02828 } /* Generic.Error */
.highlight .gh { color: #666 } /* Generic.Heading */
.highlight .gi { color: #388038 } /* Generic.Inserted */
.highlight .go { color: #666666 } /* Generic.Output */
.highlight .gp { color: #444444 } /* Generic.Prompt */
.highlight .go { color: #666 } /* Generic.Output */
.highlight .gp { color: #444 } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #444444 } /* Generic.Subheading */
.highlight .gt { color: #2838b0 } /* Generic.Traceback */
.highlight .kc { color: #444444; font-style: italic } /* Keyword.Constant */
.highlight .kd { color: #2838b0; font-style: italic } /* Keyword.Declaration */
.highlight .kn { color: #2838b0 } /* Keyword.Namespace */
.highlight .kp { color: #2838b0 } /* Keyword.Pseudo */
.highlight .kr { color: #2838b0 } /* Keyword.Reserved */
.highlight .kt { color: #2838b0; font-style: italic } /* Keyword.Type */
.highlight .m { color: #444444 } /* Literal.Number */
.highlight .s { color: #b83838 } /* Literal.String */
.highlight .gu { color: #444 } /* Generic.Subheading */
.highlight .gt { color: #2838B0 } /* Generic.Traceback */
.highlight .kc { color: #444; font-style: italic } /* Keyword.Constant */
.highlight .kd { color: #2838B0; font-style: italic } /* Keyword.Declaration */
.highlight .kn { color: #2838B0 } /* Keyword.Namespace */
.highlight .kp { color: #2838B0 } /* Keyword.Pseudo */
.highlight .kr { color: #2838B0 } /* Keyword.Reserved */
.highlight .kt { color: #2838B0; font-style: italic } /* Keyword.Type */
.highlight .m { color: #444 } /* Literal.Number */
.highlight .s { color: #B83838 } /* Literal.String */
.highlight .na { color: #388038 } /* Name.Attribute */
.highlight .nb { color: #388038 } /* Name.Builtin */
.highlight .nc { color: #287088 } /* Name.Class */
.highlight .no { color: #b85820 } /* Name.Constant */
.highlight .no { color: #B85820 } /* Name.Constant */
.highlight .nd { color: #287088 } /* Name.Decorator */
.highlight .ni { color: #709030 } /* Name.Entity */
.highlight .ne { color: #908828 } /* Name.Exception */
.highlight .nf { color: #785840 } /* Name.Function */
.highlight .nl { color: #289870 } /* Name.Label */
.highlight .nn { color: #289870 } /* Name.Namespace */
.highlight .nt { color: #2838b0 } /* Name.Tag */
.highlight .nv { color: #b04040 } /* Name.Variable */
.highlight .ow { color: #a848a8 } /* Operator.Word */
.highlight .pm { color: #888888 } /* Punctuation.Marker */
.highlight .w { color: #a89028 } /* Text.Whitespace */
.highlight .mb { color: #444444 } /* Literal.Number.Bin */
.highlight .mf { color: #444444 } /* Literal.Number.Float */
.highlight .mh { color: #444444 } /* Literal.Number.Hex */
.highlight .mi { color: #444444 } /* Literal.Number.Integer */
.highlight .mo { color: #444444 } /* Literal.Number.Oct */
.highlight .sa { color: #444444 } /* Literal.String.Affix */
.highlight .sb { color: #b83838 } /* Literal.String.Backtick */
.highlight .sc { color: #a848a8 } /* Literal.String.Char */
.highlight .dl { color: #b85820 } /* Literal.String.Delimiter */
.highlight .sd { color: #b85820; font-style: italic } /* Literal.String.Doc */
.highlight .s2 { color: #b83838 } /* Literal.String.Double */
.highlight .nt { color: #2838B0 } /* Name.Tag */
.highlight .nv { color: #B04040 } /* Name.Variable */
.highlight .ow { color: #A848A8 } /* Operator.Word */
.highlight .pm { color: #888 } /* Punctuation.Marker */
.highlight .w { color: #A89028 } /* Text.Whitespace */
.highlight .mb { color: #444 } /* Literal.Number.Bin */
.highlight .mf { color: #444 } /* Literal.Number.Float */
.highlight .mh { color: #444 } /* Literal.Number.Hex */
.highlight .mi { color: #444 } /* Literal.Number.Integer */
.highlight .mo { color: #444 } /* Literal.Number.Oct */
.highlight .sa { color: #444 } /* Literal.String.Affix */
.highlight .sb { color: #B83838 } /* Literal.String.Backtick */
.highlight .sc { color: #A848A8 } /* Literal.String.Char */
.highlight .dl { color: #B85820 } /* Literal.String.Delimiter */
.highlight .sd { color: #B85820; font-style: italic } /* Literal.String.Doc */
.highlight .s2 { color: #B83838 } /* Literal.String.Double */
.highlight .se { color: #709030 } /* Literal.String.Escape */
.highlight .sh { color: #b83838 } /* Literal.String.Heredoc */
.highlight .si { color: #b83838; text-decoration: underline } /* Literal.String.Interpol */
.highlight .sx { color: #a848a8 } /* Literal.String.Other */
.highlight .sr { color: #a848a8 } /* Literal.String.Regex */
.highlight .s1 { color: #b83838 } /* Literal.String.Single */
.highlight .ss { color: #b83838 } /* Literal.String.Symbol */
.highlight .sh { color: #B83838 } /* Literal.String.Heredoc */
.highlight .si { color: #B83838; text-decoration: underline } /* Literal.String.Interpol */
.highlight .sx { color: #A848A8 } /* Literal.String.Other */
.highlight .sr { color: #A848A8 } /* Literal.String.Regex */
.highlight .s1 { color: #B83838 } /* Literal.String.Single */
.highlight .ss { color: #B83838 } /* Literal.String.Symbol */
.highlight .bp { color: #388038; font-style: italic } /* Name.Builtin.Pseudo */
.highlight .fm { color: #b85820 } /* Name.Function.Magic */
.highlight .vc { color: #b04040 } /* Name.Variable.Class */
.highlight .fm { color: #B85820 } /* Name.Function.Magic */
.highlight .vc { color: #B04040 } /* Name.Variable.Class */
.highlight .vg { color: #908828 } /* Name.Variable.Global */
.highlight .vi { color: #b04040 } /* Name.Variable.Instance */
.highlight .vm { color: #b85820 } /* Name.Variable.Magic */
.highlight .il { color: #444444 } /* Literal.Number.Integer.Long */pre { line-height: 125%; }
.highlight .vi { color: #B04040 } /* Name.Variable.Instance */
.highlight .vm { color: #B85820 } /* Name.Variable.Magic */
.highlight .il { color: #444 } /* Literal.Number.Integer.Long */pre { line-height: 125%; }
td.linenos .normal { color: #6e7681; background-color: #0d1117; padding-left: 5px; padding-right: 5px; }
span.linenos { color: #6e7681; background-color: #0d1117; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #e6edf3; background-color: #6e7681; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #e6edf3; background-color: #6e7681; padding-left: 5px; padding-right: 5px; }
.dark .highlight .hll { background-color: #6e7681 }
.dark .highlight { background: #0d1117; color: #e6edf3 }
.dark .highlight .c { color: #8b949e; font-style: italic } /* Comment */
.dark .highlight .err { color: #f85149 } /* Error */
.dark .highlight .esc { color: #e6edf3 } /* Escape */
.dark .highlight .g { color: #e6edf3 } /* Generic */
.dark .highlight .k { color: #ff7b72 } /* Keyword */
.dark .highlight .l { color: #a5d6ff } /* Literal */
.dark .highlight .n { color: #e6edf3 } /* Name */
.dark .highlight .o { color: #ff7b72; font-weight: bold } /* Operator */
.dark .highlight .x { color: #e6edf3 } /* Other */
.dark .highlight .p { color: #e6edf3 } /* Punctuation */
.dark .highlight .ch { color: #8b949e; font-style: italic } /* Comment.Hashbang */
.dark .highlight .cm { color: #8b949e; font-style: italic } /* Comment.Multiline */
.dark .highlight .cp { color: #8b949e; font-weight: bold; font-style: italic } /* Comment.Preproc */
.dark .highlight .cpf { color: #8b949e; font-style: italic } /* Comment.PreprocFile */
.dark .highlight .c1 { color: #8b949e; font-style: italic } /* Comment.Single */
.dark .highlight .cs { color: #8b949e; font-weight: bold; font-style: italic } /* Comment.Special */
.dark .highlight .gd { color: #ffa198; background-color: #490202 } /* Generic.Deleted */
.dark .highlight .ge { color: #e6edf3; font-style: italic } /* Generic.Emph */
.dark .highlight .ges { color: #e6edf3; font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.dark .highlight .gr { color: #ffa198 } /* Generic.Error */
.dark .highlight .gh { color: #79c0ff; font-weight: bold } /* Generic.Heading */
.dark .highlight .gi { color: #56d364; background-color: #0f5323 } /* Generic.Inserted */
.dark .highlight .go { color: #8b949e } /* Generic.Output */
.dark .highlight .gp { color: #8b949e } /* Generic.Prompt */
.dark .highlight .gs { color: #e6edf3; font-weight: bold } /* Generic.Strong */
.dark .highlight .gu { color: #79c0ff } /* Generic.Subheading */
.dark .highlight .gt { color: #ff7b72 } /* Generic.Traceback */
.dark .highlight .g-Underline { color: #e6edf3; text-decoration: underline } /* Generic.Underline */
.dark .highlight .kc { color: #79c0ff } /* Keyword.Constant */
.dark .highlight .kd { color: #ff7b72 } /* Keyword.Declaration */
.dark .highlight .kn { color: #ff7b72 } /* Keyword.Namespace */
.dark .highlight .kp { color: #79c0ff } /* Keyword.Pseudo */
.dark .highlight .kr { color: #ff7b72 } /* Keyword.Reserved */
.dark .highlight .kt { color: #ff7b72 } /* Keyword.Type */
.dark .highlight .ld { color: #79c0ff } /* Literal.Date */
.dark .highlight .m { color: #a5d6ff } /* Literal.Number */
.dark .highlight .s { color: #a5d6ff } /* Literal.String */
.dark .highlight .na { color: #e6edf3 } /* Name.Attribute */
.dark .highlight .nb { color: #e6edf3 } /* Name.Builtin */
.dark .highlight .nc { color: #f0883e; font-weight: bold } /* Name.Class */
.dark .highlight .no { color: #79c0ff; font-weight: bold } /* Name.Constant */
.dark .highlight .nd { color: #d2a8ff; font-weight: bold } /* Name.Decorator */
.dark .highlight .ni { color: #ffa657 } /* Name.Entity */
.dark .highlight .ne { color: #f0883e; font-weight: bold } /* Name.Exception */
.dark .highlight .nf { color: #d2a8ff; font-weight: bold } /* Name.Function */
.dark .highlight .nl { color: #79c0ff; font-weight: bold } /* Name.Label */
.dark .highlight .nn { color: #ff7b72 } /* Name.Namespace */
.dark .highlight .nx { color: #e6edf3 } /* Name.Other */
.dark .highlight .py { color: #79c0ff } /* Name.Property */
.dark .highlight .nt { color: #7ee787 } /* Name.Tag */
.dark .highlight .nv { color: #79c0ff } /* Name.Variable */
.dark .highlight .ow { color: #ff7b72; font-weight: bold } /* Operator.Word */
.dark .highlight .pm { color: #e6edf3 } /* Punctuation.Marker */
.dark .highlight .w { color: #6e7681 } /* Text.Whitespace */
.dark .highlight .mb { color: #a5d6ff } /* Literal.Number.Bin */
.dark .highlight .mf { color: #a5d6ff } /* Literal.Number.Float */
.dark .highlight .mh { color: #a5d6ff } /* Literal.Number.Hex */
.dark .highlight .mi { color: #a5d6ff } /* Literal.Number.Integer */
.dark .highlight .mo { color: #a5d6ff } /* Literal.Number.Oct */
.dark .highlight .sa { color: #79c0ff } /* Literal.String.Affix */
.dark .highlight .sb { color: #a5d6ff } /* Literal.String.Backtick */
.dark .highlight .sc { color: #a5d6ff } /* Literal.String.Char */
.dark .highlight .dl { color: #79c0ff } /* Literal.String.Delimiter */
.dark .highlight .sd { color: #a5d6ff } /* Literal.String.Doc */
.dark .highlight .s2 { color: #a5d6ff } /* Literal.String.Double */
.dark .highlight .se { color: #79c0ff } /* Literal.String.Escape */
.dark .highlight .sh { color: #79c0ff } /* Literal.String.Heredoc */
.dark .highlight .si { color: #a5d6ff } /* Literal.String.Interpol */
.dark .highlight .sx { color: #a5d6ff } /* Literal.String.Other */
.dark .highlight .sr { color: #79c0ff } /* Literal.String.Regex */
.dark .highlight .s1 { color: #a5d6ff } /* Literal.String.Single */
.dark .highlight .ss { color: #a5d6ff } /* Literal.String.Symbol */
.dark .highlight .bp { color: #e6edf3 } /* Name.Builtin.Pseudo */
.dark .highlight .fm { color: #d2a8ff; font-weight: bold } /* Name.Function.Magic */
.dark .highlight .vc { color: #79c0ff } /* Name.Variable.Class */
.dark .highlight .vg { color: #79c0ff } /* Name.Variable.Global */
.dark .highlight .vi { color: #79c0ff } /* Name.Variable.Instance */
.dark .highlight .vm { color: #79c0ff } /* Name.Variable.Magic */
.dark .highlight .il { color: #a5d6ff } /* Literal.Number.Integer.Long */
.dark .highlight { background: #0d1117; color: #E6EDF3 }
.dark .highlight .c { color: #8B949E; font-style: italic } /* Comment */
.dark .highlight .err { color: #F85149 } /* Error */
.dark .highlight .esc { color: #E6EDF3 } /* Escape */
.dark .highlight .g { color: #E6EDF3 } /* Generic */
.dark .highlight .k { color: #FF7B72 } /* Keyword */
.dark .highlight .l { color: #A5D6FF } /* Literal */
.dark .highlight .n { color: #E6EDF3 } /* Name */
.dark .highlight .o { color: #FF7B72; font-weight: bold } /* Operator */
.dark .highlight .x { color: #E6EDF3 } /* Other */
.dark .highlight .p { color: #E6EDF3 } /* Punctuation */
.dark .highlight .ch { color: #8B949E; font-style: italic } /* Comment.Hashbang */
.dark .highlight .cm { color: #8B949E; font-style: italic } /* Comment.Multiline */
.dark .highlight .cp { color: #8B949E; font-weight: bold; font-style: italic } /* Comment.Preproc */
.dark .highlight .cpf { color: #8B949E; font-style: italic } /* Comment.PreprocFile */
.dark .highlight .c1 { color: #8B949E; font-style: italic } /* Comment.Single */
.dark .highlight .cs { color: #8B949E; font-weight: bold; font-style: italic } /* Comment.Special */
.dark .highlight .gd { color: #FFA198; background-color: #490202 } /* Generic.Deleted */
.dark .highlight .ge { color: #E6EDF3; font-style: italic } /* Generic.Emph */
.dark .highlight .ges { color: #E6EDF3; font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.dark .highlight .gr { color: #FFA198 } /* Generic.Error */
.dark .highlight .gh { color: #79C0FF; font-weight: bold } /* Generic.Heading */
.dark .highlight .gi { color: #56D364; background-color: #0F5323 } /* Generic.Inserted */
.dark .highlight .go { color: #8B949E } /* Generic.Output */
.dark .highlight .gp { color: #8B949E } /* Generic.Prompt */
.dark .highlight .gs { color: #E6EDF3; font-weight: bold } /* Generic.Strong */
.dark .highlight .gu { color: #79C0FF } /* Generic.Subheading */
.dark .highlight .gt { color: #FF7B72 } /* Generic.Traceback */
.dark .highlight .g-Underline { color: #E6EDF3; text-decoration: underline } /* Generic.Underline */
.dark .highlight .kc { color: #79C0FF } /* Keyword.Constant */
.dark .highlight .kd { color: #FF7B72 } /* Keyword.Declaration */
.dark .highlight .kn { color: #FF7B72 } /* Keyword.Namespace */
.dark .highlight .kp { color: #79C0FF } /* Keyword.Pseudo */
.dark .highlight .kr { color: #FF7B72 } /* Keyword.Reserved */
.dark .highlight .kt { color: #FF7B72 } /* Keyword.Type */
.dark .highlight .ld { color: #79C0FF } /* Literal.Date */
.dark .highlight .m { color: #A5D6FF } /* Literal.Number */
.dark .highlight .s { color: #A5D6FF } /* Literal.String */
.dark .highlight .na { color: #E6EDF3 } /* Name.Attribute */
.dark .highlight .nb { color: #E6EDF3 } /* Name.Builtin */
.dark .highlight .nc { color: #F0883E; font-weight: bold } /* Name.Class */
.dark .highlight .no { color: #79C0FF; font-weight: bold } /* Name.Constant */
.dark .highlight .nd { color: #D2A8FF; font-weight: bold } /* Name.Decorator */
.dark .highlight .ni { color: #FFA657 } /* Name.Entity */
.dark .highlight .ne { color: #F0883E; font-weight: bold } /* Name.Exception */
.dark .highlight .nf { color: #D2A8FF; font-weight: bold } /* Name.Function */
.dark .highlight .nl { color: #79C0FF; font-weight: bold } /* Name.Label */
.dark .highlight .nn { color: #FF7B72 } /* Name.Namespace */
.dark .highlight .nx { color: #E6EDF3 } /* Name.Other */
.dark .highlight .py { color: #79C0FF } /* Name.Property */
.dark .highlight .nt { color: #7EE787 } /* Name.Tag */
.dark .highlight .nv { color: #79C0FF } /* Name.Variable */
.dark .highlight .ow { color: #FF7B72; font-weight: bold } /* Operator.Word */
.dark .highlight .pm { color: #E6EDF3 } /* Punctuation.Marker */
.dark .highlight .w { color: #6E7681 } /* Text.Whitespace */
.dark .highlight .mb { color: #A5D6FF } /* Literal.Number.Bin */
.dark .highlight .mf { color: #A5D6FF } /* Literal.Number.Float */
.dark .highlight .mh { color: #A5D6FF } /* Literal.Number.Hex */
.dark .highlight .mi { color: #A5D6FF } /* Literal.Number.Integer */
.dark .highlight .mo { color: #A5D6FF } /* Literal.Number.Oct */
.dark .highlight .sa { color: #79C0FF } /* Literal.String.Affix */
.dark .highlight .sb { color: #A5D6FF } /* Literal.String.Backtick */
.dark .highlight .sc { color: #A5D6FF } /* Literal.String.Char */
.dark .highlight .dl { color: #79C0FF } /* Literal.String.Delimiter */
.dark .highlight .sd { color: #A5D6FF } /* Literal.String.Doc */
.dark .highlight .s2 { color: #A5D6FF } /* Literal.String.Double */
.dark .highlight .se { color: #79C0FF } /* Literal.String.Escape */
.dark .highlight .sh { color: #79C0FF } /* Literal.String.Heredoc */
.dark .highlight .si { color: #A5D6FF } /* Literal.String.Interpol */
.dark .highlight .sx { color: #A5D6FF } /* Literal.String.Other */
.dark .highlight .sr { color: #79C0FF } /* Literal.String.Regex */
.dark .highlight .s1 { color: #A5D6FF } /* Literal.String.Single */
.dark .highlight .ss { color: #A5D6FF } /* Literal.String.Symbol */
.dark .highlight .bp { color: #E6EDF3 } /* Name.Builtin.Pseudo */
.dark .highlight .fm { color: #D2A8FF; font-weight: bold } /* Name.Function.Magic */
.dark .highlight .vc { color: #79C0FF } /* Name.Variable.Class */
.dark .highlight .vg { color: #79C0FF } /* Name.Variable.Global */
.dark .highlight .vi { color: #79C0FF } /* Name.Variable.Instance */
.dark .highlight .vm { color: #79C0FF } /* Name.Variable.Magic */
.dark .highlight .il { color: #A5D6FF } /* Literal.Number.Integer.Long */

View file

@ -513,9 +513,11 @@ const Search = {
// perform the search on the required terms
searchTerms.forEach((word) => {
const files = [];
// find documents, if any, containing the query word in their text/title term indices
// use Object.hasOwnProperty to avoid mismatching against prototype properties
const arr = [
{ files: terms[word], score: Scorer.term },
{ files: titleTerms[word], score: Scorer.title },
{ files: terms.hasOwnProperty(word) ? terms[word] : undefined, score: Scorer.term },
{ files: titleTerms.hasOwnProperty(word) ? titleTerms[word] : undefined, score: Scorer.title },
];
// add support for partial matches
if (word.length > 2) {
@ -547,8 +549,9 @@ const Search = {
// set score for the word in each file
recordFiles.forEach((file) => {
if (!scoreMap.has(file)) scoreMap.set(file, {});
scoreMap.get(file)[word] = record.score;
if (!scoreMap.has(file)) scoreMap.set(file, new Map());
const fileScores = scoreMap.get(file);
fileScores.set(word, record.score);
});
});
@ -587,7 +590,7 @@ const Search = {
break;
// select one (max) score for the file.
const score = Math.max(...wordList.map((w) => scoreMap.get(file)[w]));
const score = Math.max(...wordList.map((w) => scoreMap.get(file).get(w)));
// add result to the result list
results.push([
docNames[file],

View file

@ -10,7 +10,7 @@
<title>Agentic Apps | Arch Docs v0.2.2</title>
<meta content="Agentic Apps | Arch Docs v0.2.2" property="og:title"/>
<meta content="Agentic Apps | Arch Docs v0.2.2" name="twitter:title"/>
<link href="../_static/pygments.css?v=75ebff74" rel="stylesheet" type="text/css"/>
<link href="../_static/pygments.css?v=466e7b45" rel="stylesheet" type="text/css"/>
<link href="../_static/theme.css?v=42baaae4" rel="stylesheet" type="text/css"/>
<link href="../_static/_static/custom.css" rel="stylesheet" type="text/css"/>
<link href="../_static/sphinx-design.min.css?v=95c83b7e" rel="stylesheet" type="text/css"/>
@ -243,13 +243,13 @@ is how you would go about enabling this scenario with Arch:</p>
<p>Once the prompt targets are configured as above, handling those parameters is</p>
<div class="literal-block-wrapper docutils container" id="id3">
<div class="code-block-caption"><span class="caption-text">Parameter handling with Flask</span><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="#id3"><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></div>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><code><span id="line-1"><span class="linenos"> 1</span><span class="kn">from</span> <span class="nn">flask</span> <span class="kn">import</span> <span class="n">Flask</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">jsonify</span>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><code><span id="line-1"><span class="linenos"> 1</span><span class="kn">from</span><span class="w"> </span><span class="nn">flask</span><span class="w"> </span><span class="kn">import</span> <span class="n">Flask</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">jsonify</span>
</span><span id="line-2"><span class="linenos"> 2</span>
</span><span id="line-3"><span class="linenos"> 3</span><span class="n">app</span> <span class="o">=</span> <span class="n">Flask</span><span class="p">(</span><span class="vm">__name__</span><span class="p">)</span>
</span><span id="line-4"><span class="linenos"> 4</span>
</span><span id="line-5"><span class="linenos"> 5</span>
</span><span id="line-6"><span class="linenos"> 6</span><span class="nd">@app</span><span class="o">.</span><span class="n">route</span><span class="p">(</span><span class="s2">"/agent/device_summary"</span><span class="p">,</span> <span class="n">methods</span><span class="o">=</span><span class="p">[</span><span class="s2">"POST"</span><span class="p">])</span>
</span><span id="line-7"><span class="linenos"> 7</span><span class="k">def</span> <span class="nf">get_device_summary</span><span class="p">():</span>
</span><span id="line-7"><span class="linenos"> 7</span><span class="k">def</span><span class="w"> </span><span class="nf">get_device_summary</span><span class="p">():</span>
</span><span id="line-8"><span class="linenos"> 8</span><span class="w"> </span><span class="sd">"""</span>
</span><span id="line-9"><span class="linenos"> 9</span><span class="sd"> Endpoint to retrieve device statistics based on device IDs and an optional time range.</span>
</span><span id="line-10"><span class="linenos">10</span><span class="sd"> """</span>
@ -410,7 +410,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: Feb 15, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Feb 21, 2025. </p>
</div>
</div>
</footer>

View file

@ -10,7 +10,7 @@
<title>Multi-Turn | Arch Docs v0.2.2</title>
<meta content="Multi-Turn | Arch Docs v0.2.2" property="og:title"/>
<meta content="Multi-Turn | Arch Docs v0.2.2" name="twitter:title"/>
<link href="../_static/pygments.css?v=75ebff74" rel="stylesheet" type="text/css"/>
<link href="../_static/pygments.css?v=466e7b45" rel="stylesheet" type="text/css"/>
<link href="../_static/theme.css?v=42baaae4" rel="stylesheet" type="text/css"/>
<link href="../_static/_static/custom.css" rel="stylesheet" type="text/css"/>
<link href="../_static/sphinx-design.min.css?v=95c83b7e" rel="stylesheet" type="text/css"/>
@ -253,32 +253,32 @@ response from your APIs.</p>
<p>Once the prompt targets are configured as above, handle parameters across multi-turn as if its a single-turn request</p>
<div class="literal-block-wrapper docutils container" id="id3">
<div class="code-block-caption"><span class="caption-text">Parameter handling with Flask</span><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="#id3"><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></div>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><code><span id="line-1"><span class="linenos"> 1</span><span class="kn">import</span> <span class="nn">os</span>
</span><span id="line-2"><span class="linenos"> 2</span><span class="kn">import</span> <span class="nn">gradio</span> <span class="k">as</span> <span class="nn">gr</span>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><code><span id="line-1"><span class="linenos"> 1</span><span class="kn">import</span><span class="w"> </span><span class="nn">os</span>
</span><span id="line-2"><span class="linenos"> 2</span><span class="kn">import</span><span class="w"> </span><span class="nn">gradio</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">gr</span>
</span><span id="line-3"><span class="linenos"> 3</span>
</span><span id="line-4"><span class="linenos"> 4</span><span class="kn">from</span> <span class="nn">fastapi</span> <span class="kn">import</span> <span class="n">FastAPI</span><span class="p">,</span> <span class="n">HTTPException</span>
</span><span id="line-5"><span class="linenos"> 5</span><span class="kn">from</span> <span class="nn">pydantic</span> <span class="kn">import</span> <span class="n">BaseModel</span>
</span><span id="line-6"><span class="linenos"> 6</span><span class="kn">from</span> <span class="nn">typing</span> <span class="kn">import</span> <span class="n">Optional</span>
</span><span id="line-7"><span class="linenos"> 7</span><span class="kn">from</span> <span class="nn">openai</span> <span class="kn">import</span> <span class="n">OpenAI</span>
</span><span id="line-8"><span class="linenos"> 8</span><span class="kn">from</span> <span class="nn">common</span> <span class="kn">import</span> <span class="n">create_gradio_app</span>
</span><span id="line-4"><span class="linenos"> 4</span><span class="kn">from</span><span class="w"> </span><span class="nn">fastapi</span><span class="w"> </span><span class="kn">import</span> <span class="n">FastAPI</span><span class="p">,</span> <span class="n">HTTPException</span>
</span><span id="line-5"><span class="linenos"> 5</span><span class="kn">from</span><span class="w"> </span><span class="nn">pydantic</span><span class="w"> </span><span class="kn">import</span> <span class="n">BaseModel</span>
</span><span id="line-6"><span class="linenos"> 6</span><span class="kn">from</span><span class="w"> </span><span class="nn">typing</span><span class="w"> </span><span class="kn">import</span> <span class="n">Optional</span>
</span><span id="line-7"><span class="linenos"> 7</span><span class="kn">from</span><span class="w"> </span><span class="nn">openai</span><span class="w"> </span><span class="kn">import</span> <span class="n">OpenAI</span>
</span><span id="line-8"><span class="linenos"> 8</span><span class="kn">from</span><span class="w"> </span><span class="nn">common</span><span class="w"> </span><span class="kn">import</span> <span class="n">create_gradio_app</span>
</span><span id="line-9"><span class="linenos"> 9</span>
</span><span id="line-10"><span class="linenos">10</span><span class="n">app</span> <span class="o">=</span> <span class="n">FastAPI</span><span class="p">()</span>
</span><span id="line-11"><span class="linenos">11</span>
</span><span id="line-12"><span class="linenos">12</span>
</span><span id="line-13"><span class="linenos">13</span><span class="c1"># Define the request model</span>
</span><span id="line-14"><span class="linenos">14</span><span class="k">class</span> <span class="nc">EnergySourceRequest</span><span class="p">(</span><span class="n">BaseModel</span><span class="p">):</span>
</span><span id="line-14"><span class="linenos">14</span><span class="k">class</span><span class="w"> </span><span class="nc">EnergySourceRequest</span><span class="p">(</span><span class="n">BaseModel</span><span class="p">):</span>
</span><span id="line-15"><span class="linenos">15</span> <span class="n">energy_source</span><span class="p">:</span> <span class="nb">str</span>
</span><span id="line-16"><span class="linenos">16</span> <span class="n">consideration</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span>
</span><span id="line-17"><span class="linenos">17</span>
</span><span id="line-18"><span class="linenos">18</span>
</span><span id="line-19"><span class="linenos">19</span><span class="k">class</span> <span class="nc">EnergySourceResponse</span><span class="p">(</span><span class="n">BaseModel</span><span class="p">):</span>
</span><span id="line-19"><span class="linenos">19</span><span class="k">class</span><span class="w"> </span><span class="nc">EnergySourceResponse</span><span class="p">(</span><span class="n">BaseModel</span><span class="p">):</span>
</span><span id="line-20"><span class="linenos">20</span> <span class="n">energy_source</span><span class="p">:</span> <span class="nb">str</span>
</span><span id="line-21"><span class="linenos">21</span> <span class="n">consideration</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span>
</span><span id="line-22"><span class="linenos">22</span>
</span><span id="line-23"><span class="linenos">23</span>
</span><span id="line-24"><span class="linenos">24</span><span class="c1"># Post method for device summary</span>
</span><span id="line-25"><span class="linenos">25</span><span class="nd">@app</span><span class="o">.</span><span class="n">post</span><span class="p">(</span><span class="s2">"/agent/energy_source_info"</span><span class="p">)</span>
</span><span id="line-26"><span class="linenos">26</span><span class="k">def</span> <span class="nf">get_workforce</span><span class="p">(</span><span class="n">request</span><span class="p">:</span> <span class="n">EnergySourceRequest</span><span class="p">):</span>
</span><span id="line-26"><span class="linenos">26</span><span class="k">def</span><span class="w"> </span><span class="nf">get_workforce</span><span class="p">(</span><span class="n">request</span><span class="p">:</span> <span class="n">EnergySourceRequest</span><span class="p">):</span>
</span><span id="line-27"><span class="linenos">27</span><span class="w"> </span><span class="sd">"""</span>
</span><span id="line-28"><span class="linenos">28</span><span class="sd"> Endpoint to get details about energy source</span>
</span><span id="line-29"><span class="linenos">29</span><span class="sd"> """</span>
@ -346,7 +346,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: Feb 15, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Feb 21, 2025. </p>
</div>
</div>
</footer>

View file

@ -10,7 +10,7 @@
<title>RAG Apps | Arch Docs v0.2.2</title>
<meta content="RAG Apps | Arch Docs v0.2.2" property="og:title"/>
<meta content="RAG Apps | Arch Docs v0.2.2" name="twitter:title"/>
<link href="../_static/pygments.css?v=75ebff74" rel="stylesheet" type="text/css"/>
<link href="../_static/pygments.css?v=466e7b45" rel="stylesheet" type="text/css"/>
<link href="../_static/theme.css?v=42baaae4" rel="stylesheet" type="text/css"/>
<link href="../_static/_static/custom.css" rel="stylesheet" type="text/css"/>
<link href="../_static/sphinx-design.min.css?v=95c83b7e" rel="stylesheet" type="text/css"/>
@ -200,13 +200,13 @@ streamline data retrieval and processing to build more efficient and precise RAG
<p>Once the prompt targets are configured as above, handling those parameters is</p>
<div class="literal-block-wrapper docutils container" id="id2">
<div class="code-block-caption"><span class="caption-text">Parameter handling with Flask</span><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="#id2"><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></div>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><code><span id="line-1"><span class="linenos"> 1</span><span class="kn">from</span> <span class="nn">flask</span> <span class="kn">import</span> <span class="n">Flask</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">jsonify</span>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><code><span id="line-1"><span class="linenos"> 1</span><span class="kn">from</span><span class="w"> </span><span class="nn">flask</span><span class="w"> </span><span class="kn">import</span> <span class="n">Flask</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">jsonify</span>
</span><span id="line-2"><span class="linenos"> 2</span>
</span><span id="line-3"><span class="linenos"> 3</span><span class="n">app</span> <span class="o">=</span> <span class="n">Flask</span><span class="p">(</span><span class="vm">__name__</span><span class="p">)</span>
</span><span id="line-4"><span class="linenos"> 4</span>
</span><span id="line-5"><span class="linenos"> 5</span>
</span><span id="line-6"><span class="linenos"> 6</span><span class="nd">@app</span><span class="o">.</span><span class="n">route</span><span class="p">(</span><span class="s2">"/agent/device_summary"</span><span class="p">,</span> <span class="n">methods</span><span class="o">=</span><span class="p">[</span><span class="s2">"POST"</span><span class="p">])</span>
</span><span id="line-7"><span class="linenos"> 7</span><span class="k">def</span> <span class="nf">get_device_summary</span><span class="p">():</span>
</span><span id="line-7"><span class="linenos"> 7</span><span class="k">def</span><span class="w"> </span><span class="nf">get_device_summary</span><span class="p">():</span>
</span><span id="line-8"><span class="linenos"> 8</span><span class="w"> </span><span class="sd">"""</span>
</span><span id="line-9"><span class="linenos"> 9</span><span class="sd"> Endpoint to retrieve device statistics based on device IDs and an optional time range.</span>
</span><span id="line-10"><span class="linenos">10</span><span class="sd"> """</span>
@ -294,7 +294,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: Feb 15, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Feb 21, 2025. </p>
</div>
</div>
</footer>

View file

@ -10,7 +10,7 @@
<title>LLM Provider | Arch Docs v0.2.2</title>
<meta content="LLM Provider | Arch Docs v0.2.2" property="og:title"/>
<meta content="LLM Provider | Arch Docs v0.2.2" name="twitter:title"/>
<link href="../_static/pygments.css?v=75ebff74" rel="stylesheet" type="text/css"/>
<link href="../_static/pygments.css?v=466e7b45" rel="stylesheet" type="text/css"/>
<link href="../_static/theme.css?v=42baaae4" rel="stylesheet" type="text/css"/>
<link href="../_static/_static/custom.css" rel="stylesheet" type="text/css"/>
<link href="../_static/sphinx-design.min.css?v=95c83b7e" rel="stylesheet" type="text/css"/>
@ -219,7 +219,7 @@ make outbound LLM calls.</p>
</section>
<section id="example-using-the-openai-python-sdk">
<h2>Example: Using the OpenAI Python SDK<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="#example-using-the-openai-python-sdk" x-intersect.margin.0%.0%.-70%.0%="activeSection = '#example-using-the-openai-python-sdk'"><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>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><code><span id="line-1"><span class="kn">from</span> <span class="nn">openai</span> <span class="kn">import</span> <span class="n">OpenAI</span>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><code><span id="line-1"><span class="kn">from</span><span class="w"> </span><span class="nn">openai</span><span class="w"> </span><span class="kn">import</span> <span class="n">OpenAI</span>
</span><span id="line-2">
</span><span id="line-3"><span class="c1"># Initialize the Arch client</span>
</span><span id="line-4"><span class="n">client</span> <span class="o">=</span> <span class="n">OpenAI</span><span class="p">(</span><span class="n">base_url</span><span class="o">=</span><span class="s2">"http://127.0.0.12000/"</span><span class="p">)</span>
@ -267,7 +267,7 @@ make outbound LLM calls.</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: Feb 15, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Feb 21, 2025. </p>
</div>
</div>
</footer>

View file

@ -10,7 +10,7 @@
<title>Prompt Target | Arch Docs v0.2.2</title>
<meta content="Prompt Target | Arch Docs v0.2.2" property="og:title"/>
<meta content="Prompt Target | Arch Docs v0.2.2" name="twitter:title"/>
<link href="../_static/pygments.css?v=75ebff74" rel="stylesheet" type="text/css"/>
<link href="../_static/pygments.css?v=466e7b45" rel="stylesheet" type="text/css"/>
<link href="../_static/theme.css?v=42baaae4" rel="stylesheet" type="text/css"/>
<link href="../_static/_static/custom.css" rel="stylesheet" type="text/css"/>
<link href="../_static/sphinx-design.min.css?v=95c83b7e" rel="stylesheet" type="text/css"/>
@ -346,7 +346,7 @@ This modular approach not only simplifies your applications architecture but
</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: Feb 15, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Feb 21, 2025. </p>
</div>
</div>
</footer>

View file

@ -10,7 +10,7 @@
<title>Error Target | Arch Docs v0.2.2</title>
<meta content="Error Target | Arch Docs v0.2.2" property="og:title"/>
<meta content="Error Target | Arch Docs v0.2.2" name="twitter:title"/>
<link href="../../_static/pygments.css?v=75ebff74" rel="stylesheet" type="text/css"/>
<link href="../../_static/pygments.css?v=466e7b45" rel="stylesheet" type="text/css"/>
<link href="../../_static/theme.css?v=42baaae4" rel="stylesheet" type="text/css"/>
<link href="../../_static/_static/custom.css" rel="stylesheet" type="text/css"/>
<link href="../../_static/sphinx-design.min.css?v=95c83b7e" rel="stylesheet" type="text/css"/>
@ -231,7 +231,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: Feb 15, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Feb 21, 2025. </p>
</div>
</div>
</footer>

View file

@ -10,7 +10,7 @@
<title>Listener | Arch Docs v0.2.2</title>
<meta content="Listener | Arch Docs v0.2.2" property="og:title"/>
<meta content="Listener | Arch Docs v0.2.2" name="twitter:title"/>
<link href="../../_static/pygments.css?v=75ebff74" rel="stylesheet" type="text/css"/>
<link href="../../_static/pygments.css?v=466e7b45" rel="stylesheet" type="text/css"/>
<link href="../../_static/theme.css?v=42baaae4" rel="stylesheet" type="text/css"/>
<link href="../../_static/_static/custom.css" rel="stylesheet" type="text/css"/>
<link href="../../_static/sphinx-design.min.css?v=95c83b7e" rel="stylesheet" type="text/css"/>
@ -235,7 +235,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: Feb 15, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Feb 21, 2025. </p>
</div>
</div>
</footer>

View file

@ -10,7 +10,7 @@
<title>Model Serving | Arch Docs v0.2.2</title>
<meta content="Model Serving | Arch Docs v0.2.2" property="og:title"/>
<meta content="Model Serving | Arch Docs v0.2.2" name="twitter:title"/>
<link href="../../_static/pygments.css?v=75ebff74" rel="stylesheet" type="text/css"/>
<link href="../../_static/pygments.css?v=466e7b45" rel="stylesheet" type="text/css"/>
<link href="../../_static/theme.css?v=42baaae4" rel="stylesheet" type="text/css"/>
<link href="../../_static/_static/custom.css" rel="stylesheet" type="text/css"/>
<link href="../../_static/sphinx-design.min.css?v=95c83b7e" rel="stylesheet" type="text/css"/>
@ -222,7 +222,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: Feb 15, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Feb 21, 2025. </p>
</div>
</div>
</footer>

View file

@ -10,7 +10,7 @@
<title>Prompts | Arch Docs v0.2.2</title>
<meta content="Prompts | Arch Docs v0.2.2" property="og:title"/>
<meta content="Prompts | Arch Docs v0.2.2" name="twitter:title"/>
<link href="../../_static/pygments.css?v=75ebff74" rel="stylesheet" type="text/css"/>
<link href="../../_static/pygments.css?v=466e7b45" rel="stylesheet" type="text/css"/>
<link href="../../_static/theme.css?v=42baaae4" rel="stylesheet" type="text/css"/>
<link href="../../_static/_static/custom.css" rel="stylesheet" type="text/css"/>
<link href="../../_static/sphinx-design.min.css?v=95c83b7e" rel="stylesheet" type="text/css"/>
@ -335,7 +335,7 @@ By sending traffic through Arch, you can propagate traces, manage and monitor tr
</div>
<section id="example-using-openai-client-with-arch-as-an-egress-gateway">
<h3>Example: Using OpenAI Client with Arch as an Egress Gateway<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="#example-using-openai-client-with-arch-as-an-egress-gateway" x-intersect.margin.0%.0%.-70%.0%="activeSection = '#example-using-openai-client-with-arch-as-an-egress-gateway'"><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>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><code><span id="line-1"><span class="kn">import</span> <span class="nn">openai</span>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><code><span id="line-1"><span class="kn">import</span><span class="w"> </span><span class="nn">openai</span>
</span><span id="line-2">
</span><span id="line-3"><span class="c1"># Set the OpenAI API base URL to the Arch gateway endpoint</span>
</span><span id="line-4"><span class="n">openai</span><span class="o">.</span><span class="n">api_base</span> <span class="o">=</span> <span class="s2">"http://127.0.0.1:12000"</span>
@ -396,7 +396,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: Feb 15, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Feb 21, 2025. </p>
</div>
</div>
</footer>

View file

@ -10,7 +10,7 @@
<title>Request Lifecycle | Arch Docs v0.2.2</title>
<meta content="Request Lifecycle | Arch Docs v0.2.2" property="og:title"/>
<meta content="Request Lifecycle | Arch Docs v0.2.2" name="twitter:title"/>
<link href="../../_static/pygments.css?v=75ebff74" rel="stylesheet" type="text/css"/>
<link href="../../_static/pygments.css?v=466e7b45" rel="stylesheet" type="text/css"/>
<link href="../../_static/theme.css?v=42baaae4" rel="stylesheet" type="text/css"/>
<link href="../../_static/_static/custom.css" rel="stylesheet" type="text/css"/>
<link href="../../_static/sphinx-design.min.css?v=95c83b7e" rel="stylesheet" type="text/css"/>
@ -396,7 +396,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: Feb 15, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Feb 21, 2025. </p>
</div>
</div>
</footer>

View file

@ -10,7 +10,7 @@
<title>Tech Overview | Arch Docs v0.2.2</title>
<meta content="Tech Overview | Arch Docs v0.2.2" property="og:title"/>
<meta content="Tech Overview | Arch Docs v0.2.2" name="twitter:title"/>
<link href="../../_static/pygments.css?v=75ebff74" rel="stylesheet" type="text/css"/>
<link href="../../_static/pygments.css?v=466e7b45" rel="stylesheet" type="text/css"/>
<link href="../../_static/theme.css?v=42baaae4" rel="stylesheet" type="text/css"/>
<link href="../../_static/_static/custom.css" rel="stylesheet" type="text/css"/>
<link href="../../_static/sphinx-design.min.css?v=95c83b7e" rel="stylesheet" type="text/css"/>
@ -218,7 +218,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: Feb 15, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Feb 21, 2025. </p>
</div>
</div>
</footer>

View file

@ -10,7 +10,7 @@
<title>Terminology | Arch Docs v0.2.2</title>
<meta content="Terminology | Arch Docs v0.2.2" property="og:title"/>
<meta content="Terminology | Arch Docs v0.2.2" name="twitter:title"/>
<link href="../../_static/pygments.css?v=75ebff74" rel="stylesheet" type="text/css"/>
<link href="../../_static/pygments.css?v=466e7b45" rel="stylesheet" type="text/css"/>
<link href="../../_static/theme.css?v=42baaae4" rel="stylesheet" type="text/css"/>
<link href="../../_static/_static/custom.css" rel="stylesheet" type="text/css"/>
<link href="../../_static/sphinx-design.min.css?v=95c83b7e" rel="stylesheet" type="text/css"/>
@ -215,7 +215,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: Feb 15, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Feb 21, 2025. </p>
</div>
</div>
</footer>

View file

@ -10,7 +10,7 @@
<title>Threading Model | Arch Docs v0.2.2</title>
<meta content="Threading Model | Arch Docs v0.2.2" property="og:title"/>
<meta content="Threading Model | Arch Docs v0.2.2" name="twitter:title"/>
<link href="../../_static/pygments.css?v=75ebff74" rel="stylesheet" type="text/css"/>
<link href="../../_static/pygments.css?v=466e7b45" rel="stylesheet" type="text/css"/>
<link href="../../_static/theme.css?v=42baaae4" rel="stylesheet" type="text/css"/>
<link href="../../_static/_static/custom.css" rel="stylesheet" type="text/css"/>
<link href="../../_static/sphinx-design.min.css?v=95c83b7e" rel="stylesheet" type="text/css"/>
@ -193,7 +193,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: Feb 15, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Feb 21, 2025. </p>
</div>
</div>
</footer>

View file

@ -10,7 +10,7 @@
<title>Intro to Arch | Arch Docs v0.2.2</title>
<meta content="Intro to Arch | Arch Docs v0.2.2" property="og:title"/>
<meta content="Intro to Arch | Arch Docs v0.2.2" name="twitter:title"/>
<link href="../_static/pygments.css?v=75ebff74" rel="stylesheet" type="text/css"/>
<link href="../_static/pygments.css?v=466e7b45" rel="stylesheet" type="text/css"/>
<link href="../_static/theme.css?v=42baaae4" rel="stylesheet" type="text/css"/>
<link href="../_static/_static/custom.css" rel="stylesheet" type="text/css"/>
<link href="../_static/sphinx-design.min.css?v=95c83b7e" rel="stylesheet" type="text/css"/>
@ -231,7 +231,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: Feb 15, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Feb 21, 2025. </p>
</div>
</div>
</footer>

View file

@ -10,7 +10,7 @@
<title>Overview | Arch Docs v0.2.2</title>
<meta content="Overview | Arch Docs v0.2.2" property="og:title"/>
<meta content="Overview | Arch Docs v0.2.2" name="twitter:title"/>
<link href="../_static/pygments.css?v=75ebff74" rel="stylesheet" type="text/css"/>
<link href="../_static/pygments.css?v=466e7b45" rel="stylesheet" type="text/css"/>
<link href="../_static/theme.css?v=42baaae4" rel="stylesheet" type="text/css"/>
<link href="../_static/_static/custom.css" rel="stylesheet" type="text/css"/>
<link href="../_static/sphinx-design.min.css?v=95c83b7e" rel="stylesheet" type="text/css"/>
@ -329,7 +329,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: Feb 15, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Feb 21, 2025. </p>
</div>
</div>
</footer>

View file

@ -10,7 +10,7 @@
<title>Quickstart | Arch Docs v0.2.2</title>
<meta content="Quickstart | Arch Docs v0.2.2" property="og:title"/>
<meta content="Quickstart | Arch Docs v0.2.2" name="twitter:title"/>
<link href="../_static/pygments.css?v=75ebff74" rel="stylesheet" type="text/css"/>
<link href="../_static/pygments.css?v=466e7b45" rel="stylesheet" type="text/css"/>
<link href="../_static/theme.css?v=42baaae4" rel="stylesheet" type="text/css"/>
<link href="../_static/_static/custom.css" rel="stylesheet" type="text/css"/>
<link href="../_static/sphinx-design.min.css?v=95c83b7e" rel="stylesheet" type="text/css"/>
@ -314,7 +314,7 @@
<section id="step-3-1-using-openai-python-client">
<h4>Step 3.1: Using OpenAI Python client<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="#step-3-1-using-openai-python-client"><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></h4>
<p>Make outbound calls via the Arch gateway:</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><code><span id="line-1"><span class="kn">from</span> <span class="nn">openai</span> <span class="kn">import</span> <span class="n">OpenAI</span>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><code><span id="line-1"><span class="kn">from</span><span class="w"> </span><span class="nn">openai</span><span class="w"> </span><span class="kn">import</span> <span class="n">OpenAI</span>
</span><span id="line-2">
</span><span id="line-3"><span class="c1"># Use the OpenAI client as usual</span>
</span><span id="line-4"><span class="n">client</span> <span class="o">=</span> <span class="n">OpenAI</span><span class="p">(</span>
@ -440,7 +440,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: Feb 15, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Feb 21, 2025. </p>
</div>
</div>
</footer>

View file

@ -10,7 +10,7 @@
<title>Function Calling | Arch Docs v0.2.2</title>
<meta content="Function Calling | Arch Docs v0.2.2" property="og:title"/>
<meta content="Function Calling | Arch Docs v0.2.2" name="twitter:title"/>
<link href="../_static/pygments.css?v=75ebff74" rel="stylesheet" type="text/css"/>
<link href="../_static/pygments.css?v=466e7b45" rel="stylesheet" type="text/css"/>
<link href="../_static/theme.css?v=42baaae4" rel="stylesheet" type="text/css"/>
<link href="../_static/_static/custom.css" rel="stylesheet" type="text/css"/>
<link href="../_static/sphinx-design.min.css?v=95c83b7e" rel="stylesheet" type="text/css"/>
@ -230,9 +230,9 @@ Achieving performance on par with GPT-4, these models set a new benchmark in the
<section id="step-1-define-the-function">
<h3>Step 1: Define the Function<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="#step-1-define-the-function" x-intersect.margin.0%.0%.-70%.0%="activeSection = '#step-1-define-the-function'"><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>First, create or identify the backend function you want Arch to call. This could be an API endpoint, a script, or any other executable backend logic.</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><code><span id="line-1"><span class="kn">import</span> <span class="nn">requests</span>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><code><span id="line-1"><span class="kn">import</span><span class="w"> </span><span class="nn">requests</span>
</span><span id="line-2">
</span><span id="line-3"><span class="k">def</span> <span class="nf">get_weather</span><span class="p">(</span><span class="n">location</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">unit</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="s2">"fahrenheit"</span><span class="p">):</span>
</span><span id="line-3"><span class="k">def</span><span class="w"> </span><span class="nf">get_weather</span><span class="p">(</span><span class="n">location</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">unit</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="s2">"fahrenheit"</span><span class="p">):</span>
</span><span id="line-4"> <span class="k">if</span> <span class="n">unit</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">[</span><span class="s2">"celsius"</span><span class="p">,</span> <span class="s2">"fahrenheit"</span><span class="p">]:</span>
</span><span id="line-5"> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">"Invalid unit. Choose either 'celsius' or 'fahrenheit'."</span><span class="p">)</span>
</span><span id="line-6">
@ -361,7 +361,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: Feb 15, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Feb 21, 2025. </p>
</div>
</div>
</footer>

View file

@ -10,7 +10,7 @@
<title>Access Logging | Arch Docs v0.2.2</title>
<meta content="Access Logging | Arch Docs v0.2.2" property="og:title"/>
<meta content="Access Logging | Arch Docs v0.2.2" name="twitter:title"/>
<link href="../../_static/pygments.css?v=75ebff74" rel="stylesheet" type="text/css"/>
<link href="../../_static/pygments.css?v=466e7b45" rel="stylesheet" type="text/css"/>
<link href="../../_static/theme.css?v=42baaae4" rel="stylesheet" type="text/css"/>
<link href="../../_static/_static/custom.css" rel="stylesheet" type="text/css"/>
<link href="../../_static/sphinx-design.min.css?v=95c83b7e" rel="stylesheet" type="text/css"/>
@ -241,7 +241,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: Feb 15, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Feb 21, 2025. </p>
</div>
</div>
</footer>

View file

@ -10,7 +10,7 @@
<title>Monitoring | Arch Docs v0.2.2</title>
<meta content="Monitoring | Arch Docs v0.2.2" property="og:title"/>
<meta content="Monitoring | Arch Docs v0.2.2" name="twitter:title"/>
<link href="../../_static/pygments.css?v=75ebff74" rel="stylesheet" type="text/css"/>
<link href="../../_static/pygments.css?v=466e7b45" rel="stylesheet" type="text/css"/>
<link href="../../_static/theme.css?v=42baaae4" rel="stylesheet" type="text/css"/>
<link href="../../_static/_static/custom.css" rel="stylesheet" type="text/css"/>
<link href="../../_static/sphinx-design.min.css?v=95c83b7e" rel="stylesheet" type="text/css"/>
@ -253,7 +253,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: Feb 15, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Feb 21, 2025. </p>
</div>
</div>
</footer>

View file

@ -10,7 +10,7 @@
<title>Observability | Arch Docs v0.2.2</title>
<meta content="Observability | Arch Docs v0.2.2" property="og:title"/>
<meta content="Observability | Arch Docs v0.2.2" name="twitter:title"/>
<link href="../../_static/pygments.css?v=75ebff74" rel="stylesheet" type="text/css"/>
<link href="../../_static/pygments.css?v=466e7b45" rel="stylesheet" type="text/css"/>
<link href="../../_static/theme.css?v=42baaae4" rel="stylesheet" type="text/css"/>
<link href="../../_static/_static/custom.css" rel="stylesheet" type="text/css"/>
<link href="../../_static/sphinx-design.min.css?v=95c83b7e" rel="stylesheet" type="text/css"/>
@ -205,7 +205,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: Feb 15, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Feb 21, 2025. </p>
</div>
</div>
</footer>

View file

@ -10,7 +10,7 @@
<title>Tracing | Arch Docs v0.2.2</title>
<meta content="Tracing | Arch Docs v0.2.2" property="og:title"/>
<meta content="Tracing | Arch Docs v0.2.2" name="twitter:title"/>
<link href="../../_static/pygments.css?v=75ebff74" rel="stylesheet" type="text/css"/>
<link href="../../_static/pygments.css?v=466e7b45" rel="stylesheet" type="text/css"/>
<link href="../../_static/theme.css?v=42baaae4" rel="stylesheet" type="text/css"/>
<link href="../../_static/_static/custom.css" rel="stylesheet" type="text/css"/>
<link href="../../_static/sphinx-design.min.css?v=95c83b7e" rel="stylesheet" type="text/css"/>
@ -239,12 +239,12 @@ below are very common practice, and not unique to Arch, when you reading tracing
</span></code></pre></div>
</div>
<p>Set up the tracer and exporter:</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><code><span id="line-1"><span class="kn">from</span> <span class="nn">opentelemetry</span> <span class="kn">import</span> <span class="n">trace</span>
</span><span id="line-2"><span class="kn">from</span> <span class="nn">opentelemetry.exporter.otlp.proto.grpc.trace_exporter</span> <span class="kn">import</span> <span class="n">OTLPSpanExporter</span>
</span><span id="line-3"><span class="kn">from</span> <span class="nn">opentelemetry.instrumentation.requests</span> <span class="kn">import</span> <span class="n">RequestsInstrumentor</span>
</span><span id="line-4"><span class="kn">from</span> <span class="nn">opentelemetry.sdk.resources</span> <span class="kn">import</span> <span class="n">Resource</span>
</span><span id="line-5"><span class="kn">from</span> <span class="nn">opentelemetry.sdk.trace</span> <span class="kn">import</span> <span class="n">TracerProvider</span>
</span><span id="line-6"><span class="kn">from</span> <span class="nn">opentelemetry.sdk.trace.export</span> <span class="kn">import</span> <span class="n">BatchSpanProcessor</span>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><code><span id="line-1"><span class="kn">from</span><span class="w"> </span><span class="nn">opentelemetry</span><span class="w"> </span><span class="kn">import</span> <span class="n">trace</span>
</span><span id="line-2"><span class="kn">from</span><span class="w"> </span><span class="nn">opentelemetry.exporter.otlp.proto.grpc.trace_exporter</span><span class="w"> </span><span class="kn">import</span> <span class="n">OTLPSpanExporter</span>
</span><span id="line-3"><span class="kn">from</span><span class="w"> </span><span class="nn">opentelemetry.instrumentation.requests</span><span class="w"> </span><span class="kn">import</span> <span class="n">RequestsInstrumentor</span>
</span><span id="line-4"><span class="kn">from</span><span class="w"> </span><span class="nn">opentelemetry.sdk.resources</span><span class="w"> </span><span class="kn">import</span> <span class="n">Resource</span>
</span><span id="line-5"><span class="kn">from</span><span class="w"> </span><span class="nn">opentelemetry.sdk.trace</span><span class="w"> </span><span class="kn">import</span> <span class="n">TracerProvider</span>
</span><span id="line-6"><span class="kn">from</span><span class="w"> </span><span class="nn">opentelemetry.sdk.trace.export</span><span class="w"> </span><span class="kn">import</span> <span class="n">BatchSpanProcessor</span>
</span><span id="line-7">
</span><span id="line-8"><span class="c1"># Define the service name</span>
</span><span id="line-9"><span class="n">resource</span> <span class="o">=</span> <span class="n">Resource</span><span class="p">(</span><span class="n">attributes</span><span class="o">=</span><span class="p">{</span>
@ -263,11 +263,11 @@ below are very common practice, and not unique to Arch, when you reading tracing
</span></code></pre></div>
</div>
<p>Handle incoming requests:</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><code><span id="line-1"><span class="kn">from</span> <span class="nn">opentelemetry</span> <span class="kn">import</span> <span class="n">trace</span>
</span><span id="line-2"><span class="kn">from</span> <span class="nn">opentelemetry.propagate</span> <span class="kn">import</span> <span class="n">extract</span><span class="p">,</span> <span class="n">inject</span>
</span><span id="line-3"><span class="kn">import</span> <span class="nn">requests</span>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><code><span id="line-1"><span class="kn">from</span><span class="w"> </span><span class="nn">opentelemetry</span><span class="w"> </span><span class="kn">import</span> <span class="n">trace</span>
</span><span id="line-2"><span class="kn">from</span><span class="w"> </span><span class="nn">opentelemetry.propagate</span><span class="w"> </span><span class="kn">import</span> <span class="n">extract</span><span class="p">,</span> <span class="n">inject</span>
</span><span id="line-3"><span class="kn">import</span><span class="w"> </span><span class="nn">requests</span>
</span><span id="line-4">
</span><span id="line-5"><span class="k">def</span> <span class="nf">handle_request</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
</span><span id="line-5"><span class="k">def</span><span class="w"> </span><span class="nf">handle_request</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
</span><span id="line-6"> <span class="c1"># Extract the trace context</span>
</span><span id="line-7"> <span class="n">context</span> <span class="o">=</span> <span class="n">extract</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">headers</span><span class="p">)</span>
</span><span id="line-8"> <span class="n">tracer</span> <span class="o">=</span> <span class="n">trace</span><span class="o">.</span><span class="n">get_tracer</span><span class="p">(</span><span class="vm">__name__</span><span class="p">)</span>
@ -469,9 +469,9 @@ is completed.</p></li>
</li>
<li><p><strong>Trace Requests</strong>: Once you have Langtrace set up, you can start tracing requests.</p>
<p>Heres an example of how to trace a request using the Langtrace Python SDK:</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><code><span id="line-1"><span class="kn">import</span> <span class="nn">os</span>
</span><span id="line-2"><span class="kn">from</span> <span class="nn">langtrace_python_sdk</span> <span class="kn">import</span> <span class="n">langtrace</span> <span class="c1"># Must precede any llm module imports</span>
</span><span id="line-3"><span class="kn">from</span> <span class="nn">openai</span> <span class="kn">import</span> <span class="n">OpenAI</span>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><code><span id="line-1"><span class="kn">import</span><span class="w"> </span><span class="nn">os</span>
</span><span id="line-2"><span class="kn">from</span><span class="w"> </span><span class="nn">langtrace_python_sdk</span><span class="w"> </span><span class="kn">import</span> <span class="n">langtrace</span> <span class="c1"># Must precede any llm module imports</span>
</span><span id="line-3"><span class="kn">from</span><span class="w"> </span><span class="nn">openai</span><span class="w"> </span><span class="kn">import</span> <span class="n">OpenAI</span>
</span><span id="line-4">
</span><span id="line-5"><span class="n">langtrace</span><span class="o">.</span><span class="n">init</span><span class="p">(</span><span class="n">api_key</span><span class="o">=</span><span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="p">[</span><span class="s1">'LANGTRACE_API_KEY'</span><span class="p">])</span>
</span><span id="line-6">
@ -575,7 +575,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: Feb 15, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Feb 21, 2025. </p>
</div>
</div>
</footer>

View file

@ -10,7 +10,7 @@
<title>Prompt Guard | Arch Docs v0.2.2</title>
<meta content="Prompt Guard | Arch Docs v0.2.2" property="og:title"/>
<meta content="Prompt Guard | Arch Docs v0.2.2" name="twitter:title"/>
<link href="../_static/pygments.css?v=75ebff74" rel="stylesheet" type="text/css"/>
<link href="../_static/pygments.css?v=466e7b45" rel="stylesheet" type="text/css"/>
<link href="../_static/theme.css?v=42baaae4" rel="stylesheet" type="text/css"/>
<link href="../_static/_static/custom.css" rel="stylesheet" type="text/css"/>
<link href="../_static/sphinx-design.min.css?v=95c83b7e" rel="stylesheet" type="text/css"/>
@ -265,7 +265,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: Feb 15, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Feb 21, 2025. </p>
</div>
</div>
</footer>

View file

@ -10,7 +10,7 @@
<title>Welcome to Arch! | Arch Docs v0.2.2</title>
<meta content="Welcome to Arch! | Arch Docs v0.2.2" property="og:title"/>
<meta content="Welcome to Arch! | Arch Docs v0.2.2" name="twitter:title"/>
<link href="_static/pygments.css?v=75ebff74" rel="stylesheet" type="text/css"/>
<link href="_static/pygments.css?v=466e7b45" rel="stylesheet" type="text/css"/>
<link href="_static/theme.css?v=42baaae4" rel="stylesheet" type="text/css"/>
<link href="_static/_static/custom.css" rel="stylesheet" type="text/css"/>
<link href="_static/sphinx-design.min.css?v=95c83b7e" rel="stylesheet" type="text/css"/>
@ -246,7 +246,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: Feb 15, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Feb 21, 2025. </p>
</div>
</div>
</footer>

View file

@ -10,7 +10,7 @@
<title>Configuration Reference | Arch Docs v0.2.2</title>
<meta content="Configuration Reference | Arch Docs v0.2.2" property="og:title"/>
<meta content="Configuration Reference | Arch Docs v0.2.2" name="twitter:title"/>
<link href="../_static/pygments.css?v=75ebff74" rel="stylesheet" type="text/css"/>
<link href="../_static/pygments.css?v=466e7b45" rel="stylesheet" type="text/css"/>
<link href="../_static/theme.css?v=42baaae4" rel="stylesheet" type="text/css"/>
<link href="../_static/_static/custom.css" rel="stylesheet" type="text/css"/>
<link href="../_static/sphinx-design.min.css?v=95c83b7e" rel="stylesheet" type="text/css"/>
@ -273,7 +273,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: Feb 15, 2025. </p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc Last updated: Feb 21, 2025. </p>
</div>
</div>
</footer>

View file

@ -15,7 +15,7 @@
<title>Search | Arch Docs v0.2.2</title>
<meta property="og:title" content="Search | Arch Docs v0.2.2" />
<meta name="twitter:title" content="Search | Arch Docs v0.2.2" />
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=75ebff74" />
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=466e7b45" />
<link rel="stylesheet" type="text/css" href="_static/theme.css?v=42baaae4" />
<link rel="stylesheet" type="text/css" href="_static/_static/custom.css" />
<link rel="stylesheet" type="text/css" href="_static/sphinx-design.min.css?v=95c83b7e" />
@ -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&nbsp;Last updated: Feb 15, 2025.&nbsp;</p>
<p class="text-sm leading-loose text-center text-muted-foreground md:text-left">© 2025, Katanemo Labs, Inc&nbsp;Last updated: Feb 21, 2025.&nbsp;</p>
</div>
</div>
</footer>

File diff suppressed because one or more lines are too long