mirror of
https://github.com/meta-llama/llama-stack.git
synced 2025-08-15 14:08:00 +00:00
kill useless troubleshooting section
This commit is contained in:
parent
1e2bbd08da
commit
3d86bffdd4
3 changed files with 22 additions and 141 deletions
|
@ -31,5 +31,4 @@ For developers who need deeper understanding of the testing system internals:
|
||||||
:maxdepth: 1
|
:maxdepth: 1
|
||||||
|
|
||||||
testing/record-replay
|
testing/record-replay
|
||||||
testing/troubleshooting
|
|
||||||
```
|
```
|
||||||
|
|
|
@ -1,140 +0,0 @@
|
||||||
# Common Testing Issues
|
|
||||||
|
|
||||||
The most frequent problems when working with Llama Stack's testing system.
|
|
||||||
|
|
||||||
## Missing Recordings
|
|
||||||
|
|
||||||
**Error:**
|
|
||||||
```
|
|
||||||
RuntimeError: No recorded response found for request hash: abc123def456
|
|
||||||
Endpoint: /v1/chat/completions
|
|
||||||
Model: meta-llama/Llama-3.1-8B-Instruct
|
|
||||||
```
|
|
||||||
|
|
||||||
**Cause:** You're running a test that needs an API interaction that hasn't been recorded yet.
|
|
||||||
|
|
||||||
**Solution:**
|
|
||||||
```bash
|
|
||||||
# Record the missing interaction
|
|
||||||
LLAMA_STACK_TEST_INFERENCE_MODE=record \
|
|
||||||
LLAMA_STACK_TEST_RECORDING_DIR=./recordings \
|
|
||||||
pytest tests/integration/inference/test_your_test.py
|
|
||||||
```
|
|
||||||
|
|
||||||
## API Key Issues
|
|
||||||
|
|
||||||
**Error:**
|
|
||||||
```
|
|
||||||
HTTP 401: Invalid API key
|
|
||||||
```
|
|
||||||
|
|
||||||
**Cause:** Missing or invalid API key for the provider you're testing.
|
|
||||||
|
|
||||||
**Solution:**
|
|
||||||
```bash
|
|
||||||
# Set the required API key
|
|
||||||
export FIREWORKS_API_KEY=your_key_here
|
|
||||||
export OPENAI_API_KEY=your_key_here
|
|
||||||
|
|
||||||
# Verify it's set
|
|
||||||
echo $FIREWORKS_API_KEY
|
|
||||||
```
|
|
||||||
|
|
||||||
## Model Not Found
|
|
||||||
|
|
||||||
**Error:**
|
|
||||||
```
|
|
||||||
Model 'meta-llama/Llama-3.1-8B-Instruct' not found
|
|
||||||
```
|
|
||||||
|
|
||||||
**Cause:** Model isn't available with the current provider or hasn't been downloaded locally.
|
|
||||||
|
|
||||||
**For local providers (Ollama):**
|
|
||||||
```bash
|
|
||||||
# Download the model
|
|
||||||
ollama pull llama3.2:3b
|
|
||||||
|
|
||||||
# Use the downloaded model
|
|
||||||
pytest tests/integration/ --text-model=llama3.2:3b
|
|
||||||
```
|
|
||||||
|
|
||||||
**For remote providers:**
|
|
||||||
```bash
|
|
||||||
# Check what models are available
|
|
||||||
uv run llama stack list-models
|
|
||||||
|
|
||||||
# Use an available model
|
|
||||||
pytest tests/integration/ --text-model=available-model-id
|
|
||||||
```
|
|
||||||
|
|
||||||
## Server Connection Issues
|
|
||||||
|
|
||||||
**Error:**
|
|
||||||
```
|
|
||||||
requests.exceptions.ConnectionError: HTTPConnectionPool(host='localhost', port=5001)
|
|
||||||
```
|
|
||||||
|
|
||||||
**Cause:** Server isn't running or is on a different port.
|
|
||||||
|
|
||||||
**Solution:**
|
|
||||||
```bash
|
|
||||||
# Check if server is running
|
|
||||||
curl http://localhost:5001/v1/health
|
|
||||||
|
|
||||||
# Start server manually
|
|
||||||
llama stack run --template starter --port 5001
|
|
||||||
|
|
||||||
# Or use auto-server with custom port
|
|
||||||
pytest tests/integration/ --stack-config=server:starter:8322
|
|
||||||
```
|
|
||||||
|
|
||||||
## Request Hash Mismatches
|
|
||||||
|
|
||||||
**Problem:** Tests worked before but now fail with "No recorded response found" even though you didn't change the test.
|
|
||||||
|
|
||||||
**Cause:** Request parameters changed slightly (different whitespace, float precision, etc.). The hashing is intentionally precise.
|
|
||||||
|
|
||||||
**Solution:**
|
|
||||||
```bash
|
|
||||||
# Check what's in your recordings
|
|
||||||
sqlite3 recordings/index.sqlite "SELECT endpoint, model FROM recordings;"
|
|
||||||
|
|
||||||
# Re-record if the request legitimately changed
|
|
||||||
rm recordings/responses/old_hash.json
|
|
||||||
LLAMA_STACK_TEST_INFERENCE_MODE=record pytest tests/integration/your_test.py
|
|
||||||
```
|
|
||||||
|
|
||||||
## No Tests Collected
|
|
||||||
|
|
||||||
**Error:**
|
|
||||||
```
|
|
||||||
collected 0 items
|
|
||||||
```
|
|
||||||
|
|
||||||
**Cause:** No models specified for tests that require model fixtures.
|
|
||||||
|
|
||||||
**Solution:**
|
|
||||||
```bash
|
|
||||||
# Specify required models
|
|
||||||
pytest tests/integration/inference/ --text-model=llama3.2:3b
|
|
||||||
pytest tests/integration/embedding/ --embedding-model=all-MiniLM-L6-v2
|
|
||||||
```
|
|
||||||
|
|
||||||
## Getting Help
|
|
||||||
|
|
||||||
When reporting issues, include:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Environment info
|
|
||||||
uv run python --version
|
|
||||||
uv run python -c "import llama_stack; print(llama_stack.__version__)"
|
|
||||||
|
|
||||||
# Test command that failed
|
|
||||||
pytest tests/integration/your_test.py -v
|
|
||||||
|
|
||||||
# Stack configuration
|
|
||||||
echo $LLAMA_STACK_TEST_INFERENCE_MODE
|
|
||||||
ls -la recordings/
|
|
||||||
```
|
|
||||||
|
|
||||||
Most issues are solved by re-recording interactions or checking API keys/model availability.
|
|
|
@ -58,6 +58,28 @@ If you don't specify LLAMA_STACK_TEST_INFERENCE_MODE, by default it will be in "
|
||||||
FIREWORKS_API_KEY=your_key pytest -sv tests/integration/inference --stack-config=starter
|
FIREWORKS_API_KEY=your_key pytest -sv tests/integration/inference --stack-config=starter
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Re-recording tests
|
||||||
|
|
||||||
|
If you want to re-record tests, you can do so with:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
LLAMA_STACK_TEST_INFERENCE_MODE=record \
|
||||||
|
LLAMA_STACK_TEST_RECORDING_DIR=tests/integration/recordings \
|
||||||
|
uv run --group test \
|
||||||
|
pytest -sv tests/integration/ --stack-config=starter -k "<appropriate test name>"
|
||||||
|
```
|
||||||
|
|
||||||
|
This will record new API responses and overwrite the existing recordings.
|
||||||
|
|
||||||
|
|
||||||
|
```{warning}
|
||||||
|
|
||||||
|
You must be careful when re-recording. CI workflows assume a specific setup for running the replay-mode tests. You must re-record the tests in the same way as the CI workflows. This means
|
||||||
|
- you need Ollama running and serving some specific models.
|
||||||
|
- you are using the `starter` distribution.
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
### Next Steps
|
### Next Steps
|
||||||
|
|
||||||
- [Integration Testing Guide](integration/README.md) - Detailed usage and configuration
|
- [Integration Testing Guide](integration/README.md) - Detailed usage and configuration
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue