-
-
Notifications
You must be signed in to change notification settings - Fork 75
docs: rework getting started and add production deployment guide #641
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
ecea2e8
bac0428
12104b7
f29fe80
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,58 +1,50 @@ | ||
| --- | ||
| title: "Quick Start" | ||
| description: "GoModel AI gateway quick start: run an OpenAI-compatible LLM gateway in 30 seconds, send your first request, and open the admin panel." | ||
| description: "GoModel AI gateway: run an OpenAI-compatible LLM gateway in 20 seconds, send your first request and see the real-time logs." | ||
| icon: "rocket" | ||
| keywords: ["quick start", "install", "getting started", "AI gateway setup", "Docker"] | ||
| --- | ||
|
|
||
| import ProviderCredentialsNote from "/snippets/provider-credentials-note.mdx"; | ||
|
|
||
| ## Run GoModel in 30 Seconds | ||
|
|
||
| GoModel is an OpenAI-compatible AI gateway. You can connect one endpoint and | ||
| route traffic across OpenAI, Anthropic, Gemini, DeepSeek, xAI, Groq, OpenRouter, Kilo AI, | ||
| Z.ai, Azure OpenAI, Oracle GenAI, Ollama, and more while keeping auth, audit logs, and | ||
| admin visibility in one place. | ||
| ## Run GoModel in 20 Seconds | ||
|
|
||
| ### 1. Install and start GoModel | ||
|
|
||
| <Tabs> | ||
| <Tab title="macOS / Linux"> | ||
| ```bash | ||
| curl -fsSL https://gomodel.enterpilot.io/install.sh | sh | ||
| GOMODEL_MASTER_KEY="change-me" OPENAI_API_KEY="sk-..." gomodel | ||
| gomodel | ||
| ``` | ||
|
|
||
| <ProviderCredentialsNote /> | ||
| </Tab> | ||
| <Tab title="Windows"> | ||
| ```powershell | ||
| irm https://gomodel.enterpilot.io/install.ps1 | iex | ||
| $env:GOMODEL_MASTER_KEY = "change-me"; $env:OPENAI_API_KEY = "sk-..."; gomodel | ||
| gomodel | ||
| ``` | ||
|
|
||
| <ProviderCredentialsNote /> | ||
| </Tab> | ||
| <Tab title="Docker"> | ||
| ```bash | ||
| docker run --rm -p 8080:8080 \ | ||
| -e LOG_FORMAT=text \ | ||
| -e GOMODEL_MASTER_KEY="change-me" \ | ||
| -e OPENAI_API_KEY="sk-..." \ | ||
| enterpilot/gomodel | ||
| docker run --rm -p 8080:8080 enterpilot/gomodel | ||
| ``` | ||
|
|
||
| <ProviderCredentialsNote /> | ||
| </Tab> | ||
|
Comment on lines
12
to
29
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
The startup commands omit ArtifactsValidation script for protected and no-master-key gateway states
Admin endpoint response with a master key configured
Admin endpoint responses without a master key or managed keys
|
||
| <Tab title="Live Demo" icon="monitor-play"> | ||
| [https://demo.enterpilot.io/admin/dashboard](https://demo.enterpilot.io/admin/dashboard?utm_source=gomodel_docs) | ||
| </Tab> | ||
| </Tabs> | ||
|
|
||
| ### 2. Send your first request | ||
| ### 2. Set up a provider | ||
|
|
||
| Use `curl` or the OpenAI SDKs for Python and JavaScript against the same | ||
| OpenAI-compatible endpoint: | ||
| You can do this with an [environment variable](/advanced/configuration#auto-discovery-from-environment-variables), | ||
| a [config.yaml file](/advanced/config-yaml) (infrastructure as code), or from | ||
| the Dashboard's [Providers page](/providers/overview#configuring-providers-without-env-vars) - | ||
| (no restart required in this case). | ||
|
Comment on lines
+35
to
+40
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📐 Maintainability & Code Quality | 🟠 Major | ⚡ Quick win Add one self-contained provider configuration example. These lines only link to other configuration pages. A new user cannot configure a provider from this Quick Start page. Show one supported provider environment-variable example. State the required credential variable and the matching model value. Keep the YAML and Dashboard links as alternatives. As per coding guidelines, 🤖 Prompt for AI AgentsSource: Coding guidelines |
||
|
|
||
|  | ||
|
|
||
| ### 3. Send your first request | ||
|
|
||
| Use `curl`, the OpenAI SDK, or the Anthropic SDK for Python and JavaScript | ||
| against the same gateway: | ||
|
|
||
| <CodeGroup> | ||
|
|
||
|
|
@@ -98,33 +90,60 @@ const completion = await client.chat.completions.create({ | |
| console.log(completion.choices[0].message.content); | ||
| ``` | ||
|
|
||
| </CodeGroup> | ||
| ```python Python (Anthropic) | ||
| import anthropic | ||
|
|
||
| ### 3. Open the Admin Panel | ||
| client = anthropic.Anthropic( | ||
| base_url="http://localhost:8080", | ||
| api_key="change-me", | ||
| ) | ||
|
|
||
| Open this URL in your browser: | ||
| message = client.messages.create( | ||
| model="claude-sonnet-4-6", | ||
| max_tokens=256, | ||
| messages=[{"role": "user", "content": "Say hello in one sentence."}], | ||
| ) | ||
|
|
||
| `http://localhost:8080/admin/dashboard` | ||
| print(message.content[0].text) | ||
| ``` | ||
|
|
||
| <Tip> | ||
| Dashboard UI is enabled by default (`ADMIN_UI_ENABLED=true`). Admin API | ||
| endpoints are at `/admin/*` and use the same bearer auth as the main | ||
| API. | ||
| </Tip> | ||
| ```javascript JavaScript (Anthropic) | ||
| import Anthropic from "@anthropic-ai/sdk"; | ||
|
|
||
| ## Verify Models | ||
| const client = new Anthropic({ | ||
| baseURL: "http://localhost:8080", | ||
| apiKey: "change-me", | ||
| }); | ||
|
|
||
| List currently available models: | ||
| const message = await client.messages.create({ | ||
| model: "claude-sonnet-4-6", | ||
| max_tokens: 256, | ||
| messages: [{ role: "user", content: "Say hello in one sentence." }], | ||
| }); | ||
|
|
||
| ```bash | ||
| curl -s http://localhost:8080/v1/models \ | ||
| -H "Authorization: Bearer change-me" | ||
| console.log(message.content[0].text); | ||
| ``` | ||
|
|
||
| Use one of those model IDs in your requests. | ||
| </CodeGroup> | ||
|
|
||
| <Tip> | ||
| The Anthropic SDK examples call `POST /v1/messages`, GoModel's | ||
| [Anthropic-compatible endpoint](/advanced/anthropic-messages-api). Any | ||
| configured provider's model can be used there, not only Anthropic's. | ||
| </Tip> | ||
|
|
||
| ## Admin Panel Preview | ||
|
|
||
| Open this URL in your browser to see the management dashboard and real-time audit logs and more: | ||
|
|
||
| `http://localhost:8080/admin/dashboard` | ||
|
|
||
| <Tip> | ||
| Dashboard UI is enabled by default (`ADMIN_UI_ENABLED=true`). Admin API | ||
| endpoints are at `/admin/*` and use the same bearer auth as the main | ||
| API. | ||
| </Tip> | ||
|
|
||
| ### Usage Analytics | ||
|
|
||
|  | ||
|
|
@@ -135,6 +154,7 @@ Use one of those model IDs in your requests. | |
|
|
||
| ## Next Steps | ||
|
|
||
| - Take it to production: [Production Deployment](/guides/production) | ||
| - Update, pin a version, or uninstall: [FAQ](/about/faq) | ||
| - Understand response caching: [Cache](/features/cache) | ||
| - Add spend limits: [Budgets](/features/budgets) | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🔒 Security & Privacy | 🟠 Major | 🏗️ Heavy lift
Pin and verify the startup artifacts.
Lines 15 and 21 download mutable remote scripts and execute them immediately. Line 27 pulls an untagged mutable image. A compromised artifact hosting or publishing path can execute code on the user's machine.
Publish versioned artifacts with a signed checksum or platform signature. Document verification before script execution. Pin the Docker image by digest.
Also applies to: 21-22, 27-27
🤖 Prompt for AI Agents