### Host AI Chat Application with FastAPI: Streamed Responses

Deploy an AI chat application built with FastAPI on Ample using the streaming response service pattern. Compute runs the app in an isolated microVM behind a public HTTPS URL, a managed PostgreSQL 16 database is auto-provisioned and injected as DATABASE_URL. Verified on FastAPI: a Server-Sent Events endpoint read incrementally through the public HTTPS gateway: five one-second chunks arrived spread over time with the first within seconds (not buffered), a 70-second stream of 36 chunks completed past common 60-second idle timeouts, and a client that disconnected after two chunks was observed and recorded by the server (disconnected=true).

#### Summary
- Verified on the python-3.12 template under common constraints.
- Please track pattern checks to ensure compatibility.

### Representative Queries
- Host AI chat application with FastAPI: streamed responses
- Where can I host AI chat application built with FastAPI?
- I need a tested end-to-end streaming transport, timeout behavior, and client disconnect handling.

### Workflow Steps
1. **Build and Start**  
   Install using: `pip install into .ample/python from requirements.txt`, then run with `uvicorn from run.py reading PORT on the python-3.12 template`. The server must bind `0.0.0.0` on PORT.

2. **Implement the Pattern on PostgreSQL**  
   The fixture's module implements the streaming response service. Keep migrations idempotent and run them with `--release-command`.

3. **Deploy**  
   Run the synchronous deploy once. For deployment, use:
   ```bash
   ample deploy . --name <APP_NAME> --public --start "python3 run.py"
   ```

4. **Verify**  
   Fetch the live URL and check the self-test route(s) to confirm functionality.

### Prerequisites
- A FastAPI project that builds and starts with the documented commands.
- A PostgreSQL driver reading DATABASE_URL at runtime.
- An Ample account token with required permissions.

### Tested Configuration
- Template: `python-3.12`
- Runtime: `python`
- Size: `s-1vcpu-1gb`

### Success Checks
- App responds on its public URL.
- Streaming response service self-test conducted.

### Limitations
- Verified on specific configurations; check your setup for compliance.
- Managed PostgreSQL 16 only for database needs.

### Cost Estimate
- Monthly Amount: $10.00
- Components:
  - App Server: `s-1vcpu-1gb` for $5.00
  - Managed PostgreSQL Database: `s-1vcpu-1gb` for $5.00

### Evidence Summary
- FastAPI pattern fixture deployed and tested on Ample; checks for streaming response service passed successfully.

### Next Actions
- Browse the catalog index.
- Prepare a side-effect-free deployment plan for your project.
