summaryrefslogtreecommitdiffstats
path: root/src/config/agent.rs
diff options
context:
space:
mode:
authorsigoden <sigoden@gmail.com>2024-07-09 09:36:50 +0800
committerGitHub <noreply@github.com>2024-07-09 09:36:50 +0800
commit10a4c23c83b2101b049e3d94458310a9511eb18e (patch)
tree0317be3d80890feb5d01e198e8cbb1ba3eccbccc /src/config/agent.rs
parent8b0c648a73dc812b0fd22a60a2975de57b7dd02c (diff)
downloadaichat-10a4c23c83b2101b049e3d94458310a9511eb18e.tar.gz
feat: agent can reuse tools (#690)
Diffstat (limited to 'src/config/agent.rs')
-rw-r--r--src/config/agent.rs15
1 files changed, 6 insertions, 9 deletions
diff --git a/src/config/agent.rs b/src/config/agent.rs
index a6257ca..82f887c 100644
--- a/src/config/agent.rs
+++ b/src/config/agent.rs
@@ -148,12 +148,7 @@ impl RoleLike for Agent {
}
fn use_tools(&self) -> Option<String> {
- let common_tools = &self.definition.common_tools;
- if common_tools.is_empty() {
- None
- } else {
- Some(common_tools.join(","))
- }
+ self.config.use_tools.clone()
}
fn set_model(&mut self, model: &Model) {
@@ -169,7 +164,9 @@ impl RoleLike for Agent {
self.config.top_p = value;
}
- fn set_use_tools(&mut self, _value: Option<String>) {}
+ fn set_use_tools(&mut self, value: Option<String>) {
+ self.config.use_tools = value;
+ }
}
#[derive(Debug, Clone, Default, Deserialize, Serialize)]
@@ -182,6 +179,8 @@ pub struct AgentConfig {
#[serde(skip_serializing_if = "Option::is_none")]
pub top_p: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
+ use_tools: Option<String>,
+ #[serde(skip_serializing_if = "Option::is_none")]
pub dangerously_functions_filter: Option<String>,
}
@@ -206,8 +205,6 @@ pub struct AgentDefinition {
pub conversation_starters: Vec<String>,
#[serde(default)]
pub documents: Vec<String>,
- #[serde(default)]
- pub common_tools: Vec<String>,
}
impl AgentDefinition {