@@ -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
/**
@@ -98,7 +111,6 @@ export class ChromeAdapter {
98
111
const contents = await Promise . all (
99
112
request . contents [ 0 ] . parts . map ( ChromeAdapter . toLanguageModelMessageContent )
100
113
) ;
101
- logger . warn ( 'Only generating content from first item in "contents" array.' ) ;
102
114
const text = await session . prompt ( contents ) ;
103
115
return ChromeAdapter . toResponse ( text ) ;
104
116
}
@@ -120,7 +132,6 @@ export class ChromeAdapter {
120
132
const contents = await Promise . all (
121
133
request . contents [ 0 ] . parts . map ( ChromeAdapter . toLanguageModelMessageContent )
122
134
) ;
123
- logger . warn ( 'Only generating content from first item in "contents" array.' ) ;
124
135
const stream = await session . promptStreaming ( contents ) ;
125
136
return ChromeAdapter . toStreamResponse ( stream ) ;
126
137
}
@@ -146,7 +157,9 @@ export class ChromeAdapter {
146
157
// Returns false if the request contains multiple roles, eg a chat history.
147
158
// TODO: remove this guard once LanguageModelMessage is supported.
148
159
if ( content . role !== 'user' ) {
149
- logger . debug ( 'Non-user role "${content.role}" rejected for on-device inference.' ) ;
160
+ logger . debug (
161
+ `Non-user role "${ content . role } " rejected for on-device inference.`
162
+ ) ;
150
163
return false ;
151
164
}
152
165
0 commit comments