language_model: Remove use_any_tool
method from LanguageModel
(#27930)
This PR removes the `use_any_tool` method from the `LanguageModel` trait. It was not being used anywhere, and doesn't really fit in our new tool use story. Release Notes: - N/A
This commit is contained in:
parent
da3383b10e
commit
889bc13b7d
12 changed files with 8 additions and 541 deletions
|
@ -356,61 +356,6 @@ impl LanguageModel for GoogleLanguageModel {
|
|||
});
|
||||
async move { Ok(future.await?.boxed()) }.boxed()
|
||||
}
|
||||
|
||||
fn use_any_tool(
|
||||
&self,
|
||||
request: LanguageModelRequest,
|
||||
name: String,
|
||||
description: String,
|
||||
schema: serde_json::Value,
|
||||
cx: &AsyncApp,
|
||||
) -> BoxFuture<'static, Result<futures::stream::BoxStream<'static, Result<String>>>> {
|
||||
let mut request = into_google(request, self.model.id().to_string());
|
||||
request.tools = Some(vec![google_ai::Tool {
|
||||
function_declarations: vec![google_ai::FunctionDeclaration {
|
||||
name: name.clone(),
|
||||
description,
|
||||
parameters: schema,
|
||||
}],
|
||||
}]);
|
||||
request.tool_config = Some(google_ai::ToolConfig {
|
||||
function_calling_config: google_ai::FunctionCallingConfig {
|
||||
mode: google_ai::FunctionCallingMode::Any,
|
||||
allowed_function_names: Some(vec![name]),
|
||||
},
|
||||
});
|
||||
let response = self.stream_completion(request, cx);
|
||||
self.request_limiter
|
||||
.run(async move {
|
||||
let response = response.await?;
|
||||
Ok(response
|
||||
.filter_map(|event| async move {
|
||||
match event {
|
||||
Ok(response) => {
|
||||
if let Some(candidates) = &response.candidates {
|
||||
for candidate in candidates {
|
||||
for part in &candidate.content.parts {
|
||||
if let google_ai::Part::FunctionCallPart(
|
||||
function_call_part,
|
||||
) = part
|
||||
{
|
||||
return Some(Ok(serde_json::to_string(
|
||||
&function_call_part.function_call.args,
|
||||
)
|
||||
.unwrap_or_default()));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
None
|
||||
}
|
||||
Err(e) => Some(Err(e)),
|
||||
}
|
||||
})
|
||||
.boxed())
|
||||
})
|
||||
.boxed()
|
||||
}
|
||||
}
|
||||
|
||||
pub fn into_google(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue