Private
Public Access
1
0

Update system prompt handling (again)

Add `api.ApplySystemPrompt`, renamed `GetSystemPrompt` to
`DefaultSystemPrompt`.
This commit is contained in:
2024-06-23 18:35:20 +00:00
parent ba7018af11
commit a43a91c6ff
7 changed files with 39 additions and 43 deletions

View File

@@ -25,20 +25,10 @@ func NewCmd(ctx *lmcli.Context) *cobra.Command {
return fmt.Errorf("No message was provided.")
}
var messages []api.Message
system := ctx.Config.GetSystemPrompt()
if system != "" {
messages = append(messages, api.Message{
Role: api.MessageRoleSystem,
Content: system,
})
}
messages = append(messages, api.Message{
messages := []api.Message{{
Role: api.MessageRoleUser,
Content: input,
})
}}
conversation, messages, err := ctx.Store.StartConversation(messages...)
if err != nil {

View File

@@ -25,20 +25,10 @@ func PromptCmd(ctx *lmcli.Context) *cobra.Command {
return fmt.Errorf("No message was provided.")
}
var messages []api.Message
system := ctx.Config.GetSystemPrompt()
if system != "" {
messages = append(messages, api.Message{
Role: api.MessageRoleSystem,
Content: system,
})
}
messages = append(messages, api.Message{
messages := []api.Message{{
Role: api.MessageRoleUser,
Content: input,
})
}}
_, err = cmdutil.Prompt(ctx, messages, nil)
if err != nil {

View File

@@ -22,11 +22,15 @@ func Prompt(ctx *lmcli.Context, messages []api.Message, callback func(api.Messag
return nil, err
}
requestParams := api.RequestParameters{
params := api.RequestParameters{
Model: m,
MaxTokens: *ctx.Config.Defaults.MaxTokens,
Temperature: *ctx.Config.Defaults.Temperature,
ToolBag: ctx.EnabledTools,
}
system := ctx.DefaultSystemPrompt()
if system != "" {
messages = api.ApplySystemPrompt(messages, system, false)
}
content := make(chan api.Chunk)
@@ -36,7 +40,7 @@ func Prompt(ctx *lmcli.Context, messages []api.Message, callback func(api.Messag
go ShowDelayedContent(content)
reply, err := provider.CreateChatCompletionStream(
context.Background(), requestParams, messages, content,
context.Background(), params, messages, content,
)
if reply.Content != "" {