@@ -66,6 +66,9 @@ export class ChromeAdapter {
66
66
*/
67
67
async isAvailable ( request : GenerateContentRequest ) : Promise < boolean > {
68
68
if ( this . mode === 'only_in_cloud' ) {
69
+ logger . debug (
70
+ `On-device inference unavailable because mode is "only_in_cloud".`
71
+ ) ;
69
72
return false ;
70
73
}
71
74
@@ -77,10 +80,20 @@ export class ChromeAdapter {
77
80
}
78
81
79
82
// Applies prefer_on_device logic.
80
- return (
81
- availability === Availability . available &&
82
- ChromeAdapter . isOnDeviceRequest ( request )
83
- ) ;
83
+ if ( availability !== Availability . available ) {
84
+ logger . debug (
85
+ `On-device inference unavailable because availability is "${ availability } ".`
86
+ ) ;
87
+ return false ;
88
+ }
89
+ if ( ! ChromeAdapter . isOnDeviceRequest ( request ) ) {
90
+ logger . debug (
91
+ `On-device inference unavailable because request is incompatible.`
92
+ ) ;
93
+ return false ;
94
+ }
95
+
96
+ return true ;
84
97
}
85
98
86
99
/**
@@ -101,7 +114,6 @@ export class ChromeAdapter {
101
114
content . parts . map ( ChromeAdapter . toLanguageModelMessageContent )
102
115
)
103
116
) ;
104
- logger . warn ( 'Only generating content from first item in "contents" array.' ) ;
105
117
const text = await session . prompt ( contents ) ;
106
118
return ChromeAdapter . toResponse ( text ) ;
107
119
}
@@ -126,7 +138,6 @@ export class ChromeAdapter {
126
138
content . parts . map ( ChromeAdapter . toLanguageModelMessageContent )
127
139
)
128
140
) ;
129
- logger . warn ( 'Only generating content from first item in "contents" array.' ) ;
130
141
const stream = await session . promptStreaming ( contents ) ;
131
142
return ChromeAdapter . toStreamResponse ( stream ) ;
132
143
}
@@ -152,7 +163,9 @@ export class ChromeAdapter {
152
163
// Returns false if the request contains multiple roles, eg a chat history.
153
164
// TODO: remove this guard once LanguageModelMessage is supported.
154
165
if ( content . role !== 'user' ) {
155
- logger . debug ( 'Non-user role "${content.role}" rejected for on-device inference.' ) ;
166
+ logger . debug (
167
+ `Non-user role "${ content . role } " rejected for on-device inference.`
168
+ ) ;
156
169
return false ;
157
170
}
158
171
0 commit comments