mirror of
https://github.com/foss42/apidash.git
synced 2025-12-02 18:57:05 +08:00
Deduplicated tool_templates
This commit is contained in:
@@ -1,112 +0,0 @@
|
|||||||
const GENERAL_ARG_PROPERTY_FORMAT_PY = """:ARG_NAME: {
|
|
||||||
"type": ":ARG_TYPE:",
|
|
||||||
"description: ":ARG_DESC:"
|
|
||||||
}""";
|
|
||||||
|
|
||||||
const GENERAL_PYTHON_TOOL_FORMAT = """
|
|
||||||
:FUNC:
|
|
||||||
|
|
||||||
api_tool = {
|
|
||||||
"function": func,
|
|
||||||
"definition": {
|
|
||||||
"name": ":TOOL_NAME:",
|
|
||||||
"description": ":TOOL_DESCRIPTION:",
|
|
||||||
"parameters": {
|
|
||||||
"type": "object",
|
|
||||||
"properties": :TOOL_PARAMS:,
|
|
||||||
"required": [:REQUIRED_PARAM_NAMES:],
|
|
||||||
"additionalProperties": False
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
__all__ = ["api_tool"]
|
|
||||||
""";
|
|
||||||
|
|
||||||
const GENERAL_JAVASCRIPT_TOOL_FORMAT = """
|
|
||||||
:FUNC:
|
|
||||||
|
|
||||||
const apiTool = {
|
|
||||||
function: func,
|
|
||||||
definition: {
|
|
||||||
type: 'function',
|
|
||||||
function: {
|
|
||||||
name: ':TOOL_NAME:',
|
|
||||||
description: ':TOOL_DESCRIPTION:',
|
|
||||||
parameters: {
|
|
||||||
type: 'object',
|
|
||||||
properties: :TOOL_PARAMS:,
|
|
||||||
required: [:REQUIRED_PARAM_NAMES:]
|
|
||||||
additionalProperties: false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
export { apiTool };
|
|
||||||
""";
|
|
||||||
|
|
||||||
const LANGCHAIN_PYTHON_TOOL_FORMAT = """
|
|
||||||
from langchain.tools import StructuredTool
|
|
||||||
|
|
||||||
:INPUT_SCHEMA:
|
|
||||||
|
|
||||||
:FUNC:
|
|
||||||
|
|
||||||
api_tool = StructuredTool.from_function(
|
|
||||||
func=func,
|
|
||||||
name=":TOOL_NAME:",
|
|
||||||
description=":TOOL_DESCRIPTION:",
|
|
||||||
args_schema=INPUT_SCHEMA,
|
|
||||||
)
|
|
||||||
__all__ = ["api_tool"]
|
|
||||||
""";
|
|
||||||
|
|
||||||
const LANGCHAIN_JAVASCRIPT_TOOL_FORMAT = """
|
|
||||||
import { DynamicStructuredTool } from 'langchain/tools';
|
|
||||||
import { z } from 'zod';
|
|
||||||
|
|
||||||
:INPUT_SCHEMA:
|
|
||||||
|
|
||||||
:FUNC:
|
|
||||||
|
|
||||||
const apiTool = new DynamicStructuredTool({
|
|
||||||
func: func,
|
|
||||||
name: ':TOOL_NAME:',
|
|
||||||
description: ':TOOL_DESCRIPTION:',
|
|
||||||
schema: INPUT_SCHEMA
|
|
||||||
});
|
|
||||||
|
|
||||||
export { apiTool };
|
|
||||||
""";
|
|
||||||
|
|
||||||
const MICROSOFT_AUTOGEN_TOOL_FORMAT = """
|
|
||||||
:FUNC:
|
|
||||||
|
|
||||||
api_tool = {
|
|
||||||
"function": func,
|
|
||||||
"name": ":TOOL_NAME:",
|
|
||||||
"description": ":TOOL_DESCRIPTION:"
|
|
||||||
}
|
|
||||||
|
|
||||||
__all__ = ["api_tool"]
|
|
||||||
""";
|
|
||||||
|
|
||||||
class APIToolGenTemplateSelector {
|
|
||||||
static String getTemplate(String language, String agent) {
|
|
||||||
if (language == 'PYTHON') {
|
|
||||||
if (agent == 'MICROSOFT_AUTOGEN') {
|
|
||||||
return MICROSOFT_AUTOGEN_TOOL_FORMAT;
|
|
||||||
} else if (agent == 'LANGCHAIN') {
|
|
||||||
return LANGCHAIN_PYTHON_TOOL_FORMAT;
|
|
||||||
}
|
|
||||||
return GENERAL_PYTHON_TOOL_FORMAT;
|
|
||||||
} else if (language == 'JAVASCRIPT') {
|
|
||||||
if (agent == 'LANGCHAIN') {
|
|
||||||
return LANGCHAIN_JAVASCRIPT_TOOL_FORMAT;
|
|
||||||
}
|
|
||||||
return GENERAL_JAVASCRIPT_TOOL_FORMAT;
|
|
||||||
}
|
|
||||||
return 'NO_TEMPLATE';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
import 'package:apidash/apitoolgen/tool_templates.dart';
|
|
||||||
import 'package:apidash/services/agentic_services/agent_caller.dart';
|
import 'package:apidash/services/agentic_services/agent_caller.dart';
|
||||||
import 'package:apidash/services/agentic_services/agents/agents.dart';
|
import 'package:apidash/services/agentic_services/agents/agents.dart';
|
||||||
|
import 'package:apidash/templates/tool_templates.dart';
|
||||||
import 'package:apidash_core/apidash_core.dart';
|
import 'package:apidash_core/apidash_core.dart';
|
||||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user