안녕 이원석,
이 문제가 얼마나 답답할 수 있는지 이해합니다.
현재 겪고 계신 오류는 코드가 동기식 번역을 사용하고 있는데, 이 번역 유형에서 지원되지 않는 문서 형식을 전달하려고 했기 때문입니다.
동기식 번역은 다음과 같은 형식을 지원합니다: .txt, .txv, .tab, .csv, .html, .htm, .mhtml, .mht, .pptx, .xlsx, .docx, .msg, .xlf, .xliff.
지원되는 문서가 여기에 있습니다:
https://learn.microsoft.com/en-us/azure/ai-services/translator/document-translation/overview#synchronous-translation-1
동기식 번역을 진행하려면 .txt 파일을 사용하여 아래 코드를 사용하시면 됩니다:
import requests, os, mimetypes
API_KEY = "<API-KEY>"
ENDPOINT = "https://<YOUR-RESOURCE-NAME>.cognitiveservices.azure.com/"
INPUT_FILE = "<INPUT.txt>"
OUTPUT_FILE = "<OUTPUT.txt>"
headers = {
"Ocp-Apim-Subscription-Key": API_KEY,
}
params = {
"sourceLanguage": "en",
"targetLanguage": "es",
"api-version": "2024-05-01"
}
with open(INPUT_FILE, "rb") as f:
files = {
"document": (os.path.basename(INPUT_FILE), f, "application/pdf")
}
r = requests.post(
f"{ENDPOINT}translator/document:translate",
headers=headers,
params=params,
files=files
)
if r.status_code == 200:
open(OUTPUT_FILE, "wb").write(r.content)
print(f"Saved: {OUTPUT_FILE}")
else:
print(f"Error {r.status_code}: {r.text}")
PDF 파일의 경우 비동기식 배치 번역을 사용해야 하며, 현재는 로컬 파일이 아닌 Blob 저장소에서만 파일을 받을 수 있습니다.
이 답변을 채택하셔도 좋습니다.
Microsoft Q&A 포털에 문의해 주셔서 감사합니다.