feat: system_prompt can be a function (#1571)
This commit is contained in:
@@ -17,7 +17,6 @@ local Utils = require("avante.utils")
|
|||||||
---@class avante.CoreConfig: avante.Config
|
---@class avante.CoreConfig: avante.Config
|
||||||
local M = {}
|
local M = {}
|
||||||
---@class avante.Config
|
---@class avante.Config
|
||||||
---@field custom_tools AvanteLLMToolPublic[]
|
|
||||||
M._defaults = {
|
M._defaults = {
|
||||||
debug = false,
|
debug = false,
|
||||||
---@alias ProviderName "claude" | "openai" | "azure" | "gemini" | "vertex" | "cohere" | "copilot" | "bedrock" | "ollama" | string
|
---@alias ProviderName "claude" | "openai" | "azure" | "gemini" | "vertex" | "cohere" | "copilot" | "bedrock" | "ollama" | string
|
||||||
@@ -34,6 +33,7 @@ M._defaults = {
|
|||||||
-- For most providers that we support we will determine this automatically.
|
-- For most providers that we support we will determine this automatically.
|
||||||
-- If you wish to use a given implementation, then you can override it here.
|
-- If you wish to use a given implementation, then you can override it here.
|
||||||
tokenizer = "tiktoken",
|
tokenizer = "tiktoken",
|
||||||
|
---@type string | (fun(): string) | nil
|
||||||
system_prompt = nil,
|
system_prompt = nil,
|
||||||
rag_service = {
|
rag_service = {
|
||||||
enabled = false, -- Enables the rag service, requires OPENAI_API_KEY to be set
|
enabled = false, -- Enables the rag service, requires OPENAI_API_KEY to be set
|
||||||
|
|||||||
@@ -128,8 +128,12 @@ function M.generate_prompts(opts)
|
|||||||
|
|
||||||
local system_prompt = Path.prompts.render_mode(mode, template_opts)
|
local system_prompt = Path.prompts.render_mode(mode, template_opts)
|
||||||
|
|
||||||
if Config.system_prompt ~= nil and Config.system_prompt ~= "" and Config.system_prompt ~= "null" then
|
if Config.system_prompt ~= nil then
|
||||||
system_prompt = system_prompt .. "\n\n" .. Config.system_prompt
|
local custom_system_prompt = Config.system_prompt
|
||||||
|
if type(custom_system_prompt) == "function" then custom_system_prompt = custom_system_prompt() end
|
||||||
|
if custom_system_prompt ~= nil and custom_system_prompt ~= "" and custom_system_prompt ~= "null" then
|
||||||
|
system_prompt = system_prompt .. "\n\n" .. custom_system_prompt
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
---@type AvanteLLMMessage[]
|
---@type AvanteLLMMessage[]
|
||||||
|
|||||||
Reference in New Issue
Block a user