mirror of
https://github.com/katanemo/plano.git
synced 2026-04-27 09:46:28 +02:00
updated docs for 0.1.8 support (#366)
* updated docs for 0.1.8 support * updated REAMDE on root * updated version reference to 0.1.8 in other parts of the repo --------- Co-authored-by: Salman Paracha <salmanparacha@MacBook-Pro-261.local>
This commit is contained in:
parent
dae6239b81
commit
ebda682b30
8 changed files with 31 additions and 77 deletions
BIN
docs/source/_static/img/arch_network_diagram_high_level.png
Normal file
BIN
docs/source/_static/img/arch_network_diagram_high_level.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 152 KiB |
|
|
@ -13,9 +13,9 @@ from sphinxawesome_theme import ThemeOptions
|
|||
from sphinxawesome_theme.postprocess import Icons
|
||||
|
||||
project = "Arch Docs"
|
||||
copyright = "2024, Katanemo Labs, Inc"
|
||||
copyright = "2025, Katanemo Labs, Inc"
|
||||
author = "Katanemo Labs, Inc"
|
||||
release = " v0.1.7"
|
||||
release = " v0.1.8"
|
||||
|
||||
# -- General configuration ---------------------------------------------------
|
||||
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
|
||||
|
|
|
|||
|
|
@ -8,10 +8,13 @@ Engineered with purpose-built large language models (LLMs), Arch handles all the
|
|||
detecting and rejecting jailbreak attempts, intelligently calling “backend” APIs to fulfill the user's request represented in a prompt, routing to and offering disaster recovery
|
||||
between upstream LLMs, and managing the observability of prompts and LLM interactions in a centralized way.
|
||||
|
||||
.. image:: /_static/img/arch-logo.png
|
||||
.. figure:: /_static/img/arch_network_diagram_high_level.png
|
||||
:width: 100%
|
||||
:align: center
|
||||
|
||||
High-level network flow of where Arch Gateway sits in your agentic stack. Designed for both ingress and egress prompt traffic.
|
||||
|
||||
|
||||
**The project was born out of the belief that:**
|
||||
|
||||
*Prompts are nuanced and opaque user requests, which require the same capabilities as traditional HTTP requests
|
||||
|
|
|
|||
|
|
@ -7,6 +7,12 @@ Welcome to Arch, the intelligent prompt gateway designed to help developers buil
|
|||
In this documentation, you will learn how to quickly set up Arch to trigger API calls via prompts, apply prompt guardrails without writing any application-level logic,
|
||||
simplify the interaction with upstream LLMs, and improve observability all while simplifying your application development process.
|
||||
|
||||
.. figure:: /_static/img/arch_network_diagram_high_level.png
|
||||
:width: 100%
|
||||
:align: center
|
||||
|
||||
High-level network flow of where Arch Gateway sits in your agentic stack. Designed for both ingress and egress prompt traffic.
|
||||
|
||||
|
||||
Get Started
|
||||
-----------
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ Arch's CLI allows you to manage and interact with the Arch gateway efficiently.
|
|||
|
||||
$ python -m venv venv
|
||||
$ source venv/bin/activate # On Windows, use: venv\Scripts\activate
|
||||
$ pip install archgw==0.1.7
|
||||
$ pip install archgw==0.1.8
|
||||
|
||||
|
||||
Build AI Agent with Arch Gateway
|
||||
|
|
|
|||
|
|
@ -61,21 +61,6 @@ Key Features
|
|||
Parallel & Multiple Perform both parallel and multiple function calling
|
||||
========================= ===============================================================
|
||||
|
||||
|
||||
Supported Languages
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
.. table::
|
||||
:width: 100%
|
||||
|
||||
========================= ===========================================================================================================================================
|
||||
**Language** **Data Type**
|
||||
========================= ===========================================================================================================================================
|
||||
Python ``int``, ``str``, ``float``, ``bool``, ``list``, ``set``, ``dict``, ``tuple``
|
||||
Java ``byte``, ``short``, ``int``, ``long``, ``float``, ``double``, ``boolean``, ``char``, ``Array``, ``ArrayList``, ``Set``, ``HashMap``, ``Hashtable``, ``Queue``, ``Stack``
|
||||
Javascript ``Number``, ``Bigint``, ``String``, ``Boolean``, ``Object``, ``Array``, ``Date``
|
||||
========================= ===========================================================================================================================================
|
||||
|
||||
|
||||
Implementing Function Calling
|
||||
-----------------------------
|
||||
|
||||
|
|
@ -86,7 +71,6 @@ Step 1: Define the Function
|
|||
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.
|
||||
|
||||
.. code-block:: python
|
||||
:caption: Example Function
|
||||
|
||||
import requests
|
||||
|
||||
|
|
@ -136,63 +120,21 @@ Specify the parameters your function needs and how Arch should interpret these.
|
|||
|
||||
Step 3: Arch Takes Over
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Once you have defined the functions and configured the prompt targets, Arch takes care of the remaining work.
|
||||
It will automatically validate parameters validate parameters and ensure that the required parameters (e.g., location) are present in the prompt, and add validation rules if necessary.
|
||||
Here is ane example validation schema using the `jsonschema <https://json-schema.org/docs>`_ library
|
||||
Once you have defined the functions and configured the prompt targets, Arch Gateway takes care of the remaining work.
|
||||
It will automatically validate parameters, and ensure that the required parameters (e.g., location) are present in the prompt, and add validation rules if necessary.
|
||||
|
||||
.. code-block:: python
|
||||
:caption: Example Validation Schema
|
||||
.. figure:: /_static/img/arch_network_diagram_high_level.png
|
||||
:width: 100%
|
||||
:align: center
|
||||
|
||||
import requests
|
||||
from jsonschema import validate, ValidationError
|
||||
|
||||
# Define the JSON Schema for parameter validation
|
||||
weather_validation_schema = {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"location": {
|
||||
"type": "string",
|
||||
"minLength": 1,
|
||||
"description": "The city and state, e.g. 'San Francisco, New York'"
|
||||
},
|
||||
"unit": {
|
||||
"type": "string",
|
||||
"enum": ["celsius", "fahrenheit"],
|
||||
"description": "The unit of temperature to return"
|
||||
}
|
||||
},
|
||||
"required": ["location"],
|
||||
"additionalProperties": False
|
||||
}
|
||||
|
||||
def get_weather(location: str, unit: str = "fahrenheit"):
|
||||
# Create the data object for validation
|
||||
params = {
|
||||
"location": location,
|
||||
"unit": unit
|
||||
}
|
||||
|
||||
# Validate parameters using JSON Schema
|
||||
try:
|
||||
validate(instance=params, schema=weather_validation_schema)
|
||||
except ValidationError as e:
|
||||
raise ValueError(f"Invalid input: {e.message}")
|
||||
|
||||
# Prepare the API request
|
||||
api_server = "https://api.yourweatherapp.com"
|
||||
endpoint = f"{api_server}/weather"
|
||||
|
||||
# Make the API request
|
||||
response = requests.get(endpoint, params=params)
|
||||
return response.json()
|
||||
|
||||
# Example usage
|
||||
weather_info = get_weather("Seattle, WA", "celsius")
|
||||
print(weather_info)
|
||||
High-level network flow of where Arch Gateway sits in your agentic stack. Managing incoming and outgoing prompt traffic
|
||||
|
||||
|
||||
Once the functions are called, Arch formats the response and deliver back to users.
|
||||
By completing these setup steps, you enable Arch to manage the process from validation to response, ensuring users receive consistent, reliable results.
|
||||
Once a downstream function (API) is called, Arch Gateway takes the response and sends it an upstream LLM to complete the request (for summarization, Q/A, text generation tasks).
|
||||
For more details on how Arch Gateway enables you to centralize usage of LLMs, please read :ref:`LLM providers <llm_provider>`.
|
||||
|
||||
By completing these steps, you enable Arch to manage the process from validation to response, ensuring users receive consistent, reliable results - and that you are focused
|
||||
on the stuff that matters most.
|
||||
|
||||
Example Use Cases
|
||||
-----------------
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue