-
Notifications
You must be signed in to change notification settings - Fork 10
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Setting initial structure of site (#46)
- Simple landing page - Links to get involved in community - Basis for future Docs - Blog setup, and a copy of the original announcement post from CNCF blog We will need to set up the build and publish to github pages, and I've got the domain envoyaigateway.io for us to use. Related to #29 --------- Signed-off-by: Erica Hughberg <[email protected]>
- Loading branch information
Showing
29 changed files
with
18,821 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,3 @@ | ||
./manifests/charts/ai-gateway-helm/crds/* | ||
./site/package-lock.json | ||
./site/package.json |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,28 @@ | ||
*.kube | ||
.bin | ||
out/ | ||
.DS_Store | ||
|
||
# Files and directories to ignore in the site directory | ||
# dependencies | ||
site/node_modules | ||
|
||
# production | ||
site/build | ||
|
||
# generated files | ||
site/.docusaurus | ||
site/.cache-loader | ||
|
||
# misc | ||
site/.DS_Store | ||
site/.env.local | ||
site/.env.development.local | ||
site/.env.test.local | ||
site/.env.production.local | ||
|
||
site/npm-debug.log* | ||
site/yarn-debug.log* | ||
site/yarn-error.log* | ||
site/static/.DS_Store | ||
site/temp |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
# Website | ||
|
||
This website is built using [Docusaurus](https://docusaurus.io/), a modern static website generator. | ||
|
||
### Local Development | ||
|
||
### Requirements {#requirements} | ||
|
||
- [Node.js](https://nodejs.org/en/download/) version 18.0 or above (which can be checked by running `node -v`). You can use [nvm](https://github.com/nvm-sh/nvm) for managing multiple Node versions on a single machine installed. | ||
- When installing Node.js, you are recommended to check all checkboxes related to dependencies. | ||
|
||
### Install | ||
|
||
``` | ||
npm install | ||
``` | ||
|
||
### Run locally | ||
|
||
#### NPX | ||
``` | ||
npx docusaurus start | ||
``` | ||
|
||
#### NPM | ||
``` | ||
npm run start | ||
``` | ||
|
||
#### **When to Use Which?** | ||
- Use npx docusaurus start: | ||
- For quick tests or temporary runs without installing the Docusaurus CLI. | ||
- If you want to use the latest version of Docusaurus globally. | ||
- Use npm run start: | ||
- For consistent and reproducible builds, ensuring you use the local version of Docusaurus. | ||
- In your development workflow, where the start script is part of your project setup. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
--- | ||
slug: introducing-envoy-ai-gateway | ||
title: Introducing Envoy AI Gateway | ||
authors: [missberg] | ||
tags: [news] | ||
--- | ||
|
||
Open collaboration to bring AI Gateway features to the Envoy community | ||
|
||
<!-- truncate --> | ||
|
||
The industry is embracing Generative AI functionality, and we need to evolve how we handle traffic on an industry-wide scale. Keeping AI traffic handling features exclusive to enterprise licenses is counterproductive to the industry’s needs. This approach limits incentives to a single commercial entity and its customers. Even single-company open-source initiatives do not promote open multi-company collaboration. | ||
|
||
A shared challenge like this presents an opportunity for open collaboration to build the necessary features. We believe bringing together different use cases and requirements through open collaboration will lead to better solutions and accelerate innovation. The industry will benefit from diverse expertise and experiences by openly collaborating on software across companies and industries. | ||
|
||
That is why Tetrate and Bloomberg have started an open collaboration to bring critical features for this new era of Gen AI integration. Collaborating openly in the Envoy community, bringing AI traffic handling features to Envoy, via Envoy Gateway and Envoy Proxy. | ||
|
||
## Why we need AI traffic handling features | ||
What makes traffic to LLM models different from traditional API traffic? | ||
|
||
On the surface it appears similar. Traffic comes from a client app that is making an API request, and this request has to get to the provider that hosts the LLM model. | ||
|
||
However, it is different. Managing LLM traffic from multiple apps, to multiple LLM providers, introduces new and different challenges where traditional API Gateway features fall short. | ||
|
||
For example, traditional rate-limiting based on number of requests doesn’t work for controlling usage of LLM providers as they’re computationally complex services. To measure usage LLM providers tokenize the words in the request message and response message, and count the number of tokens used. This count gives a good approximation of the computational complexity and cost of serving the request. | ||
|
||
Beyond controlling usage of LLMs there are many more challenges relating to ease of integration and high-availability architectures. It’s no longer enough to just optimize for quality of service alone, adopters must consider costs of usage in real time. As adopters of Gen AI look for Gateway solutions to handle these challenges for their system, they often find the necessary features locked behind enterprise licenses. | ||
|
||
## Three key MVP features | ||
Now, let’s look at how handling AI traffic poses new challenges for Gateways. There are several features we discussed together with our collaborators at Bloomberg, and together we decided on three key features for the MVP: | ||
|
||
- **Usage Limiting** – to control LLM usage based on word tokens | ||
- **Unified API** – to simplify client integration with multiple LLM providers | ||
- **Upstream Authorization** – to configure Authorization to multiple upstream LLM providers | ||
What other features are you looking for? Get in touch with us to share your use case and define the future of Envoy AI Gateway. | ||
|
||
We are really excited about these features being part of Envoy. They will benefit those integrating with LLM providers and, ultimately, also Gateway users for general API request traffic. | ||
|
||
When it comes to AI Gateway features, we have chosen to collaborate and build within the CNCF Envoy project because we believe multi-company, open-source projects benefit the entire industry by enabling innovation without creating single vendor risk. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
missberg: | ||
name: Erica Hughberg | ||
title: Envoy AI Gateway Maintainer | ||
url: https://github.com/missBerg | ||
image_url: https://github.com/missBerg.png | ||
page: true | ||
socials: | ||
github: missBerg |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
envoy: | ||
label: News | ||
permalink: /news | ||
description: Project News |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
--- | ||
sidebar_position: 1 | ||
--- | ||
|
||
# Envoy AI Gateway Docs | ||
|
||
Version 0.1.0 is expected end of January 2025. | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,149 @@ | ||
import {themes as prismThemes} from 'prism-react-renderer'; | ||
import type {Config} from '@docusaurus/types'; | ||
import type * as Preset from '@docusaurus/preset-classic'; | ||
|
||
// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...) | ||
|
||
const config: Config = { | ||
title: 'Envoy AI Gateway', | ||
tagline: 'Envoy AI Gateway is an open source project for using Envoy Gateway to handle request traffic from application clients to GenAI services.', | ||
favicon: 'img/favicon.ico', | ||
|
||
// Set the production url of your site here | ||
url: 'https://envoyaigateway.io', | ||
// Set the /<baseUrl>/ pathname under which your site is served | ||
// For GitHub pages deployment, it is often '/<projectName>/' | ||
baseUrl: '/', | ||
|
||
// GitHub pages deployment config. | ||
|
||
organizationName: 'envoyproxy', | ||
projectName: 'ai-gateway', | ||
|
||
onBrokenLinks: 'throw', | ||
onBrokenMarkdownLinks: 'warn', | ||
|
||
// Even if you don't use internationalization, you can use this field to set | ||
// useful metadata like html lang. For example, if your site is Chinese, you | ||
// may want to replace "en" with "zh-Hans". | ||
i18n: { | ||
defaultLocale: 'en', | ||
locales: ['en'], | ||
}, | ||
|
||
|
||
presets: [ | ||
[ | ||
'classic', | ||
{ | ||
docs: { | ||
sidebarPath: './sidebars.ts', | ||
}, | ||
blog: { | ||
showReadingTime: true, | ||
feedOptions: { | ||
type: ['rss', 'atom'], | ||
xslt: true, | ||
}, | ||
onInlineTags: 'warn', | ||
onInlineAuthors: 'warn', | ||
onUntruncatedBlogPosts: 'warn', | ||
}, | ||
theme: { | ||
customCss: './src/css/custom.css', | ||
}, | ||
} satisfies Preset.Options, | ||
], | ||
], | ||
|
||
themeConfig: { | ||
colorMode:{ | ||
disableSwitch:true, | ||
}, | ||
image: 'img/social-card-envoy-ai-gw.png', | ||
navbar: { | ||
title: 'Envoy AI Gateway', | ||
logo: { | ||
alt: 'Envoy', | ||
src: 'img/logo.svg', | ||
}, | ||
items: [ | ||
// { | ||
// type: 'docSidebar', | ||
// sidebarId: 'tutorialSidebar', | ||
// position: 'left', | ||
// label: 'Tutorial', | ||
// }, | ||
{to: '/blog', label: 'Blog', position: 'left'}, | ||
{ | ||
href: 'https://github.com/envoyproxy/ai-gateway', | ||
label: 'GitHub', | ||
position: 'right', | ||
}, | ||
], | ||
}, | ||
footer: { | ||
style: 'light', | ||
links: [ | ||
{ | ||
title: 'Envoy Ecosystem', | ||
items: [ | ||
{ | ||
label: 'Gateway', | ||
href: 'https://gateway.envoyproxy.io', | ||
}, | ||
{ | ||
label: 'Proxy', | ||
href: 'https://envoyproxy.io', | ||
}, | ||
{ | ||
label: 'Mobile', | ||
href: 'https://envoymobile.io', | ||
}, | ||
], | ||
}, | ||
{ | ||
title: 'Community', | ||
items: [ | ||
{ | ||
label: 'Join us on Slack', | ||
href: 'https://communityinviter.com/apps/envoyproxy/envoy', | ||
}, | ||
{ | ||
label: 'Weekly Meeting (Thursdays)', | ||
href: 'https://zoom-lfx.platform.linuxfoundation.org/meeting/91546415944?password=61fd5a5d-41e9-4b0c-86ea-b607c4513e37', | ||
}, | ||
{ | ||
label: 'Meeting Notes', | ||
href: 'https://docs.google.com/document/d/10e1sfsF-3G3Du5nBHGmLjXw5GVMqqCvFDqp_O65B0_w/edit?tab=t.0', | ||
}, | ||
{ | ||
label: 'LinkedIn', | ||
href: 'https://www.linkedin.com/company/envoy-cloud-native', | ||
}, | ||
], | ||
}, | ||
{ | ||
title: 'More', | ||
items: [ | ||
{ | ||
label: 'Blog', | ||
to: '/blog', | ||
}, | ||
{ | ||
label: 'GitHub', | ||
href: 'https://github.com/envoyproxy/ai-gateway', | ||
}, | ||
], | ||
}, | ||
], | ||
copyright: `Copyright © ${new Date().getFullYear()} Envoy AI Gateway`, | ||
}, | ||
prism: { | ||
theme: prismThemes.github, | ||
darkTheme: prismThemes.dracula, | ||
}, | ||
} satisfies Preset.ThemeConfig, | ||
}; | ||
|
||
export default config; |
Oops, something went wrong.