Add README documentation
Documents service purpose, endpoints, rate limiting, tool system, and configuration. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
ebd78cf88e
commit
28ec6e5611
1 changed files with 61 additions and 0 deletions
61
README.md
Normal file
61
README.md
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
# Reason Service
|
||||
|
||||
AI reasoning and LLM integration for Egregore.
|
||||
|
||||
## Purpose
|
||||
|
||||
Processes conversations with Claude, handles tool execution, and manages the AI reasoning loop. This is where the "thinking" happens.
|
||||
|
||||
## Endpoints
|
||||
|
||||
| Endpoint | Method | Description |
|
||||
|----------|--------|-------------|
|
||||
| `/process` | POST | Process conversation with tool loop |
|
||||
| `/tool` | POST | Execute a single tool directly |
|
||||
| `/tools` | GET | List available tool definitions |
|
||||
| `/prompt` | GET | Get current system prompt |
|
||||
| `/health` | GET | Health check |
|
||||
|
||||
## Configuration
|
||||
|
||||
Environment variables (from `~/.env`):
|
||||
|
||||
| Variable | Description | Default |
|
||||
|----------|-------------|---------|
|
||||
| `ANTHROPIC_API_KEY` | Claude API key | Required |
|
||||
| `RATE_LIMIT` | Requests per minute | `10/minute` |
|
||||
|
||||
## Running
|
||||
|
||||
```bash
|
||||
# Activate venv
|
||||
source ~/.venv/bin/activate
|
||||
|
||||
# Run directly
|
||||
python main.py
|
||||
|
||||
# Or via systemd
|
||||
sudo systemctl start reason
|
||||
sudo systemctl status reason
|
||||
```
|
||||
|
||||
## Rate Limiting
|
||||
|
||||
Built-in rate limiting (10 req/min per IP) protects against API abuse. Configure via `RATE_LIMIT` env var.
|
||||
|
||||
## Tool System
|
||||
|
||||
The service supports a tool loop pattern:
|
||||
1. Receive conversation history
|
||||
2. Call Claude API
|
||||
3. If Claude requests tool use, execute tools
|
||||
4. Feed results back to Claude
|
||||
5. Repeat until Claude produces final response
|
||||
|
||||
Tools are defined in `tools.py` and include system operations available to the AI.
|
||||
|
||||
## Dependencies
|
||||
|
||||
- FastAPI
|
||||
- anthropic (Claude API client)
|
||||
- slowapi (rate limiting)
|
||||
Loading…
Add table
Add a link
Reference in a new issue