긴 컨텍스트 JSON 번역과 ChatGPT
최신 ChatGPT 모델과 JSON 모드를 사용하여 긴 컨텍스트가 포함된 JSON 객체를 번역하고 출력을 JSON으로 스트리밍하는 방법을 배워보세요.
최신 ChatGPT 모델과 JSON 모드를 사용하여 긴 컨텍스트가 포함된 JSON 파일을 번역하고 출력을 JSON으로 스트리밍하는 방법을 배워보세요.
소개
우리가 마지막으로 ChatGPT를 이용한 효율적인 국제화 게시물을 올린 이후로 꽤 시간이 지났습니다. 여기서 우리는 JSON 객체를 번역하는 방법을 보여주었습니다. 모델이 발전하면서 컨텍스트 창이 길어지고, 최대 출력 토큰이 증가하며, JSON 모드와 같은 새로운 기능이 개발자 경험을 더욱 향상시키면서 번역 기능이 크게 개선되었습니다.
최대 출력 토큰 증가
다음은 마지막 두 모델 버전의 빠른 비교입니다:
모델 | 설명 | 컨텍스트 창 | 최대 출력 토큰 | 훈련 데이터 |
---|---|---|---|---|
gpt-4o-2024-05-13 | gpt-4o는 현재 이 버전을 가리킵니다. | 128,000 토큰 | 4,096 토큰 | 2023년 10월까지 |
gpt-4o-2024-08-06 | 구조화된 출력 지원하는 최신 스냅샷 | 128,000 토큰 | 16,384 토큰 | 2023년 10월까지 |
가장 큰 변화는 최대 출력 토큰이 4,096에서 16,384로 증가했다는 점입니다. 번역의 출력은 일반적으로 입력과 비슷하거나 더 길기 때문에 번역 시나리오에 완벽합니다. 한편, 이전의 32K 토큰 모델에 비해 가격이 내려갔습니다(비쌌습니다).
JSON 모드
이름이 시사하듯이, JSON 모드는 출력이 유효한 JSON 객체가 되도록 보장하고자 할 때 매우 유용합니다. 새로운 모델에서는 구조화된 출력을 사용하여 출력 JSON 객체의 스키마를 정의할 수도 있습니다.
시작하기
초기화
이 게시물에서는 OpenAI의 Node.js SDK v4.56.0을 사용하여 데모를 진행합니다. 원하는 다른 방법이나 언어를 사용해도 좋습니다.
먼저 OpenAI 클라이언트를 초기화해야 합니다:
긴 컨텍스트 번역을 위해 스트리밍 모드를 사용하는 것을 강력히 추천합니다. 이는 더욱 효율적이며(예를 들어, 한 요청에 1분이 걸리지 않음), 출력을 받기 위해 오래 기다릴 필요가 없습니다. 코드는 다음과 같을 것입니다:
프롬프트 작성하기
system
역할을 사용하여 모델의 작업을 지시할 수 있습니다:
"es"를 목표 지역 코드로 바꾸는 것을 잊지 마세요. 우리의 경험에 따르면, 더 좋은 출력과 적은 인간 개입을 위해 모델에게 알려줘야 하는 몇 가지 지침이 있습니다:
왜 마지막 지침이 필요한지 궁금할 것입니다. 다음은 OpenAI의 설명입니다 참고:
JSON 모드를 사용할 때는 대화 중 일부 메시지를 통해 항상 모델에게 JSON을 생성하도록 지시해야 합니다. 시스템 메시지를 통해 명시적으로 JSON을 생성하라는 지침을 포함하지 않으면 무한히 공백 스트림을 생성할 수 있으며 요청이 토큰 한도에 도달할 때까지 계속될 수 있습니다.
위 지침으로 번역할 JSON 객체를 user
역할에 있는 다음 메시지에 추가할 수 있습니다. 지금까지 구성한 내용을 정리합시다:
출력 처리하기
스트리밍 모드를 사용하고 있기 때문에 스트리밍 스타일로 출력을 처리해야 합니다. 다음은 예제입니다:
결론
이것으로 모든 과정이 끝났습니다! 새로운 ChatGPT 모델 덕분에 JSON 번역의 효율성이 더욱 개선되었으며, 번역 품질 또한 향상되었습니다. 이번 글이 ChatGPT와 JSON 번역에 대한 새로운 통찰을 얻는 데 도움이 되길 바랍니다. 다음 게시물에서 만나요!