# 구글 크롬, 브라우저 내에 Gemini Nano AI 모델 `window.ai` 추가

> Clean Markdown view of GeekNews topic #15619. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=15619](https://news.hada.io/topic?id=15619)
- GeekNews Markdown: [https://news.hada.io/topic/15619.md](https://news.hada.io/topic/15619.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2024-07-01T09:45:13+09:00
- Updated: 2024-07-01T09:45:13+09:00
- Original source: [twitter.com/rauchg](https://twitter.com/rauchg/status/1806385778064564622)
- Points: 10
- Comments: 4

## Summary

구글 크롬 127 버전부터 `window.ai`를 통해 Gemini Nano AI 모델을 브라우저에서 사용할 수 있습니다. 챗봇 데모 사이트는 Next.js와 Vercel AI SDK를 이용하여 작성되었는데, 간단한 코드를 통해 AI 모델을 쉽게 활용할 수 있습니다. 다양한 활용도가 생길 것으로 기대합니다.

## Topic Body

- 크롬 127 버전부터 `window.ai` 를 통해서 Gemini Nano AI 모델을 브라우저에서 사용가능하게 제공   
- 챗봇 데모 사이트는 Next.js + Vercel AI SDK를 이용하여 작성되었음   
- 사용 예제   
```Javascript  
import { streamText } from "ai";  
import { chromeai } from "chrome-ai";  
  
const { textStream } = await streamText({  
  model: chromeai(),  
  prompt: "what is a large language model?",  
});   
```

## Comments



### Comment 27049

- Author: cosine20
- Created: 2024-07-08T09:43:30+09:00
- Points: 1

https://huggingface.co/wave-on-discord/gemini-nano  
참고로 모델 파일은 얼마전에 추출되었습니다.

### Comment 26827

- Author: edunga1
- Created: 2024-07-01T14:06:52+09:00
- Points: 1

https://developer.chrome.com/docs/ai/built-in  
사용해 보려면 별도 신청이 필요하네요.

### Comment 26826

- Author: cometkim
- Created: 2024-07-01T13:33:11+09:00
- Points: 1

https://github.com/explainers-by-googlers/prompt-api

### Comment 26819

- Author: neo
- Created: 2024-07-01T09:45:13+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=40834600) 
- Apple의 AI 전략을 웹 사용자에게도 적용할 수 있는 기능을 브라우저에 기본 탑재하는 것은 긍정적임
  - 로컬 모델을 사용하여 프라이버시와 보안을 강화할 수 있음
  - Google이 이를 잘 구현하면 매우 흥미로울 것임

- Vercel이 `window.ai`를 발표하면서 Chrome API 대신 자체 추상화를 보여줌
  - `window.ai` API는 매우 간단하여 래퍼가 필요하지 않음
  - 예제 코드:
    ```javascript
    const model = await window.ai.createTextSession();
    const result = await model.prompt("What do you think is the meaning of life?");
    ```

- Google의 API에 모델을 지정할 수 없는 것은 큰 결함임
  - 모델이 계속 업그레이드되면 테스트와 유지보수가 어려울 것임
  - 제안된 코드:
    ```javascript
    const supportedModels = await window.ai.getSupportedModels();
    if (supportedModels.includes("gemini-nano:0.4")) {
      const model = await window.ai.createTextSession("gemini-nano:0.4");
      // ...
    }
    ```

- 웹사이트가 사용자 CPU를 분산 LLM 처리에 사용하는 것은 문제임

- `window.ai` API에 대한 공개 문서가 부족함
  - Gemini Nano 모델이 어떤 버전인지 명확하지 않음

- 현재의 기술로는 instruct 모델이 base 모델보다 덜 유용함
  - LoRAs 실행, 온도 조절, 프롬프트 템플릿 설정 등의 기능이 필요함
  - 기술이 빠르게 변화하고 있어 브라우저에 통합하기에는 시기상조일 수 있음
  - 모델을 인터페이스와 분리하여 다른 로컬 모델도 사용할 수 있게 해야 함

- 표준화가 부족함
  - Microsoft의 WebNN과 같은 접근이 필요함
  - Apple의 Metal을 WebGPU로 노출하려는 시도처럼 다른 벤더들이 이를 실현해야 함

- Chrome의 "Create theme with AI" 기능이 랜덤 테마 선택과 차이가 없음
  - pixabay에서 랜덤 이미지를 반환하는 API를 만들 계획임

- 일반 목적의 모델은 크기가 클수록 더 유용함
  - 특정 작업에 맞게 미세 조정된 온디바이스 모델이 더 정확함

- `eval(window.ai("js code to remove all adds in the following page" + document.documentElement.outerHTML))`
