Integrate Novita AI as exclusive inference provider - Add Novita AI API integration with DeepSeek-R1-Distill-Qwen-7B model - Remove all local model dependencies - Optimize token allocation for user inputs and context - Add Anaconda environment setup files - Add comprehensive test scripts and documentation
927854c
| # Testing Novita AI Connection | |
| ## Quick Test Instructions | |
| ### Option 1: Run Test Script (Recommended) | |
| 1. **Ensure Python is available:** | |
| ```bash | |
| # Check Python version | |
| python --version | |
| # OR | |
| python3 --version | |
| # OR (Windows) | |
| py --version | |
| ``` | |
| 2. **Install dependencies if needed:** | |
| ```bash | |
| pip install openai>=1.0.0 | |
| pip install -r requirements.txt | |
| ``` | |
| 3. **Set environment variables:** | |
| ```bash | |
| # Windows (PowerShell) | |
| $env:NOVITA_API_KEY="your_api_key_here" | |
| $env:NOVITA_BASE_URL="https://api.novita.ai/dedicated/v1/openai" | |
| $env:NOVITA_MODEL="deepseek-ai/DeepSeek-R1-Distill-Qwen-7B:de-1a706eeafbf3ebc2" | |
| # Windows (CMD) | |
| set NOVITA_API_KEY=your_api_key_here | |
| set NOVITA_BASE_URL=https://api.novita.ai/dedicated/v1/openai | |
| set NOVITA_MODEL=deepseek-ai/DeepSeek-R1-Distill-Qwen-7B:de-1a706eeafbf3ebc2 | |
| # Linux/Mac | |
| export NOVITA_API_KEY=your_api_key_here | |
| export NOVITA_BASE_URL=https://api.novita.ai/dedicated/v1/openai | |
| export NOVITA_MODEL=deepseek-ai/DeepSeek-R1-Distill-Qwen-7B:de-1a706eeafbf3ebc2 | |
| ``` | |
| 4. **Run the test script:** | |
| ```bash | |
| python test_novita_connection.py | |
| # OR | |
| python3 test_novita_connection.py | |
| # OR (Windows) | |
| py test_novita_connection.py | |
| ``` | |
| ### Option 2: Manual Python Test | |
| Create a simple test file `quick_test.py`: | |
| ```python | |
| import os | |
| from openai import OpenAI | |
| # Get API key from environment | |
| api_key = os.getenv("NOVITA_API_KEY") | |
| base_url = os.getenv("NOVITA_BASE_URL", "https://api.novita.ai/dedicated/v1/openai") | |
| model = os.getenv("NOVITA_MODEL", "deepseek-ai/DeepSeek-R1-Distill-Qwen-7B:de-1a706eeafbf3ebc2") | |
| if not api_key: | |
| print("ERROR: NOVITA_API_KEY not set!") | |
| exit(1) | |
| print(f"Testing Novita AI connection...") | |
| print(f"Base URL: {base_url}") | |
| print(f"Model: {model}") | |
| client = OpenAI( | |
| base_url=base_url, | |
| api_key=api_key, | |
| ) | |
| try: | |
| response = client.chat.completions.create( | |
| model=model, | |
| messages=[{"role": "user", "content": "Say 'Hello' if you can hear me."}], | |
| max_tokens=20, | |
| temperature=0.6 | |
| ) | |
| if response.choices: | |
| print(f"\nβ SUCCESS! Connection working.") | |
| print(f"Response: {response.choices[0].message.content}") | |
| else: | |
| print("\nβ No response received") | |
| except Exception as e: | |
| print(f"\nβ ERROR: {e}") | |
| ``` | |
| Run it: | |
| ```bash | |
| python quick_test.py | |
| ``` | |
| ### Option 3: Test via API Endpoint | |
| If the Flask server is running: | |
| 1. **Start the server:** | |
| ```bash | |
| python flask_api_standalone.py | |
| ``` | |
| 2. **Test health endpoint:** | |
| ```bash | |
| curl http://localhost:7860/api/health | |
| # OR | |
| # Visit http://localhost:7860/api/health in browser | |
| ``` | |
| 3. **Test chat endpoint:** | |
| ```bash | |
| curl -X POST http://localhost:7860/api/chat \ | |
| -H "Content-Type: application/json" \ | |
| -d '{"message": "Hello", "session_id": "test-123"}' | |
| ``` | |
| ## Expected Test Results | |
| ### Successful Test Output: | |
| ``` | |
| ============================================================ | |
| NOVITA AI CONNECTION TEST | |
| ============================================================ | |
| ============================================================ | |
| TEST 1: Configuration Loading | |
| ============================================================ | |
| β Configuration loaded successfully | |
| Novita API Key: Set | |
| Base URL: https://api.novita.ai/dedicated/v1/openai | |
| Model: deepseek-ai/DeepSeek-R1-Distill-Qwen-7B:de-1a706eeafbf3ebc2 | |
| Temperature: 0.6 | |
| Force Reasoning: True | |
| User Input Max Tokens: 8000 | |
| Context Preparation Budget: 28000 | |
| ============================================================ | |
| TEST 2: OpenAI Package Check | |
| ============================================================ | |
| β OpenAI package is available | |
| ============================================================ | |
| TEST 3: Novita AI Client Initialization | |
| ============================================================ | |
| β Novita AI client initialized successfully | |
| Base URL: https://api.novita.ai/dedicated/v1/openai | |
| API Key: nv-**** | |
| ============================================================ | |
| TEST 4: Simple API Call | |
| ============================================================ | |
| Sending test request to: deepseek-ai/DeepSeek-R1-Distill-Qwen-7B:de-1a706eeafbf3ebc2 | |
| Prompt: 'Hello, this is a test. Please respond briefly.' | |
| β API call successful! | |
| Response length: XX characters | |
| Response preview: ... | |
| ============================================================ | |
| TEST 5: LLM Router Initialization | |
| ============================================================ | |
| Initializing LLM Router... | |
| β LLM Router initialized successfully | |
| Testing health check... | |
| β Health check result: {'provider': 'novita_api', 'status': 'healthy', ...} | |
| ============================================================ | |
| TEST 6: Inference Test | |
| ============================================================ | |
| Test prompt: What is the capital of France? Answer in one sentence. | |
| β Inference successful! | |
| Response length: XX characters | |
| Response: ... | |
| ============================================================ | |
| TEST SUMMARY | |
| ============================================================ | |
| CONFIG: β PASS | |
| PACKAGE: β PASS | |
| CLIENT: β PASS | |
| API_CALL: β PASS | |
| ROUTER: β PASS | |
| INFERENCE: β PASS | |
| Total: 6/6 tests passed | |
| π All tests passed! Novita AI connection is working correctly. | |
| ``` | |
| ## Troubleshooting | |
| ### Error: "NOVITA_API_KEY is required" | |
| **Solution:** Set the environment variable: | |
| ```bash | |
| export NOVITA_API_KEY=your_key_here | |
| ``` | |
| ### Error: "openai package not available" | |
| **Solution:** Install the package: | |
| ```bash | |
| pip install openai>=1.0.0 | |
| ``` | |
| ### Error: "Failed to initialize Novita AI client" | |
| **Solution:** | |
| - Verify API key is correct | |
| - Check base URL matches your endpoint | |
| - Verify network connectivity | |
| ### Error: "API call failed" | |
| **Solution:** | |
| - Check API key has proper permissions | |
| - Verify model ID matches your deployment | |
| - Check Novita AI service status | |