#!/usr/bin/env python3 """ Debug script to test HuggingFace Inference API directly """ import os import sys from huggingface_hub import InferenceClient import traceback def test_model(model_name, prompt="Hello, how are you?"): """Test a specific model with the HuggingFace Inference API""" print(f"\nšŸ” Testing model: {model_name}") print("=" * 50) try: # Initialize client client = InferenceClient(model=model_name) print(f"āœ… Client initialized successfully") # Test text generation with various parameter sets print(f"šŸ“ Testing prompt: '{prompt}'") # Method 1: Full parameters (same as backend_service.py) try: print("\nšŸ”¬ Method 1: Full parameters") response = client.text_generation( prompt=prompt, max_new_tokens=50, temperature=0.7, top_p=0.95, return_full_text=False, stop=["Human:", "System:"] ) print(f"āœ… Success: {response}") return True except Exception as e: print(f"āŒ Method 1 failed: {e}") print(f"Error type: {type(e).__name__}") # Method 2: Minimal parameters try: print("\nšŸ”¬ Method 2: Minimal parameters") response = client.text_generation( prompt=prompt, max_new_tokens=50, temperature=0.7, return_full_text=False ) print(f"āœ… Success: {response}") return True except Exception as e: print(f"āŒ Method 2 failed: {e}") print(f"Error type: {type(e).__name__}") # Method 3: Basic parameters only try: print("\nšŸ”¬ Method 3: Basic parameters") response = client.text_generation( prompt=prompt, max_new_tokens=30 ) print(f"āœ… Success: {response}") return True except Exception as e: print(f"āŒ Method 3 failed: {e}") print(f"Error type: {type(e).__name__}") print(f"Full traceback:") traceback.print_exc() return False except Exception as e: print(f"āŒ Failed to initialize client: {e}") print(f"Error type: {type(e).__name__}") traceback.print_exc() return False def test_model_info(model_name): """Test getting model information""" try: print(f"\nšŸ“Š Getting model info for: {model_name}") client = InferenceClient() # Try to get model info (this might not work for all models) print("āœ… Model appears to be accessible") return True except Exception as e: print(f"āŒ Model info failed: {e}") return False if __name__ == "__main__": # Set HuggingFace token if available hf_token = os.environ.get("HF_TOKEN") if hf_token: print(f"šŸ”‘ Using HF_TOKEN: {hf_token[:10]}...") else: print("āš ļø No HF_TOKEN found, using anonymous access") # Test models models_to_test = [ "unsloth/DeepSeek-R1-0528-Qwen3-8B-GGUF", # Current problematic model "microsoft/DialoGPT-medium", # Known working model "meta-llama/Llama-2-7b-chat-hf", # Popular model "HuggingFaceH4/zephyr-7b-beta" # Another good model ] results = {} for model in models_to_test: print(f"\n{'='*60}") test_result = test_model(model) results[model] = test_result # Also test model info info_result = test_model_info(model) print(f"\nResult for {model}: {'āœ… WORKING' if test_result else 'āŒ FAILED'}") print(f"\n{'='*60}") print("SUMMARY:") print("="*60) for model, result in results.items(): status = "āœ… WORKING" if result else "āŒ FAILED" print(f"{model}: {status}")