mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-06-05 21:59:27 +02:00
Remove tool calling for Cohere v1
This commit is contained in:
@ -522,76 +522,6 @@ function convertTextCompletionPrompt(messages) {
|
||||
return messageStrings.join('\n') + '\nassistant:';
|
||||
}
|
||||
|
||||
/**
|
||||
* Convert OpenAI Chat Completion tools to the format used by Cohere.
|
||||
* @param {object[]} tools OpenAI Chat Completion tool definitions
|
||||
*/
|
||||
function convertCohereTools(tools) {
|
||||
if (!Array.isArray(tools) || tools.length === 0) {
|
||||
return [];
|
||||
}
|
||||
|
||||
const jsonSchemaToPythonTypes = {
|
||||
'string': 'str',
|
||||
'number': 'float',
|
||||
'integer': 'int',
|
||||
'boolean': 'bool',
|
||||
'array': 'list',
|
||||
'object': 'dict',
|
||||
};
|
||||
|
||||
const cohereTools = [];
|
||||
|
||||
for (const tool of tools) {
|
||||
if (tool?.type !== 'function') {
|
||||
console.log(`Unsupported tool type: ${tool.type}`);
|
||||
continue;
|
||||
}
|
||||
|
||||
const name = tool?.function?.name;
|
||||
const description = tool?.function?.description;
|
||||
const properties = tool?.function?.parameters?.properties;
|
||||
const required = tool?.function?.parameters?.required;
|
||||
const parameters = {};
|
||||
|
||||
if (!name) {
|
||||
console.log('Tool name is missing');
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!description) {
|
||||
console.log('Tool description is missing');
|
||||
}
|
||||
|
||||
if (!properties || typeof properties !== 'object') {
|
||||
console.log(`No properties found for tool: ${tool?.function?.name}`);
|
||||
continue;
|
||||
}
|
||||
|
||||
for (const property in properties) {
|
||||
const parameterDefinition = properties[property];
|
||||
const description = parameterDefinition.description || (parameterDefinition.enum ? JSON.stringify(parameterDefinition.enum) : '');
|
||||
const type = jsonSchemaToPythonTypes[parameterDefinition.type] || 'str';
|
||||
const isRequired = Array.isArray(required) && required.includes(property);
|
||||
parameters[property] = {
|
||||
description: description,
|
||||
type: type,
|
||||
required: isRequired,
|
||||
};
|
||||
}
|
||||
|
||||
const cohereTool = {
|
||||
name: tool.function.name,
|
||||
description: tool.function.description,
|
||||
parameter_definitions: parameters,
|
||||
};
|
||||
|
||||
cohereTools.push(cohereTool);
|
||||
}
|
||||
|
||||
return cohereTools;
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
convertClaudePrompt,
|
||||
convertClaudeMessages,
|
||||
@ -599,6 +529,5 @@ module.exports = {
|
||||
convertTextCompletionPrompt,
|
||||
convertCohereMessages,
|
||||
convertMistralMessages,
|
||||
convertCohereTools,
|
||||
convertAI21Messages,
|
||||
};
|
||||
|
Reference in New Issue
Block a user