fix: filter tools in Ollama streaming when chat mode is enabled (#6118)
This commit is contained in:
@@ -254,11 +254,19 @@ impl Provider for OllamaProvider {
|
|||||||
messages: &[Message],
|
messages: &[Message],
|
||||||
tools: &[Tool],
|
tools: &[Tool],
|
||||||
) -> Result<MessageStream, ProviderError> {
|
) -> Result<MessageStream, ProviderError> {
|
||||||
|
let config = crate::config::Config::global();
|
||||||
|
let goose_mode = config.get_goose_mode().unwrap_or(GooseMode::Auto);
|
||||||
|
let filtered_tools = if goose_mode == GooseMode::Chat {
|
||||||
|
&[]
|
||||||
|
} else {
|
||||||
|
tools
|
||||||
|
};
|
||||||
|
|
||||||
let mut payload = create_request(
|
let mut payload = create_request(
|
||||||
&self.model,
|
&self.model,
|
||||||
system,
|
system,
|
||||||
messages,
|
messages,
|
||||||
tools,
|
filtered_tools,
|
||||||
&super::utils::ImageFormat::OpenAi,
|
&super::utils::ImageFormat::OpenAi,
|
||||||
)?;
|
)?;
|
||||||
payload["stream"] = json!(true);
|
payload["stream"] = json!(true);
|
||||||
|
|||||||
Reference in New Issue
Block a user