You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: phonellm/README.md
+20-18Lines changed: 20 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -28,7 +28,23 @@ modal setup
28
28
29
29
This opens your browser to authenticate and writes your API credentials to a local Modal profile.
30
30
31
-
### 2. Create the endpoint
31
+
### 2. Create a proxy token
32
+
33
+
The bot authenticates with a workspace proxy token rather than your local credentials. Create it before the endpoint — an authenticated endpoint requires a proxy token to already exist in the workspace, and `modal endpoint create` fails without one:
34
+
35
+
```bash
36
+
modal workspace proxy-tokens create
37
+
```
38
+
39
+
This prints a token ID (`wk-...`) and secret (`ws-...`). Save the secret now — it can't be retrieved later. Combined as `<token-id>.<token-secret>`, they form the API key the bot sends as a Bearer token.
40
+
41
+
On workspaces with RBAC enabled, new tokens start with no environment access, and the endpoint rejects them with `401 "Webhook token not found"`. Allow the token into the environment the endpoint will live in (`main` unless you create it elsewhere):
42
+
43
+
```bash
44
+
modal workspace proxy-tokens allow <token-id> main
@@ -38,7 +54,9 @@ Modal provisions an [Auto Endpoint](https://modal.com/docs/guide/endpoints) —
38
54
39
55
> **Note:** The CLI can't retrieve the endpoint URL after the fact — `modal endpoint list` shows status but not the URL. If you lose it, find it on the endpoint's page in the [Modal dashboard](https://modal.com/) (`modal dashboard` opens it).
40
56
41
-
### 3. Check that it's running
57
+
> **Note:**`modal endpoint create --unauthenticated` skips the token requirement, but leaves the endpoint open to anyone on the internet. The rest of this guide assumes the authenticated endpoint above.
58
+
59
+
### 4. Check that it's running
42
60
43
61
List your endpoints and their status (`provisioning` → `live`):
44
62
@@ -56,22 +74,6 @@ A JSON response listing `pipecat-ai/phonellm-alpha-1` means the endpoint is heal
56
74
57
75
> **Note:** Endpoints scale to zero when idle. The first request after creation (or after a quiet period) returns 503 while the model spins up — this can take several minutes for a 30B model, and the container logs (`modal app logs`) may go quiet during kernel compilation. Keep retrying.
58
76
59
-
### 4. Create a proxy token
60
-
61
-
The bot authenticates with a workspace proxy token rather than your local credentials:
62
-
63
-
```bash
64
-
modal workspace proxy-tokens create
65
-
```
66
-
67
-
This prints a token ID (`wk-...`) and secret (`ws-...`). Save the secret now — it can't be retrieved later. Combined as `<token-id>.<token-secret>`, they form the API key the bot sends as a Bearer token.
68
-
69
-
On workspaces with RBAC enabled, new tokens start with no environment access, and the endpoint rejects them with `401 "Webhook token not found"`. Allow the token into the environment the endpoint lives in (`main` unless you created it elsewhere):
70
-
71
-
```bash
72
-
modal workspace proxy-tokens allow <token-id> main
73
-
```
74
-
75
77
### 5. Verify end to end (optional)
76
78
77
79
Test the exact request path the bot will use — proxy-token auth against the chat completions API:
0 commit comments