mirror of
https://github.com/katanemo/plano.git
synced 2026-04-26 01:06:25 +02:00
* added the first set of docs for our technical docs * more docuemtnation changes * added support for prompt processing and updated life of a request * updated docs to including getting help sections and updated life of a request * committing local changes for getting started guide, sample applications, and full reference spec for prompt-config * updated configuration reference, added sample app skeleton, updated favico * fixed the configuration refernce file, and made minor changes to the intent detection. commit v1 for now * Updated docs with use cases and example code, updated what is arch, and made minor changes throughout * fixed imaged and minor doc fixes * add sphinx_book_theme * updated README, and make some minor fixes to documetnation * fixed README.md * fixed image width --------- Co-authored-by: Salman Paracha <salmanparacha@MacBook-Pro-261.local> Co-authored-by: Adil Hafeez <adil@katanemo.com>
57 lines
No EOL
3 KiB
ReStructuredText
57 lines
No EOL
3 KiB
ReStructuredText
Agentic (Text-to-Action) Apps
|
|
==============================
|
|
|
|
Arch helps you easily personalize your applications by enabling calls to application-specific (API) operations
|
|
via user prompts. This involves any predefined functions or APIs you want to expose to users to perform tasks,
|
|
gather information, or manipulate data. With function calling, you have flexibility to support “agentic” apps
|
|
tailored to specific use cases - from updating insurance claims to creating ad campaigns - via prompts.
|
|
|
|
Arch analyzes prompts, extracts critical information from prompts, engages in lightweight conversation with
|
|
the user to gather any missing parameters and makes API calls so that you can focus on writing business logic.
|
|
Arch does this via its purpose-built Arch-FC1B LLM - the fastest (200ms p90 - 10x faser than GPT-4o) and cheapest
|
|
(100x than GPT-40) function-calling LLM that matches performance with frontier models.
|
|
______________________________________________________________________________________________
|
|
|
|
Single Function Call
|
|
--------------------
|
|
In the most common scenario, users will request a single action via prompts, and Arch efficiently processes the
|
|
request by extracting relevant parameters, validating the input, and calling the designated function or API. Here
|
|
is how you would go about enabling this scenario with Arch:
|
|
|
|
Step 1: Define prompt targets with functions
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
.. literalinclude:: /_config/function-calling-network-agent.yml
|
|
:language: yaml
|
|
:linenos:
|
|
:emphasize-lines: 16-37
|
|
:caption: Define prompt targets that can enable users to engage with API and backened functions of an app
|
|
|
|
Step 2: Process request parameters in Flask
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Once the prompt targets are configured as above, handling those parameters is
|
|
|
|
.. literalinclude:: /_include/parameter_handling_flask.py
|
|
:language: python
|
|
:linenos:
|
|
:caption: Flask API example for parameter extraction via HTTP request parameters
|
|
|
|
Parallel/ Multiple Function Calling
|
|
-----------------------------------
|
|
In more complex use cases, users may request multiple actions or need multiple APIs/functions to be called
|
|
simultaneously or sequentially. With Arch, you can handle these scenarios efficiently using parallel or multiple
|
|
function calling. This allows your application to engage in a broader range of interactions, such as updating
|
|
different datasets, triggering events across systems, or collecting results from multiple services in one prompt.
|
|
|
|
Arch-FC1B is built to manage these parallel tasks efficiently, ensuring low latency and high throughput, even
|
|
when multiple functions are invoked. It provides two mechanisms to handle these cases:
|
|
|
|
Step 1: Define Multiple Function Targets
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
When enabling multiple function calling, define the prompt targets in a way that supports multiple functions or
|
|
API calls based on the user's prompt. These targets can be triggered in parallel or sequentially, depending on
|
|
the user's intent.
|
|
|
|
Example of Multiple Prompt Targets in YAML: |