firstAI / debug_inference.py
ndc8
update
3239c69
raw
history blame
4.13 kB
#!/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}")