From 5e22c24f7708001afa5d4d3e35b208296916bff6 Mon Sep 17 00:00:00 2001
From: Salman Paracha
Date: Sat, 12 Oct 2024 18:02:03 -0700
Subject: [PATCH 1/4] minor changes to the README to highlight what Arch is
designed to do in a single line (#182)
Co-authored-by: Salman Paracha
---
README.md | 15 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/README.md b/README.md
index 25685f18..f5447c81 100644
--- a/README.md
+++ b/README.md
@@ -4,14 +4,16 @@
## Build fast, robust, and personalized GenAI apps (agents, assistants, etc.)
-Arch is an intelligent [Layer 7](https://www.cloudflare.com/learning/ddos/what-is-layer-7/) gateway designed for generative AI apps, AI agents, and co-pilots that work with prompts. Engineered with purpose-built LLMs, Arch handles the critical but undifferentiated tasks related to the handling and processing of prompts, including detecting and rejecting [jailbreak](https://github.com/verazuo/jailbreak_llms) 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.
+Arch is an intelligent [Layer 7](https://www.cloudflare.com/learning/ddos/what-is-layer-7/) gateway designed to protect, observe, and personalize LLM apps with your APIs.
+
+Engineered with purpose-built LLMs, Arch handles the critical but undifferentiated tasks related to the handling and processing of prompts, including detecting and rejecting [jailbreak](https://github.com/verazuo/jailbreak_llms) 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.
Arch is built on (and by the core contributors of) [Envoy Proxy](https://www.envoyproxy.io/) with the belief that:
>Prompts are nuanced and opaque user requests, which require the same capabilities as traditional HTTP requests including secure handling, intelligent routing, robust observability, and integration with backend (API) systems for personalization – all outside business logic.*
**Core Features**:
- - Built on [Envoy](https://envoyproxy.io): Arch runs alongside application servers, and builds on top of Envoy's proven HTTP management and scalability features to handle ingress and egress traffic related to prompts and LLMs
+ - Built on [Envoy](https://envoyproxy.io): Arch runs alongside application servers, and builds on top of Envoy's proven HTTP management and scalability features to handle ingress and egress traffic related to prompts and LLMs.
- Function Calling for fast Agentic and RAG apps. Engineered with purpose-built [LLMs](https://huggingface.co/collections/katanemo/arch-function-66f209a693ea8df14317ad68) to handle fast, cost-effective, and accurate prompt-based tasks like function/API calling, and parameter extraction from prompts.
- Prompt [Guard](https://huggingface.co/collections/katanemo/arch-guard-6702bdc08b889e4bce8f446d): Arch centralizes prompt guardrails to prevent jailbreak attempts and ensure safe user interactions without writing a single line of code.
- Traffic Management: Arch manages LLM calls, offering smart retries, automatic cutover, and resilient upstream connections for continuous availability.
@@ -35,7 +37,7 @@ Follow this guide to learn how to quickly set up Arch and integrate it into your
Before you begin, ensure you have the following:
-- `Docker` & `Python` verion 3.10 installed on your system
+- `Docker` & `Python` installed on your system
- `API Keys` for LLM providers (if using external LLMs)
### Step 1: Install Arch
@@ -69,7 +71,7 @@ llm_providers:
- name: OpenAI
provider: openai
access_key: OPENAI_API_KEY
- model: gpt-3.5-turbo
+ model: gpt-4o
default: true
stream: true
@@ -109,15 +111,12 @@ Make outbound calls via Arch
import openai
# Set the OpenAI API base URL to the Arch gateway endpoint
-openai.api_base = "http://127.0.0.1:12000/"
+openai.api_base = "http://127.0.0.1:51001/v1"
# No need to set openai.api_key since it's configured in Arch's gateway
# Use the OpenAI client as usual
-# we set api_key to '--' becasue openai client would fail to initiate request without it. Just pass any
-# dummy value here since arch gateway will properly pass access key before making outbound call.
response = openai.Completion.create(
- api_key="--",
model="text-davinci-003",
prompt="What is the capital of France?"
)
From bfb549b0755f40bc1ede4170c9117077fa56f3f0 Mon Sep 17 00:00:00 2001
From: Salman Paracha
Date: Sun, 13 Oct 2024 20:46:12 -0700
Subject: [PATCH 2/4] ensuring that logo appears in dark mode (#184)
Co-authored-by: Salman Paracha
---
README.md | 4 ++--
docs/source/_static/img/arch-logo.png | Bin 342724 -> 334876 bytes
docs/source/index.rst | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/README.md b/README.md
index f5447c81..44c49bc3 100644
--- a/README.md
+++ b/README.md
@@ -2,9 +2,9 @@
-## Build fast, robust, and personalized GenAI apps (agents, assistants, etc.)
+## Build fast, robust, and personalized AI agents.
-Arch is an intelligent [Layer 7](https://www.cloudflare.com/learning/ddos/what-is-layer-7/) gateway designed to protect, observe, and personalize LLM apps with your APIs.
+Arch is an intelligent [Layer 7](https://www.cloudflare.com/learning/ddos/what-is-layer-7/) gateway designed to protect, observe, and personalize LLM applications (agents, assistants, co-pilots) with your APIs.
Engineered with purpose-built LLMs, Arch handles the critical but undifferentiated tasks related to the handling and processing of prompts, including detecting and rejecting [jailbreak](https://github.com/verazuo/jailbreak_llms) 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.
diff --git a/docs/source/_static/img/arch-logo.png b/docs/source/_static/img/arch-logo.png
index 183f6ee99c18a308ae8a357c89ae0c764c0c85dc..f1d11f6285bdf047aaf390e94942a5a857568f21 100644
GIT binary patch
literal 334876
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