TradingAgents/tests/verify_tei_native.py

58 lines
1.7 KiB
Python

#!/usr/bin/env python3
"""
Verify local embedding service using the native TEI /embed endpoint.
This uses pure HTTP requests without the OpenAI client.
"""
import sys
import requests
import json
import time
def test_native_endpoint():
url = "http://localhost:11434/embed"
headers = {"Content-Type": "application/json"}
print(f"Testing Native TEI Endpoint: {url}")
print("-" * 50)
test_inputs = [
"This is a test using the native /embed endpoint.",
"It should be slightly faster than the OpenAI-compatible one."
]
payload = {"inputs": test_inputs}
try:
start_time = time.time()
response = requests.post(url, headers=headers, json=payload)
response.raise_for_status()
duration = time.time() - start_time
embeddings = response.json()
print("✅ SUCCESS!")
print(f"Time taken: {duration:.4f}s")
print(f"Received {len(embeddings)} embeddings")
print(f"Dimensions: {len(embeddings[0])}")
print(f"First 5 values: {embeddings[0][:5]}")
print("-" * 50)
return True
except requests.exceptions.ConnectionError:
print("❌ FAILED: Connection refused.")
print("Make sure the container is running: ./startEmbedding.sh")
return False
except Exception as e:
print(f"❌ FAILED: {str(e)}")
if hasattr(e, 'response') and e.response:
print(f"Status: {e.response.status_code}")
print(f"Response: {e.response.text}")
return False
if __name__ == "__main__":
if test_native_endpoint():
sys.exit(0)
else:
sys.exit(1)