Files
Document_Translator/test_dify_response.py
beabigegg b11a8272c4 2ND
2025-09-02 13:11:48 +08:00

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()