File tree Expand file tree Collapse file tree 1 file changed +14
-2
lines changed
Expand file tree Collapse file tree 1 file changed +14
-2
lines changed Original file line number Diff line number Diff line change @@ -71,6 +71,7 @@ function ollamaModel(
7171 configSchema : GenerationCommonConfigSchema ,
7272 supports : {
7373 multiturn : ! model . type || model . type === 'chat' ,
74+ systemRole : true ,
7475 } ,
7576 } ,
7677 async ( input , streamingCallback ) => {
@@ -249,6 +250,7 @@ function toOllamaRequest(
249250 request . messages = messages ;
250251 } else {
251252 request . prompt = getPrompt ( input ) ;
253+ request . system = getSystemMessage ( input ) ;
252254 }
253255 return request ;
254256}
@@ -279,8 +281,18 @@ function readChunks(reader) {
279281 } ;
280282}
281283
282- function getPrompt ( input : GenerateRequest ) {
283- return input . messages . map ( ( m ) => m . content . map ( ( c ) => c . text ) . join ( ) ) . join ( ) ;
284+ function getPrompt ( input : GenerateRequest ) : string {
285+ return input . messages
286+ . filter ( ( m ) => m . role !== 'system' )
287+ . map ( ( m ) => m . content . map ( ( c ) => c . text ) . join ( ) )
288+ . join ( ) ;
289+ }
290+
291+ function getSystemMessage ( input : GenerateRequest ) : string {
292+ return input . messages
293+ . filter ( ( m ) => m . role === 'system' )
294+ . map ( ( m ) => m . content . map ( ( c ) => c . text ) . join ( ) )
295+ . join ( ) ;
284296}
285297
286298interface Message {
You can’t perform that action at this time.
0 commit comments