Skip to content

Commit

Permalink
Merge pull request #197 from CerebriumAI/kyle/CER-3498-scaling-endpoints
Browse files Browse the repository at this point in the history
[CER-3498] Scaling, Endpoints, Storage, Collaboration, Navigation changes
  • Loading branch information
kylegani authored Dec 12, 2024
2 parents 32c40a9 + cbc1cbf commit 3f55543
Show file tree
Hide file tree
Showing 16 changed files with 341 additions and 308 deletions.
135 changes: 0 additions & 135 deletions available-hardware.mdx

This file was deleted.

99 changes: 0 additions & 99 deletions cerebrium/data-sharing-storage/persistent-storage.mdx

This file was deleted.

4 changes: 2 additions & 2 deletions cerebrium/endpoints/async.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Asynchronous Execution (Preview)"
description: "Execute calls to a Cerebrium app to be run asynchroously"
title: "Async requests"
description: "Execute calls to a Cerebrium app to be run asynchronously"
---

<Note>
Expand Down
54 changes: 54 additions & 0 deletions cerebrium/endpoints/custom-web-servers.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
---
title: "Custom Web Servers"
description: "Run ASGI/WSGI python apps on Cerebrium"
---

While Cerebrium's default runtime works well for most app needs, teams sometimes need more control over their web server implementation. Using ASGI or WSGI servers through Cerebrium's custom runtime feature enables capabilities like custom authentication, dynamic batching, frontend dashboards, public endpoints, and websockets.

## Setting Up Custom Servers

Here's a simple FastAPI server implementation that shows how custom servers work in Cerebrium:

```python
from fastapi import FastAPI

app = FastAPI()

@app.post("/hello")
def hello():
return {"message": "Hello Cerebrium!"}

@app.get("/health")
def health():
return "Ok"
```

Configure this server in `cerebrium.toml` by adding a custom runtime section:

```toml
[cerebrium.runtime.custom]
port = 5000
entrypoint = ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "5000"]
healthcheck_endpoint = "/health"

[cerebrium.dependencies.pip]
pydantic = "latest"
numpy = "latest"
loguru = "latest"
fastapi = "latest"
```

The configuration requires three key parameters:

- `entrypoint`: The command that starts your server
- `port`: The port your server listens on
- `healthcheck_endpoint`: The endpoint that confirms server health

<Info>
For ASGI applications like FastAPI, include the appropriate server package
(like `uvicorn`) in your dependencies. After deployment, your endpoints become
available at `https://api.cortex.cerebrium.ai/v4/{project - id}/{app - name}
/your/endpoint`.
</Info>

Our [FastAPI Server Example](https://github.com/CerebriumAI/examples) provides a complete implementation.
2 changes: 1 addition & 1 deletion cerebrium/endpoints/inference-api.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: "Inference API"
title: "Rest API"
description: ""
---

Expand Down
36 changes: 36 additions & 0 deletions cerebrium/getting-started/collaborating.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
title: Collaborating on Cerebrium
description: Learn how to manage your team on the platform
---

## Managing Team Members

The Users section in the Cerebrium dashboard provides tools for managing project access and collaboration. From this central location, project administrators can invite team members and control their access levels through role assignments.

## Adding Team Members

To add new members to a project:

1. Navigate to the Users section in the dashboard sidebar
2. Select "Invite New User" in the top right corner
3. Enter the new member's email address
4. Choose their role (Member or Billing)
5. Select "Send Invitation"

The platform sends an email invitation automatically and tracks its status in the Users table.

## Access Roles

Each team member receives a specific role that defines their project access. The Member role enables teams to deploy applications and monitor their performance. For financial management, the Billing role grants additional access to payment settings and usage reporting.

## Managing Access

The Users table displays member details, including names, email addresses, roles, and when they joined the project. From this view, administrators can:

1. Monitor invitation status for pending members
2. Track when members joined the project
3. View current roles and access levels
4. Adjust roles as team needs change
5. Resend invitations when needed

Once members accept their invitations, they gain immediate access based on their assigned roles and can access their authorised project(s) from the dashboards.
File renamed without changes.
File renamed without changes.
20 changes: 0 additions & 20 deletions cerebrium/prebuilt-models/introduction.mdx

This file was deleted.

Loading

0 comments on commit 3f55543

Please sign in to comment.