게시일: 2025년 9월 12일
| 설명하듯이 | 웹 | 확장 프로그램 | Chrome 상태 | 의도 |
|---|---|---|---|---|
| GitHub | View | 실험 의도 |
교정은 문법, 맞춤법, 구두점의 오류를 찾아 수정하는 프로세스입니다. 브라우저와 운영체제는 점점 더 Google Docs와 같은 작성 도구에 교정 기능을 제공하고 있습니다.
Proofreader API를 사용하면 기본 제공 AI를 사용하여 웹 애플리케이션 또는 확장 프로그램에 대화형 교정 기능을 제공할 수 있습니다. 이 API는 다음과 같은 기능을 제공합니다.
- 수정: 문법, 맞춤법, 구두점에 대한 사용자 입력을 수정합니다.
- 라벨: 오류 유형별로 각 수정을 라벨링합니다.
- 설명: 오류가 무엇인지 또는 올바른 것이 필요한 이유를 정의합니다. 일반 언어로.
사용 사례
Proofreader API를 사용하려는 데는 여러 가지 이유가 있습니다. 예를 들면 다음과 같습니다.
- 게시물이 제출되기 전에 포럼 메시지, 기사에 대한 댓글, 이메일에 수정을 제안합니다.
- 활성 메모 작성 중에 수정을 제공합니다.
사용 사례가 누락되었나요? 사전 체험 프로그램에 참여하여 의견을 공유하세요.
시작하기
Chrome 141~145에서 실행되는 Proofreader API 오리진 트라이얼에 참여하세요.
하드웨어 요구사항 검토
Chrome에서 이러한 API를 사용하여 기능을 운영하는 개발자와 사용자에게는 다음과 같은 요구사항이 있습니다. 브라우저마다 운영 요구사항이 다를 수 있습니다.
언어 감지기 및 Translator API는 데스크톱의 Chrome에서 작동합니다. 이러한 API는 휴대기기에서 작동하지 않습니다.
프롬프트 API, Summarizer API, Writer API, Rewriter API, 및 Proofreader API는 다음 조건이 충족될 때 Chrome에서 작동합니다.
- 운영체제: Windows 10 또는 11, macOS 13+ (Ventura 이상), Linux 또는 Chromebook Plus 기기의 ChromeOS (플랫폼 16389.0.0 이상) Chromebook Plus 기기가 아닌 기기의 Android용 Chrome, iOS, ChromeOS는 아직 파운데이션 모델을 사용하는 API에서 지원되지 않습니다.
- 저장용량: Chrome 프로필이 포함된 볼륨에 최소 22GB의 여유 공간
- GPU 또는 CPU: 기본 제공 모델은 GPU 또는 CPU로 실행할 수 있습니다.
- GPU: VRAM이 4GB보다 엄격하게 많음
- CPU: RAM 16GB 이상, CPU 코어 4개 이상
- 참고: 오디오 입력이 있는 프롬프트 API에는 GPU가 필요합니다.
- 네트워크: 무제한 데이터 또는 데이터 전송량 제한이 없는 연결 Wi-Fi 및 이더넷 연결은 기본적으로 데이터 전송량 제한이 없는 반면, 셀룰러 연결은 데이터 전송량 제한이 있는 경우가 많습니다.
Gemini Nano의 정확한 크기는 브라우저에서 모델을 업데이트할 때 다를 수 있습니다. 현재 크기를 확인하려면 chrome://on-device-internals를 방문하세요.
localhost에 지원 추가
기본 제공 AI API는 모두 Chrome의 localhost에서 사용할 수 있습니다. 다음 플래그를 사용 설정됨으로 설정합니다.
chrome://flags/#proofreader-api
그런 다음 다시 시작 을 클릭하거나 Chrome을 다시 시작합니다. 오류가 발생하면 localhost 문제를 해결하세요.
오리진 트라이얼 가입
Proofreader API를 사용하려면 다음 단계를 따르세요.
- Proofreader API 오리진 트라이얼로 이동합니다.
- 등록 을 클릭하고 양식을 작성합니다. 웹 오리진 필드에
오리진 또는
확장 프로그램 ID
chrome-extension://YOUR_EXTENSION_ID를 제공합니다. - 제출하려면 등록 을 클릭합니다.
- 제공된 토큰을 복사하여 오리진의 모든 참여 웹페이지에 추가하거나 확장 프로그램 매니페스트에 포함합니다.
- 확장 프로그램을 빌드하는 경우 확장 프로그램 오리진 트라이얼 안내를 따르세요.
- Proofreader API 사용을 시작합니다.
오리진 트라이얼을 시작하는 방법을 자세히 알아보세요.
Proofreader API 사용
모델을 사용할 준비가 되었는지 확인하려면
Proofreader.availability()를 호출합니다.
에 대한 응답이 availability()인 경우 다운로드 진행률을 수신 대기하고 사용자에게 알립니다. 다운로드에 시간이 걸릴 수 있습니다."downloadable"
const options = {
expectedInputLanguages: ['en'],
};
const available = if (Proofreader.availability("downloadable") === true);
다운로드를 트리거하고 교정기를 인스턴스화하려면
사용자 활성화를 확인합니다. 그런 다음 비동기 Proofreader.create() 함수를 호출합니다.
const session = await Proofreader.create({
monitor(m) {
m.addEventListener('downloadprogress', (e) => {
console.log(`Downloaded ${e.loaded * 100}%`);
});
},
...options,
});
Proofreader 객체 만들기
교정기를 만들려면 Proofreader.create() 함수를 사용합니다.
const proofreader = await Proofreader.create({
expectedInputLanguages: ["en"],
monitor(m) {
m.addEventListener("downloadprogress", e => {
console.log(Downloaded ${e.loaded * 100}%);
});
}
};
create() 메서드에는 다음과 같은 옵션이 포함되어 있습니다.
expectedInputLanguages: 예상 입력 언어의 배열입니다.
설명하듯이의 includeCorrectionTypes 및 includeCorrectionExplanation 옵션은 지원되지 않습니다.
사용자 텍스트 교정 시작
proofread()를 호출하여 입력 텍스트의 수정을 가져옵니다.
const proofreadResult = await proofreader.proofread(
'I seen him yesterday at the store, and he bought two loafs of bread.',
);
수정은 ProofreadResult 유형입니다. correctedInput 속성에서 완전히 수정된 입력을 찾고 corrections 배열에서 수정 목록을 찾습니다.
let inputRenderIndex = 0;
console.log(proofreadResult.correction);
for (const correction of proofreadResult.corrections) {
// Render part of input that has no error.
if (correction.startIndex > inputRenderIndex) {
const unchangedInput = document.createElement('span');
unchangedInput.textContent = input.substring(inputRenderIndex, correction.startIndex);
editBox.append(unchangedInput);
}
// Render part of input that has an error and highlight as such.
const errorInput = document.createElement('span');
errorInput.textContent = input.substring(correction.startIndex, correction.endIndex);
errorInput.classList.add('error');
editBox.append(errorInput);
inputRenderIndex = correction.endIndex;
}
// Render the rest of the input that has no error.
if (inputRenderIndex !== input.length){
const unchangedInput = document.createElement('span');
unchangedInput.textContent = input.substring(inputRenderIndex, input.length);
editBox.append(unchangedInput);
}
권한 정책, iframe, 웹 워커
기본적으로 Proofreader API는 최상위 창과 동일한 오리진 iframe에서만 사용할 수 있습니다. 권한 정책 allow="" 속성을 사용하여 API에 대한 액세스 권한을 교차 오리진 iframe에 위임할 수 있습니다.
<!--
The hosting site at https://main.example.com can grant a cross-origin iframe
at https://cross-origin.example.com/ access to the Proofreader API by
setting the `allow="proofreader"` attribute.
-->
<iframe src="https://cross-origin.example.com/" allow="proofreader"></iframe>
Proofreader API는 웹 워커에서 사용할 수 없습니다. 이는 권한 정책 상태를 확인하기 위해 각 워커에 대한 책임 있는 문서를 설정하는 것이 복잡하기 때문입니다.
데모
Proofreader API Playground를 사용해 보고 소스 코드를 확인하세요.
참여 및 의견 공유
Proofreader API는 현재 논의 중이며 향후 변경될 수 있습니다. 이 API를 사용해 보고 의견이 있다면 언제든지 알려주세요.
- 설명하듯이를 읽고, 질문을 제기하고 토론에 참여하세요.
- Chrome 상태에서 Chrome 구현을 검토하세요.
- Mozilla 표준 위치 및 WebKit 표준 위치를 읽어보세요.
- 사전 체험 프로그램에 참여하여 새로운 API를 미리 살펴보고 메일링 리스트에 액세스하세요.
- Chrome 구현에 관한 의견이 있으면 Chromium 버그를 신고하세요.
브라우저에서 대규모 언어 모델을 비롯한 모델을 사용하는 모든 기본 제공 AI API를 알아보세요.