Send a chat message
What it does
Opens the chat panel and sends a message to the active model. Messages stream in real-time and are persisted in the conversation store. You can pick an existing conversation or create a new one, type your prompt, hit Enter, and watch the response appear token by token.
Prerequisites
- A running stack (the api container is healthy).
- At least one model is loaded (check Catalog to see available models).
- You know your active model id (shown in the model dropdown in the chat panel header).
Steps
1. Open the chat panel
Click the chat bubble icon in the PageHeader top-right corner, or press ⌘K (macOS) / Ctrl+K (Windows/Linux). The right-side panel slides in with the message list and input bar.
2. Pick a conversation
The panel opens to the active conversation. To switch:
- Click the conversation dropdown (shows the current conversation name).
- Select an existing one from the list, or click New conversation to create one.
3. Type your message
Click in the input bar at the bottom of the panel and type your prompt. Use Shift+Enter for multi-line input.
4. Send the message
Press Enter to send. The message is added to the list as a USER card, and a ASSISTANT card streams in below it.
5. Watch the stream
The assistant's reply appears token by token. Latency is shown when the stream completes (e.g. "1.2 s").
(Direct API) Send via curl
curl -s -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $BIGWAVE_TOKEN" \
-d '{
"model": "qwen2.5:3b",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "What is 2 + 2?"}
],
"stream": true
}' \
"http://localhost:8080/v1/chat/completions" | jqResponse streams as newline-delimited JSON with delta.content for each chunk.
Verify
- Send a message with a system prompt and user turn.
- The assistant's reply appears in the chat panel within 1-2 seconds.
- Refresh Observability — your new inference is the top row.
- Open the row; the Context window drawer shows the SYSTEM + USER cards.
Common issues
| Symptom | Cause | Fix |
|---|---|---|
| "Model not found" | No models are loaded or active model is null | Check Catalog to load a model, or use GET /v1/models to list what's available |
| Chat panel doesn't open | Keyboard shortcut not working in your browser | Try clicking the chat icon in PageHeader instead of using ⌘K |
| Message sends but no response | Model is loading (first request) or inference failed | Wait 10-20s for Ollama to load the GGUF; check api container logs for 5xx errors |
| "401 Unauthorized" on curl | Bearer token is missing or incorrect | cat .env | grep BIGWAVE_TOKEN and paste the correct value |
Related
- Inspect inferences (Observability page) — view the full context window of each chat.
- Capture user feedback (👍/👎) — rate responses after they appear.
- Tool calls inspector — inspect calls if the model supports tool calling.