62 lines
2.1 KiB
Python
62 lines
2.1 KiB
Python
#!/usr/bin/env python3
|
|
# -*- coding: utf-8 -*-
|
|
"""
|
|
Test Dify API response to see what's being returned
|
|
"""
|
|
|
|
import sys
|
|
import os
|
|
sys.path.insert(0, os.path.join(os.path.dirname(__file__), 'app'))
|
|
|
|
from app import create_app
|
|
from app.services.dify_client import DifyClient
|
|
|
|
def test_dify_response():
|
|
"""Test what the Dify client actually returns"""
|
|
app = create_app()
|
|
|
|
with app.app_context():
|
|
client = DifyClient()
|
|
|
|
test_text = "1、目的"
|
|
print(f"Testing translation of: '{test_text}'")
|
|
print(f"From: zh-cn -> To: en")
|
|
|
|
try:
|
|
result = client.translate_text(
|
|
text=test_text,
|
|
source_language="zh-cn",
|
|
target_language="en",
|
|
user_id=1,
|
|
job_id=1
|
|
)
|
|
|
|
print(f"\nDify API Response:")
|
|
for key, value in result.items():
|
|
if key == 'metadata':
|
|
print(f" {key}: {type(value).__name__} with {len(value) if isinstance(value, dict) else 'N/A'} items")
|
|
for mk, mv in value.items() if isinstance(value, dict) else []:
|
|
print(f" {mk}: {mv}")
|
|
else:
|
|
print(f" {key}: {repr(value)}")
|
|
|
|
# Check if translated_text exists and what it contains
|
|
translated_text = result.get('translated_text', 'NOT FOUND')
|
|
print(f"\nTranslated text: {repr(translated_text)}")
|
|
|
|
if translated_text == test_text:
|
|
print("⚠️ WARNING: Translation is identical to source text!")
|
|
elif translated_text == 'NOT FOUND':
|
|
print("❌ ERROR: No translated_text in response!")
|
|
elif not translated_text.strip():
|
|
print("❌ ERROR: Translated text is empty!")
|
|
else:
|
|
print("✅ Translation looks different from source")
|
|
|
|
except Exception as e:
|
|
print(f"ERROR: {e}")
|
|
import traceback
|
|
traceback.print_exc()
|
|
|
|
if __name__ == "__main__":
|
|
test_dify_response() |