参数化百度 appid
This commit is contained in:
		
							parent
							
								
									79ded43408
								
							
						
					
					
						commit
						545a8419a7
					
				@ -160,6 +160,16 @@ M._defaults = {
 | 
				
			|||||||
      temperature = 0,
 | 
					      temperature = 0,
 | 
				
			||||||
      max_tokens = 8000,
 | 
					      max_tokens = 8000,
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    ------@type AvanteSupportedProvider
 | 
				
			||||||
 | 
					    ---["baidu"] = {
 | 
				
			||||||
 | 
					    ---  __inherited_from = "openai",
 | 
				
			||||||
 | 
					    ---  model = "deekseek-r1",
 | 
				
			||||||
 | 
					    ---  timeout = 30000, -- Timeout in milliseconds
 | 
				
			||||||
 | 
					    ---  temperature = 1,
 | 
				
			||||||
 | 
					    ---  max_tokens = 8000,
 | 
				
			||||||
 | 
					    ---  endpoint = "https://qianfan.baidubce.com/v2/chat/completions",
 | 
				
			||||||
 | 
					    ---  appid = "app-QzGDePL0", -- 需要用户设置自己的百度APPID
 | 
				
			||||||
 | 
					    ---},
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  ---Specify the special dual_boost mode
 | 
					  ---Specify the special dual_boost mode
 | 
				
			||||||
  ---1. enabled: Whether to enable dual_boost mode. Default to false.
 | 
					  ---1. enabled: Whether to enable dual_boost mode. Default to false.
 | 
				
			||||||
@ -417,14 +427,31 @@ M.has_provider = function(provider) return M._options[provider] ~= nil or M.vend
 | 
				
			|||||||
---@param provider Provider
 | 
					---@param provider Provider
 | 
				
			||||||
---@return AvanteProviderFunctor
 | 
					---@return AvanteProviderFunctor
 | 
				
			||||||
M.get_provider = function(provider)
 | 
					M.get_provider = function(provider)
 | 
				
			||||||
 | 
					  local config = nil
 | 
				
			||||||
  if M._options[provider] ~= nil then
 | 
					  if M._options[provider] ~= nil then
 | 
				
			||||||
    return vim.deepcopy(M._options[provider], true)
 | 
					    config = vim.deepcopy(M._options[provider], true)
 | 
				
			||||||
  elseif M.vendors and M.vendors[provider] ~= nil then
 | 
					  elseif M.vendors and M.vendors[provider] ~= nil then
 | 
				
			||||||
    return vim.deepcopy(M.vendors[provider], true)
 | 
					    config = vim.deepcopy(M.vendors[provider], true)
 | 
				
			||||||
 | 
					    -- Handle inheritance
 | 
				
			||||||
 | 
					    if config.__inherited_from then
 | 
				
			||||||
 | 
					      local base_config = M.get_provider(config.__inherited_from)
 | 
				
			||||||
 | 
					      config = vim.tbl_deep_extend("force", base_config, config)
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
  else
 | 
					  else
 | 
				
			||||||
    error("Failed to find provider: " .. provider, 2)
 | 
					    error("Failed to find provider: " .. provider, 2)
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					  return config
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 | 
					---get supported providers
 | 
				
			||||||
 | 
					-- M.get_provider = function(provider)
 | 
				
			||||||
 | 
					--   if M._options[provider] ~= nil then
 | 
				
			||||||
 | 
					--     return vim.deepcopy(M._options[provider], true)
 | 
				
			||||||
 | 
					--   elseif M.vendors and M.vendors[provider] ~= nil then
 | 
				
			||||||
 | 
					--     return vim.deepcopy(M.vendors[provider], true)
 | 
				
			||||||
 | 
					--   else
 | 
				
			||||||
 | 
					--     error("Failed to find provider: " .. provider, 2)
 | 
				
			||||||
 | 
					--   end
 | 
				
			||||||
 | 
					-- end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
M.BASE_PROVIDER_KEYS = {
 | 
					M.BASE_PROVIDER_KEYS = {
 | 
				
			||||||
  "endpoint",
 | 
					  "endpoint",
 | 
				
			||||||
 | 
				
			|||||||
@ -284,7 +284,13 @@ M.parse_curl_args = function(provider, prompt_opts)
 | 
				
			|||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  -- Add appid header for baidu provider
 | 
					  -- Add appid header for baidu provider
 | 
				
			||||||
  if Config.provider == "baidu" then headers["appid"] = "app-QzGDePL0" end
 | 
					  if Config.provider == "baidu" then
 | 
				
			||||||
 | 
					    local baidu_config = Config.get_provider("baidu") or {}
 | 
				
			||||||
 | 
					    if not baidu_config.appid or baidu_config.appid == "" then
 | 
				
			||||||
 | 
					      error("Baidu provider requires 'appid' to be set in config")
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					    headers["appid"] = baidu_config.appid
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if P.env.require_api_key(base) then
 | 
					  if P.env.require_api_key(base) then
 | 
				
			||||||
    local api_key = provider.parse_api_key()
 | 
					    local api_key = provider.parse_api_key()
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user