CodeReview/backend/verify_llm.py

51 lines
1.7 KiB
Python
Raw Normal View History

import asyncio
import logging
import sys
import os
sys.path.append(os.getcwd())
# Configure logging to stdout
logging.basicConfig(
stream=sys.stdout,
level=logging.DEBUG,
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s'
)
print("Starting verification script...", flush=True)
try:
from app.services.llm.service import LLMService
print("Imported LLMService", flush=True)
except Exception as e:
print(f"Failed to import LLMService: {e}", flush=True)
sys.exit(1)
async def test_llm():
try:
print("Initializing LLMService...", flush=True)
service = LLMService()
print(f"Config: Provider={service.config.provider}, Model={service.config.model}", flush=True)
messages = [{"role": "user", "content": "Hello, are you working?"}]
print("Sending request...", flush=True)
accumulated = ""
async for chunk in service.chat_completion_stream(messages):
if chunk["type"] == "token":
print(f"Token: {chunk['content']}", end="", flush=True)
accumulated += chunk['content']
elif chunk["type"] == "done":
print(f"\nDone. Usage: {chunk.get('usage')}", flush=True)
print(f"Finish reason: {chunk.get('finish_reason')}", flush=True)
elif chunk["type"] == "error":
print(f"\nError: {chunk.get('error')}", flush=True)
print(f"\nFinal content: '{accumulated}'", flush=True)
except Exception as e:
print(f"\nException in test_llm: {e}", flush=True)
import traceback
traceback.print_exc()
if __name__ == "__main__":
asyncio.run(test_llm())