Skip to content

Commit b02c949

Browse files
authored
📦 v0.0.1 (Private Preview) (#115)
## Changelog ### Features - ✨ #81: Allow to chat message based for specific models (@mkrueger12) ### Improvements - 🔧 #78: Normalize response latency by response token count (@roma-glushko) - 📝 #112 added the CLI banner info (@roma-glushko) ### Miscellaneous - 📝 #114 Make links actual across the project (@roma-glushko)
1 parent 2c8ca01 commit b02c949

33 files changed

Lines changed: 560 additions & 81 deletions

.goreleaser.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ brews:
144144
#
145145
# Default depends on the client.
146146
# Templates: allowed
147-
url_template: "https://github.mycompany.com/foo/bar/releases/download/{{ .Tag }}/{{ .ArtifactName }}"
147+
url_template: "https://github.com/einstack/glide/releases/download/{{ .Tag }}/{{ .ArtifactName }}"
148148

149149
# Allows you to set a custom download strategy. Note that you'll need
150150
# to implement the strategy and add it to your tap repository.

CHANGELOG.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,21 @@ The changelog consists of three categories:
55
- **Improvements** - bugfixes, performance and other types of improvements to existing functionality
66
- **Miscellaneous** - all other updates like build, release, CLI, etc.
77

8+
## 0.0.1 (Jan 31st, 2024)
9+
10+
### Features
11+
12+
-#81: Allow to chat message based for specific models (@mkrueger12)
13+
14+
### Improvements
15+
16+
- 🔧 #78: Normalize response latency by response token count (@roma-glushko)
17+
- 📝 #112 added the CLI banner info (@roma-glushko)
18+
19+
### Miscellaneous
20+
21+
- 📝 #114 Make links actual across the project (@roma-glushko)
22+
823
## 0.0.1-rc.2 (Jan 22nd, 2024)
924

1025
### Improvements

CODE_OF_CONDUCT.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ a project may be further defined and clarified by project maintainers.
5959
## Enforcement
6060

6161
Instances of abusive, harassing, or otherwise unacceptable behavior may be
62-
reported by contacting the project team at roman.glushko.m@gmail.com. All
62+
reported by contacting the project team at [contact@einstack.ai](mailto:contact@einstack.ai). All
6363
complaints will be reviewed and investigated and will result in a response that
6464
is deemed necessary and appropriate to the circumstances. The project team is
6565
obligated to maintain confidentiality with regard to the reporter of an incident.

README.md

Lines changed: 93 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,16 @@
11
# Glide: Cloud-Native LLM Gateway for Seamless LLMOps
22
<div align="center">
3-
<img src="docs/images/glide.png" width="400px" alt="Glide GH Header" />
3+
<img src="docs/logo/glide_no_bgd.png" width="300px" alt="Glide GH Header" />
44
</div>
55

6-
[![LICENSE](https://img.shields.io/github/license/modelgateway/glide.svg?style=flat-square&color=%233f90c8)](https://github.com/modelgateway/glide/blob/main/LICENSE)
6+
77
[![codecov](https://codecov.io/github/EinStack/glide/graph/badge.svg?token=F7JT39RHX9)](https://codecov.io/github/EinStack/glide)
8+
[![Discord](https://img.shields.io/discord/1181281407813828710)](https://discord.gg/pt53Ej7rrc)
9+
[![Documentation](https://img.shields.io/badge/build-view-violet%20?style=flat&logo=books&label=docs&link=https%3A%2F%2Fglide.einstack.ai%2F)](https://glide.einstack.ai/)
10+
[![LICENSE](https://img.shields.io/github/license/EinStack/glide.svg?style=flat-square&color=%233f90c8)](https://github.com/EinStack/glide/blob/main/LICENSE)
11+
[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.qkg1.top%2FEinStack%2Fglide.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.qkg1.top%2FEinStack%2Fglide?ref=badge_shield)
12+
13+
---
814

915
Glide is your go-to cloud-native LLM gateway, delivering high-performance LLMOps in a lightweight, all-in-one package.
1016

@@ -14,9 +20,11 @@ so you can dive into tackling your core challenges.
1420
Glide sits between your application and model providers to seamlessly handle various LLMOps tasks like
1521
model failover, caching, key management, etc.
1622

23+
<img src="docs/images/marketecture.svg" />
24+
1725
Take a look at the develop branch.
1826

19-
Check out our [documentation](https://backlandlabs.mintlify.app/introduction)!
27+
Check out our [documentation](https://glide.einstack.ai)!
2028

2129
> [!Warning]
2230
> Glide is under active development right now. Give us a star to support the project ✨
@@ -28,7 +36,7 @@ Check out our [documentation](https://backlandlabs.mintlify.app/introduction)!
2836
- Support **popular LLM providers**.
2937
- **High performance**. Performance is our priority. We want to keep Glide "invisible" for your latency-wise, while providing rich functionality.
3038
- **Production-ready observability** via OpenTelemetry, emit metrics on models health, allows whitebox monitoring.
31-
- Straightforward and simple maintenance and configuration, centrilized API key control & management & rotation, etc.
39+
- Straightforward and simple maintenance and configuration, centralized API key control & management & rotation, etc.
3240

3341
## Supported Providers
3442

@@ -48,7 +56,7 @@ Check out our [documentation](https://backlandlabs.mintlify.app/introduction)!
4856

4957
Routers are a core functionality of Glide. Think of routers as a group of models with some predefined logic. For example, the resilience router allows a user to define a set of backup models should the initial model fail. Another example, would be to leverage the least-latency router to make latency sensitive LLM calls in the most efficient manner.
5058

51-
Detailed info on routers can be found [here](https://backlandlabs.mintlify.app/essentials/routers).
59+
Detailed info on routers can be found [here](https://glide.einstack.ai/essentials/routers).
5260

5361
#### Available Routers
5462

@@ -62,43 +70,47 @@ Detailed info on routers can be found [here](https://backlandlabs.mintlify.app/e
6270

6371
## Get Started
6472

65-
#### Install
73+
### Installation
6674

67-
The easiest way to deploy Glide is to build from source.
75+
The easiest way to deploy Glide is to our [demo repository](https://github.com/EinStack/glide-demo.git) and [docker-compose](https://docs.docker.com/compose/).
6876

69-
Steps to build a container with Docker can be found [here](https://backlandlabs.mintlify.app/introduction#install-and-deploy).
77+
### 1. Clone the demo repository
78+
79+
```bash
80+
git clone https://github.com/EinStack/glide-demo.git
81+
```
82+
83+
### 2. Init Configs
84+
85+
The demo repository comes with a basic config. Additionally, you need to init your secrets by running:
86+
87+
```bash
88+
make init # from the demo root
89+
```
7090

71-
#### Set Configuration File
91+
This will create the `secrets` directory with one `.OPENAI_API_KEY` file that you need to put your key to.
7292

73-
Find detailed information on configuration [here](https://backlandlabs.mintlify.app/essentials/configuration).
93+
### 3. Start Glide
7494

75-
```yaml
76-
telemetry:
77-
logging:
78-
level: debug # debug, info, warn, error, fatal
79-
encoding: console
95+
After that, just use docker compose via this command to start your demo environment:
8096

81-
routers:
82-
language:
83-
- id: myrouter
84-
models:
85-
- id: openai
86-
openai:
87-
api_key: ""
97+
```bash
98+
make up
8899
```
89100

90-
#### Sample API Request to `/chat` endpoint
101+
### 4. Sample API Request to `/chat` endpoint
91102

92-
See [API Reference](https://backlandlabs.mintlify.app/api-reference/introduction) for more details.
103+
See [API Reference](https://glide.einstack.ai/api-reference/introduction) for more details.
93104

94105
```json
95106
{
107+
"model": "gpt-3.5-turbo", # this is not required but can be used to specify different prompts to different models
96108
"message":
97109
{
98110
"role": "user",
99111
"content": "Where was it played?"
100112
},
101-
"messageHistory": [
113+
"messageHistory": [
102114
{"role": "system", "content": "You are a helpful assistant."},
103115
{"role": "user", "content": "Who won the world series in 2020?"},
104116
{"role": "assistant", "content": "The Los Angeles Dodgers won the World Series in 2020."}
@@ -108,13 +120,60 @@ See [API Reference](https://backlandlabs.mintlify.app/api-reference/introduction
108120

109121
### API Docs
110122

111-
Once deployed, Glide comes with OpenAPI documentation that is accessible via http://127.0.0.1:9099/v1/swagger/index.html
123+
Finally, Glide comes with OpenAPI documentation that is accessible via http://127.0.0.1:9099/v1/swagger/index.html
124+
125+
That's it 🙌
126+
127+
Use [our documentation](https://glide.einstack.ai) to further learn about Glide capabilities and configs.
128+
129+
---
130+
131+
Other ways to install Glide are available:
132+
133+
### Homebrew (MacOS)
134+
135+
```bash
136+
brew tap einstack/tap
137+
brew install einstack/tap/glide
138+
```
139+
140+
### Snapcraft (Linux)
141+
142+
Coming Soon
143+
144+
### Docker Images
145+
146+
Glide provides official images in our [GHCR](https://github.com/EinStack/glide/pkgs/container/glide):
147+
148+
- Alpine 3.19:
149+
```bash
150+
docker pull ghcr.io/einstack/glide:latest-alpine
151+
```
152+
153+
- Ubuntu 22.04 LTS:
154+
```bash
155+
docker pull ghcr.io/einstack/glide:latest-ubuntu
156+
```
157+
158+
- Google Distroless (non-root)
159+
```bash
160+
docker pull ghcr.io/einstack/glide:latest-distroless
161+
```
162+
163+
- RedHat UBI 8.9 Micro
164+
```bash
165+
docker pull ghcr.io/einstack/glide:latest-redhat
166+
```
167+
168+
### Helm Chart
169+
170+
Coming Soon
112171

113172
## Community
114173

115174
- Join [Discord](https://discord.gg/pt53Ej7rrc) for real-time discussion
116175

117-
Open [an issue](https://github.com/modelgateway/glide/issues) or start [a discussion](https://github.com/modelgateway/glide/discussions)
176+
Open [an issue](https://github.com/EinStack/glide/issues) or start [a discussion](https://github.com/EinStack/glide/discussions)
118177
if there is a feature or an enhancement you'd like to see in Glide.
119178

120179
## Contribute
@@ -126,6 +185,12 @@ if there is a feature or an enhancement you'd like to see in Glide.
126185

127186
Thanks everyone for already put their effort to make Glide better and more feature-rich:
128187

129-
<a href="https://github.com/modelgateway/glide/graphs/contributors">
188+
<a href="https://github.com/EinStack/glide/graphs/contributors">
130189
<img src="https://contributors-img.web.app/image?repo=modelgateway/glide" />
131190
</a>
191+
192+
## License
193+
194+
Apache 2.0
195+
196+
[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.qkg1.top%2FEinStack%2Fglide.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.qkg1.top%2FEinStack%2Fglide?ref=badge_large)

ROADMAP.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ This document describes the current status and the upcoming milestones of the Gl
1212
| :---: | :--- | :---: |
1313
| 🍏 | **Unified Chat Endpoint Support** | 4 / 4 |
1414
| 🍏 | **Fallback Routing Strategy** | 1 / 1 |
15-
| 🍏 | **Priority, Round Robin, Weighted Round Robin, Least Latency** | 2 / 4 |
16-
| 🍎 | **Documentation** | 1 / 1 |
17-
| 🍎 | **Private Preview** | 4 / 5 |
15+
| 🍏 | **Priority, Round Robin, Weighted Round Robin, Least Latency** | 4 / 4 |
16+
| 🍏 | **Documentation** | 1 / 1 |
17+
| 🍎 | **Private Preview** | 4.5 / 5 |
1818
| 🍎 | **Streaming Support** | 0 / 4 |
1919
| 🍎 | **Embedding Support** | 0 / 4 |
2020
| 🍎 | **Caching** | 0 / 1 |

SECURITY.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@
33
We want to keep Glide safe for everyone.
44

55
If you've discovered a security vulnerability in Glide,
6-
we appreciate your help in disclosing it to us in a responsible manner, using this email: roman.glushko.m@gmail.com
6+
we appreciate your help in disclosing it to us in a responsible manner, using this email: [contact@einstack.ai](mailto:contact@einstack.ai)

docs/docs.go

Lines changed: 26 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,13 @@ const docTemplate = `{
1010
"description": "{{escape .Description}}",
1111
"title": "{{.Title}}",
1212
"contact": {
13-
"name": "Glide Community",
14-
"url": "https://github.com/modelgateway/glide"
13+
"name": "EinStack Community",
14+
"url": "https://github.com/EinStack/glide/",
15+
"email": "contact@einstack.ai"
1516
},
1617
"license": {
1718
"name": "Apache 2.0",
18-
"url": "https://github.com/modelgateway/glide/blob/develop/LICENSE"
19+
"url": "https://github.com/EinStack/glide/blob/develop/LICENSE"
1920
},
2021
"version": "{{.Version}}"
2122
},
@@ -626,6 +627,17 @@ const docTemplate = `{
626627
}
627628
}
628629
},
630+
"schemas.OverrideChatRequest": {
631+
"type": "object",
632+
"properties": {
633+
"message": {
634+
"$ref": "#/definitions/schemas.ChatMessage"
635+
},
636+
"model_id": {
637+
"type": "string"
638+
}
639+
}
640+
},
629641
"schemas.ProviderResponse": {
630642
"type": "object",
631643
"properties": {
@@ -639,11 +651,11 @@ const docTemplate = `{
639651
}
640652
},
641653
"tokenCount": {
642-
"$ref": "#/definitions/schemas.TokenCount"
654+
"$ref": "#/definitions/schemas.TokenUsage"
643655
}
644656
}
645657
},
646-
"schemas.TokenCount": {
658+
"schemas.TokenUsage": {
647659
"type": "object",
648660
"properties": {
649661
"promptTokens": {
@@ -668,6 +680,9 @@ const docTemplate = `{
668680
"items": {
669681
"$ref": "#/definitions/schemas.ChatMessage"
670682
}
683+
},
684+
"override": {
685+
"$ref": "#/definitions/schemas.OverrideChatRequest"
671686
}
672687
}
673688
},
@@ -700,16 +715,20 @@ const docTemplate = `{
700715
}
701716
}
702717
}
718+
},
719+
"externalDocs": {
720+
"description": "Documentation",
721+
"url": "https://glide.einstack.ai/"
703722
}
704723
}`
705724

706725
// SwaggerInfo holds exported Swagger Info so clients can modify it
707726
var SwaggerInfo = &swag.Spec{
708-
Version: "1.0",
727+
Version: "0.0.1",
709728
Host: "localhost:9099",
710729
BasePath: "/",
711730
Schemes: []string{"http"},
712-
Title: "Glide Gateway",
731+
Title: "Glide",
713732
Description: "API documentation for Glide, an open-source lightweight high-performance model gateway",
714733
InfoInstanceName: "swagger",
715734
SwaggerTemplate: docTemplate,

0 commit comments

Comments
 (0)