@@ -41,10 +41,8 @@ Then run `npx expo prebuild --clean` so the native Android project picks up the
4141import { adk } from ' @react-native-ai/adk'
4242import { generateText } from ' ai'
4343
44- const model = adk .languageModel ()
45-
4644const { text } = await generateText ({
47- model ,
45+ model: adk () ,
4846 prompt: ' What time is it in New York?' ,
4947})
5048```
@@ -72,7 +70,7 @@ Pass file parts in user messages using the standard AI SDK prompt format:
7270import { generateText } from ' ai'
7371
7472const { text } = await generateText ({
75- model: adk . languageModel (),
73+ model: adk (),
7674 messages: [
7775 {
7876 role: ' user' ,
@@ -99,16 +97,14 @@ Streaming structured JSON is not supported by ADK yet.
9997import { createAdkProvider } from ' @react-native-ai/adk'
10098import { generateText } from ' ai'
10199
102- const provider = createAdkProvider ({
100+ const adk = createAdkProvider ({
103101 apiKey: process .env .GOOGLE_API_KEY ,
104102 modelName: ' gemini-2.5-flash' ,
105103 instruction: ' You are a helpful assistant.' ,
106104})
107105
108- const model = provider .languageModel ()
109-
110106const { text } = await generateText ({
111- model ,
107+ model: adk () ,
112108 prompt: ' Summarize on-device AI in one sentence.' ,
113109})
114110```
@@ -121,8 +117,8 @@ Gemini Nano has two separate availability checks:
121117
122118| API | Label | Question |
123119| ------------------------------------ | --------------------- | ------------------------------------------ |
124- | ` provider .isNanoSupported()` | ** Device capability** | Can this device ever run Nano? |
125- | ` provider .isAvailable('genai-nano')` | ** Runtime readiness** | Can I call ` prepareNano() ` / generate now? |
120+ | ` adk .isNanoSupported()` | ** Device capability** | Can this device ever run Nano? |
121+ | ` adk .isAvailable('genai-nano')` | ** Runtime readiness** | Can I call ` prepareNano() ` / generate now? |
126122
127123If ` isNanoSupported() ` is ` false ` , ` isAvailable('genai-nano') ` is also ` false ` .
128124
@@ -144,26 +140,26 @@ See [ML Kit GenAI Prompt API](https://developers.google.com/ml-kit/genai) for de
144140``` ts
145141import { createAdkProvider } from ' @react-native-ai/adk'
146142
147- const provider = createAdkProvider ({
143+ const adk = createAdkProvider ({
148144 modelType: ' genai-nano' ,
149145 modelName: ' gemini-nano' ,
150146})
151147
152- const supported = await provider .isNanoSupported ()
148+ const supported = await adk .isNanoSupported ()
153149if (! supported ) {
154150 // Device lacks Gemini Nano / AICore support — hide from model picker
155151 return
156152}
157153
158- const ready = await provider .isAvailable (' genai-nano' )
154+ const ready = await adk .isAvailable (' genai-nano' )
159155if (! ready ) {
160156 // Device supports Nano but ML Kit is not ready yet (e.g. downloading)
161157 // Show disabled — do not mark as "Ready"
162158 return
163159}
164160
165- await provider .prepareNano ()
166- const model = provider . languageModel ()
161+ await adk .prepareNano ()
162+ const model = adk ()
167163```
168164
169165Both checks are cheap native calls (no model download). Safe to cache at app startup and re-check after resume.
@@ -188,13 +184,13 @@ const getCurrentTime = tool({
188184 }),
189185})
190186
191- const provider = createAdkProvider ({
187+ const adk = createAdkProvider ({
192188 apiKey: process .env .GOOGLE_API_KEY ,
193189 availableTools: { getCurrentTime },
194190})
195191
196192const { text } = await generateText ({
197- model: provider . languageModel (),
193+ model: adk (),
198194 tools: { getCurrentTime },
199195 prompt: ' What time is it in Warsaw?' ,
200196})
0 commit comments