# CLI Commands The AI Imaging Agent provides a command-line interface for starting the application and managing the software catalog. ## Available Commands ### ai_agent chat Launch the chat-based user interface. ```bash ai_agent chat ``` **What it does**: 1. Performs startup catalog synchronization 2. Loads the FAISS index 3. Initializes the retrieval and agent pipelines 4. Launches the Gradio web interface on `http://127.0.0.1:7860` 5. Starts background catalog refresh (if configured) **Options**: None (all configuration via `.env` and `config.yaml`) **Example**: ```bash $ ai_agent chat [startup-sync] 150 → dataset/catalog.jsonl [startup-refresh] catalog unchanged; keeping existing FAISS index Running on local URL: http://127.0.0.1:7860 To create a public link, set `share=True` in `launch()`. ``` **Background Refresh**: If `SYNC_EVERY_HOURS` is set in `.env`, the catalog will auto-refresh in the background: ```dotenv SYNC_EVERY_HOURS=24 # Check every 24 hours ``` ### ai_agent sync Manually synchronize the software catalog and rebuild the index. ```bash ai_agent sync ``` **What it does**: 1. Loads the software catalog from `SOFTWARE_CATALOG` path 2. Embeds all tool descriptions using BGE-M3 3. Builds FAISS vector index 4. Saves artifacts to `artifacts/rag_index/` **When to use**: - After editing `catalog.jsonl` - After adding new tools - To force index rebuild - For testing catalog changes **Example**: ```bash $ ai_agent sync [sync] 150 → dataset/catalog.jsonl [sync] Embedding 150 tools... (5.2s) [sync] Building FAISS index... [sync] Saved to artifacts/rag_index/ [sync] Sync complete. ``` ## Command Aliases Both commands are available with either `ai_agent` or `ai-agent`: ```bash ai_agent chat # Works ai-agent chat # Also works ai_agent sync # Works ai-agent sync # Also works ``` ## Common Usage Patterns ### Development Workflow ```bash # Edit catalog vim dataset/catalog.jsonl # Sync catalog ai_agent sync # Test changes ai_agent chat ``` ### Testing & Development ```bash # Enable debug logging export LOGLEVEL_CONSOLE=DEBUG export LOG_PROMPTS=1 ai_agent chat ``` ## Environment Variables All configuration is via environment variables (see [Environment Variables Reference](environment.md)). ## Exit Codes - **0**: Success - **1**: General error (see logs) ## Troubleshooting ### Command Not Found If you see `command not found: ai_agent`: ```bash # Ensure package is installed pip install -e . # Check installation pip list | grep ai-agent # Try with python -m python -m ai_agent.cli chat ``` ### Port Already in Use If port 7860 is occupied: ```bash # Find and kill process lsof -ti:7860 | xargs kill -9 # Or change port in code (ui/app.py) ``` ### Catalog Load Error If catalog fails to load: ```bash # Verify catalog exists ls -lh dataset/catalog.jsonl # Verify JSONL syntax python -c "import json; [json.loads(l) for l in open('dataset/catalog.jsonl')]" # Check environment variable echo $SOFTWARE_CATALOG ``` ### Index Build Error If FAISS index building fails: ```bash # Check artifacts directory ls -lh artifacts/rag_index/ # Rebuild manually rm -rf artifacts/rag_index/ ai_agent sync ``` ## Next Steps - Configure [Environment Variables](environment.md) - Review the [Changelog](changelog.md) - Return to [Getting Started](../getting-started/quickstart.md)