openai tools: TS signatures work well too at a fraction of the eval cost
This commit is contained in:
parent
19811a4011
commit
22fe86d8b8
2 changed files with 159 additions and 633 deletions
|
@ -608,7 +608,8 @@ class ThoughtfulStepsToolsChatHandler(ChatHandler):
|
||||||
content='\n'.join([
|
content='\n'.join([
|
||||||
'You are a function calling AI model.',
|
'You are a function calling AI model.',
|
||||||
'Here are the tools available:',
|
'Here are the tools available:',
|
||||||
_tools_schema_signatures(self.args.tools, indent=2),
|
# _tools_schema_signatures(self.args.tools, indent=2),
|
||||||
|
_tools_typescript_signatures(self.args.tools),
|
||||||
_please_respond_with_schema(
|
_please_respond_with_schema(
|
||||||
_make_bespoke_schema(
|
_make_bespoke_schema(
|
||||||
response_schema,
|
response_schema,
|
||||||
|
@ -713,9 +714,10 @@ def get_chat_handler(args: ChatHandlerArgs, parallel_calls: bool, tool_style: Op
|
||||||
|
|
||||||
_ts_converter = SchemaToTypeScriptConverter()
|
_ts_converter = SchemaToTypeScriptConverter()
|
||||||
|
|
||||||
|
# os.environ.get('NO_TS')
|
||||||
def _please_respond_with_schema(schema: dict) -> str:
|
def _please_respond_with_schema(schema: dict) -> str:
|
||||||
sig = json.dumps(schema, indent=2)
|
# sig = json.dumps(schema, indent=2)
|
||||||
# sig = _ts_converter.visit(schema)
|
sig = _ts_converter.visit(schema)
|
||||||
return f'Please respond in JSON format with the following schema: {sig}'
|
return f'Please respond in JSON format with the following schema: {sig}'
|
||||||
|
|
||||||
def _tools_typescript_signatures(tools: list[Tool]) -> str:
|
def _tools_typescript_signatures(tools: list[Tool]) -> str:
|
||||||
|
|
|
@ -68,101 +68,29 @@ Prompt:
|
||||||
```js
|
```js
|
||||||
<s>[INST] [SYS]You are a function calling AI model.
|
<s>[INST] [SYS]You are a function calling AI model.
|
||||||
Here are the tools available:
|
Here are the tools available:
|
||||||
{
|
namespace functions {
|
||||||
"type": "function",
|
// Adds two numbers
|
||||||
"function": {
|
type superSecretTool = (_: {
|
||||||
"name": "superSecretTool",
|
a: number,
|
||||||
"description": "Adds two numbers",
|
b: number
|
||||||
"parameters": {
|
}) => any;
|
||||||
"properties": {
|
|
||||||
"a": {
|
// Says something out loud (TTS)
|
||||||
"type": "integer"
|
type say = (_: {
|
||||||
},
|
// The text to say out loud
|
||||||
"b": {
|
text: string
|
||||||
"type": "integer"
|
}) => any;
|
||||||
}
|
} // namespace functions
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"a",
|
|
||||||
"b"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
{
|
|
||||||
"type": "function",
|
|
||||||
"function": {
|
|
||||||
"name": "say",
|
|
||||||
"description": "Says something out loud (TTS)",
|
|
||||||
"parameters": {
|
|
||||||
"properties": {
|
|
||||||
"text": {
|
|
||||||
"description": "The text to say out loud",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"text"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Please respond in JSON format with the following schema: {
|
Please respond in JSON format with the following schema: {
|
||||||
"type": "object",
|
thought_about_next_step_only: string,
|
||||||
"properties": {
|
next_step: {
|
||||||
"thought_about_next_step_only": {
|
tool_calls: [{
|
||||||
"title": "Thought about next step",
|
name: string,
|
||||||
"type": "string"
|
arguments: any
|
||||||
},
|
}][]
|
||||||
"next_step": {
|
}|{
|
||||||
"title": "Next Step: either a result or one or more tool calls to achieve the original goal",
|
result: number
|
||||||
"oneOf": [
|
}
|
||||||
{
|
|
||||||
"properties": {
|
|
||||||
"tool_calls": {
|
|
||||||
"prefixItems": [
|
|
||||||
{
|
|
||||||
"properties": {
|
|
||||||
"name": {
|
|
||||||
"title": "Name of the tool to call",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"arguments": {
|
|
||||||
"title": "Arguments to pass to the tool",
|
|
||||||
"type": "object"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"name",
|
|
||||||
"arguments"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"tool_calls"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"title": "Result (achieving original goal)",
|
|
||||||
"properties": {
|
|
||||||
"result": {
|
|
||||||
"type": "integer"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"result"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"original_goal",
|
|
||||||
"thought_about_next_step_only",
|
|
||||||
"next_step"
|
|
||||||
]
|
|
||||||
}[/SYS]
|
}[/SYS]
|
||||||
Add two numbers for the purpose of this test. [/INST]{
|
Add two numbers for the purpose of this test. [/INST]{
|
||||||
"thought_about_next_step_only": "I've thought a lot about this.",
|
"thought_about_next_step_only": "I've thought a lot about this.",
|
||||||
|
@ -195,101 +123,29 @@ Output format prompt:
|
||||||
```json
|
```json
|
||||||
You are a function calling AI model.
|
You are a function calling AI model.
|
||||||
Here are the tools available:
|
Here are the tools available:
|
||||||
{
|
namespace functions {
|
||||||
"type": "function",
|
// Adds two numbers
|
||||||
"function": {
|
type superSecretTool = (_: {
|
||||||
"name": "superSecretTool",
|
a: number,
|
||||||
"description": "Adds two numbers",
|
b: number
|
||||||
"parameters": {
|
}) => any;
|
||||||
"properties": {
|
|
||||||
"a": {
|
// Says something out loud (TTS)
|
||||||
"type": "integer"
|
type say = (_: {
|
||||||
},
|
// The text to say out loud
|
||||||
"b": {
|
text: string
|
||||||
"type": "integer"
|
}) => any;
|
||||||
}
|
} // namespace functions
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"a",
|
|
||||||
"b"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
{
|
|
||||||
"type": "function",
|
|
||||||
"function": {
|
|
||||||
"name": "say",
|
|
||||||
"description": "Says something out loud (TTS)",
|
|
||||||
"parameters": {
|
|
||||||
"properties": {
|
|
||||||
"text": {
|
|
||||||
"description": "The text to say out loud",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"text"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Please respond in JSON format with the following schema: {
|
Please respond in JSON format with the following schema: {
|
||||||
"type": "object",
|
thought_about_next_step_only: string,
|
||||||
"properties": {
|
next_step: {
|
||||||
"thought_about_next_step_only": {
|
tool_calls: [{
|
||||||
"title": "Thought about next step",
|
name: string,
|
||||||
"type": "string"
|
arguments: any
|
||||||
},
|
}][]
|
||||||
"next_step": {
|
}|{
|
||||||
"title": "Next Step: either a result or one or more tool calls to achieve the original goal",
|
result: number
|
||||||
"oneOf": [
|
}
|
||||||
{
|
|
||||||
"properties": {
|
|
||||||
"tool_calls": {
|
|
||||||
"prefixItems": [
|
|
||||||
{
|
|
||||||
"properties": {
|
|
||||||
"name": {
|
|
||||||
"title": "Name of the tool to call",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"arguments": {
|
|
||||||
"title": "Arguments to pass to the tool",
|
|
||||||
"type": "object"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"name",
|
|
||||||
"arguments"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"tool_calls"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"title": "Result (achieving original goal)",
|
|
||||||
"properties": {
|
|
||||||
"result": {
|
|
||||||
"type": "integer"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"result"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"original_goal",
|
|
||||||
"thought_about_next_step_only",
|
|
||||||
"next_step"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -337,9 +193,7 @@ thought-about-next-step-only-kv ::= "\"thought_about_next_step_only\"" space ":"
|
||||||
Prompt:
|
Prompt:
|
||||||
|
|
||||||
```js
|
```js
|
||||||
<s>[INST] [SYS]Please respond in JSON format with the following schema: {
|
<s>[INST] [SYS]Please respond in JSON format with the following schema: number[/SYS]
|
||||||
"type": "integer"
|
|
||||||
}[/SYS]
|
|
||||||
Add two numbers for the purpose of this test. [/INST]I've thought a lot about this.
|
Add two numbers for the purpose of this test. [/INST]I've thought a lot about this.
|
||||||
<tool_call>{"id": "call_531873", "type": "function", "function": {"name": "superSecretTool", "arguments": {"a": 2535, "b": 32222000403}}}</tool_call></s>[INST] [TOOL(name=superSecretTool, id=call_531873)]32222002938[/TOOL] [/INST]The sum of 2535 and 32222000403 is 42.</s>
|
<tool_call>{"id": "call_531873", "type": "function", "function": {"name": "superSecretTool", "arguments": {"a": 2535, "b": 32222000403}}}</tool_call></s>[INST] [TOOL(name=superSecretTool, id=call_531873)]32222002938[/TOOL] [/INST]The sum of 2535 and 32222000403 is 42.</s>
|
||||||
```
|
```
|
||||||
|
@ -348,9 +202,7 @@ Add two numbers for the purpose of this test. [/INST]I've thought a lot about th
|
||||||
Output format prompt:
|
Output format prompt:
|
||||||
|
|
||||||
```json
|
```json
|
||||||
Please respond in JSON format with the following schema: {
|
Please respond in JSON format with the following schema: number
|
||||||
"type": "integer"
|
|
||||||
}
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
@ -514,9 +366,7 @@ tool-call ::= "<tool" "\\"? "_" "call>" space (superSecretTool-tool-call | say-t
|
||||||
Prompt:
|
Prompt:
|
||||||
|
|
||||||
```js
|
```js
|
||||||
<s>[INST] [SYS]Please respond in JSON format with the following schema: {
|
<s>[INST] [SYS]Please respond in JSON format with the following schema: number[/SYS]
|
||||||
"type": "integer"
|
|
||||||
}[/SYS]
|
|
||||||
Add two numbers for the purpose of this test. [/INST]I've thought a lot about this.
|
Add two numbers for the purpose of this test. [/INST]I've thought a lot about this.
|
||||||
<tool_call>{"id": "call_531873", "type": "function", "function": {"name": "superSecretTool", "arguments": {"a": 2535, "b": 32222000403}}}</tool_call></s>[INST] [TOOL(name=superSecretTool, id=call_531873)]32222002938[/TOOL] [/INST]The sum of 2535 and 32222000403 is 42.</s>
|
<tool_call>{"id": "call_531873", "type": "function", "function": {"name": "superSecretTool", "arguments": {"a": 2535, "b": 32222000403}}}</tool_call></s>[INST] [TOOL(name=superSecretTool, id=call_531873)]32222002938[/TOOL] [/INST]The sum of 2535 and 32222000403 is 42.</s>
|
||||||
```
|
```
|
||||||
|
@ -525,9 +375,7 @@ Add two numbers for the purpose of this test. [/INST]I've thought a lot about th
|
||||||
Output format prompt:
|
Output format prompt:
|
||||||
|
|
||||||
```json
|
```json
|
||||||
Please respond in JSON format with the following schema: {
|
Please respond in JSON format with the following schema: number
|
||||||
"type": "integer"
|
|
||||||
}
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
@ -685,9 +533,7 @@ Prompt:
|
||||||
```js
|
```js
|
||||||
<|from|>system
|
<|from|>system
|
||||||
<|recipient|>all
|
<|recipient|>all
|
||||||
<|content|>Please respond in JSON format with the following schema: {
|
<|content|>Please respond in JSON format with the following schema: number
|
||||||
"type": "integer"
|
|
||||||
}
|
|
||||||
<|from|>user
|
<|from|>user
|
||||||
<|recipient|>all
|
<|recipient|>all
|
||||||
<|content|>Add two numbers for the purpose of this test.
|
<|content|>Add two numbers for the purpose of this test.
|
||||||
|
@ -709,9 +555,7 @@ Prompt:
|
||||||
Output format prompt:
|
Output format prompt:
|
||||||
|
|
||||||
```json
|
```json
|
||||||
Please respond in JSON format with the following schema: {
|
Please respond in JSON format with the following schema: number
|
||||||
"type": "integer"
|
|
||||||
}
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
@ -889,9 +733,7 @@ Prompt:
|
||||||
|
|
||||||
```js
|
```js
|
||||||
<|im_start|>system
|
<|im_start|>system
|
||||||
Please respond in JSON format with the following schema: {
|
Please respond in JSON format with the following schema: number<|im_end|>
|
||||||
"type": "integer"
|
|
||||||
}<|im_end|>
|
|
||||||
<|im_start|>user
|
<|im_start|>user
|
||||||
Add two numbers for the purpose of this test.<|im_end|>
|
Add two numbers for the purpose of this test.<|im_end|>
|
||||||
<|im_start|>assistant
|
<|im_start|>assistant
|
||||||
|
@ -909,9 +751,7 @@ The sum of 2535 and 32222000403 is 42.<|im_end|>
|
||||||
Output format prompt:
|
Output format prompt:
|
||||||
|
|
||||||
```json
|
```json
|
||||||
Please respond in JSON format with the following schema: {
|
Please respond in JSON format with the following schema: number
|
||||||
"type": "integer"
|
|
||||||
}
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
@ -1086,9 +926,7 @@ Prompt:
|
||||||
|
|
||||||
```js
|
```js
|
||||||
<|im_start|>system
|
<|im_start|>system
|
||||||
Please respond in JSON format with the following schema: {
|
Please respond in JSON format with the following schema: number<|im_end|>
|
||||||
"type": "integer"
|
|
||||||
}<|im_end|>
|
|
||||||
<|im_start|>user
|
<|im_start|>user
|
||||||
Add two numbers for the purpose of this test.<|im_end|>
|
Add two numbers for the purpose of this test.<|im_end|>
|
||||||
<|im_start|>assistant
|
<|im_start|>assistant
|
||||||
|
@ -1106,9 +944,7 @@ The sum of 2535 and 32222000403 is 42.<|im_end|>
|
||||||
Output format prompt:
|
Output format prompt:
|
||||||
|
|
||||||
```json
|
```json
|
||||||
Please respond in JSON format with the following schema: {
|
Please respond in JSON format with the following schema: number
|
||||||
"type": "integer"
|
|
||||||
}
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
@ -1134,101 +970,29 @@ Prompt:
|
||||||
<|im_start|>system
|
<|im_start|>system
|
||||||
You are a function calling AI model.
|
You are a function calling AI model.
|
||||||
Here are the tools available:
|
Here are the tools available:
|
||||||
{
|
namespace functions {
|
||||||
"type": "function",
|
// Adds two numbers
|
||||||
"function": {
|
type superSecretTool = (_: {
|
||||||
"name": "superSecretTool",
|
a: number,
|
||||||
"description": "Adds two numbers",
|
b: number
|
||||||
"parameters": {
|
}) => any;
|
||||||
"properties": {
|
|
||||||
"a": {
|
// Says something out loud (TTS)
|
||||||
"type": "integer"
|
type say = (_: {
|
||||||
},
|
// The text to say out loud
|
||||||
"b": {
|
text: string
|
||||||
"type": "integer"
|
}) => any;
|
||||||
}
|
} // namespace functions
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"a",
|
|
||||||
"b"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
{
|
|
||||||
"type": "function",
|
|
||||||
"function": {
|
|
||||||
"name": "say",
|
|
||||||
"description": "Says something out loud (TTS)",
|
|
||||||
"parameters": {
|
|
||||||
"properties": {
|
|
||||||
"text": {
|
|
||||||
"description": "The text to say out loud",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"text"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Please respond in JSON format with the following schema: {
|
Please respond in JSON format with the following schema: {
|
||||||
"type": "object",
|
thought_about_next_step_only: string,
|
||||||
"properties": {
|
next_step: {
|
||||||
"thought_about_next_step_only": {
|
tool_calls: [{
|
||||||
"title": "Thought about next step",
|
name: string,
|
||||||
"type": "string"
|
arguments: any
|
||||||
},
|
}][]
|
||||||
"next_step": {
|
}|{
|
||||||
"title": "Next Step: either a result or one or more tool calls to achieve the original goal",
|
result: number
|
||||||
"oneOf": [
|
}
|
||||||
{
|
|
||||||
"properties": {
|
|
||||||
"tool_calls": {
|
|
||||||
"prefixItems": [
|
|
||||||
{
|
|
||||||
"properties": {
|
|
||||||
"name": {
|
|
||||||
"title": "Name of the tool to call",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"arguments": {
|
|
||||||
"title": "Arguments to pass to the tool",
|
|
||||||
"type": "object"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"name",
|
|
||||||
"arguments"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"tool_calls"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"title": "Result (achieving original goal)",
|
|
||||||
"properties": {
|
|
||||||
"result": {
|
|
||||||
"type": "integer"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"result"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"original_goal",
|
|
||||||
"thought_about_next_step_only",
|
|
||||||
"next_step"
|
|
||||||
]
|
|
||||||
}<|im_end|>
|
}<|im_end|>
|
||||||
<|im_start|>user
|
<|im_start|>user
|
||||||
Add two numbers for the purpose of this test.<|im_end|>
|
Add two numbers for the purpose of this test.<|im_end|>
|
||||||
|
@ -1270,101 +1034,29 @@ Output format prompt:
|
||||||
```json
|
```json
|
||||||
You are a function calling AI model.
|
You are a function calling AI model.
|
||||||
Here are the tools available:
|
Here are the tools available:
|
||||||
{
|
namespace functions {
|
||||||
"type": "function",
|
// Adds two numbers
|
||||||
"function": {
|
type superSecretTool = (_: {
|
||||||
"name": "superSecretTool",
|
a: number,
|
||||||
"description": "Adds two numbers",
|
b: number
|
||||||
"parameters": {
|
}) => any;
|
||||||
"properties": {
|
|
||||||
"a": {
|
// Says something out loud (TTS)
|
||||||
"type": "integer"
|
type say = (_: {
|
||||||
},
|
// The text to say out loud
|
||||||
"b": {
|
text: string
|
||||||
"type": "integer"
|
}) => any;
|
||||||
}
|
} // namespace functions
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"a",
|
|
||||||
"b"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
{
|
|
||||||
"type": "function",
|
|
||||||
"function": {
|
|
||||||
"name": "say",
|
|
||||||
"description": "Says something out loud (TTS)",
|
|
||||||
"parameters": {
|
|
||||||
"properties": {
|
|
||||||
"text": {
|
|
||||||
"description": "The text to say out loud",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"text"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Please respond in JSON format with the following schema: {
|
Please respond in JSON format with the following schema: {
|
||||||
"type": "object",
|
thought_about_next_step_only: string,
|
||||||
"properties": {
|
next_step: {
|
||||||
"thought_about_next_step_only": {
|
tool_calls: [{
|
||||||
"title": "Thought about next step",
|
name: string,
|
||||||
"type": "string"
|
arguments: any
|
||||||
},
|
}][]
|
||||||
"next_step": {
|
}|{
|
||||||
"title": "Next Step: either a result or one or more tool calls to achieve the original goal",
|
result: number
|
||||||
"oneOf": [
|
}
|
||||||
{
|
|
||||||
"properties": {
|
|
||||||
"tool_calls": {
|
|
||||||
"prefixItems": [
|
|
||||||
{
|
|
||||||
"properties": {
|
|
||||||
"name": {
|
|
||||||
"title": "Name of the tool to call",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"arguments": {
|
|
||||||
"title": "Arguments to pass to the tool",
|
|
||||||
"type": "object"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"name",
|
|
||||||
"arguments"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"tool_calls"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"title": "Result (achieving original goal)",
|
|
||||||
"properties": {
|
|
||||||
"result": {
|
|
||||||
"type": "integer"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"result"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"original_goal",
|
|
||||||
"thought_about_next_step_only",
|
|
||||||
"next_step"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -1413,9 +1105,7 @@ Prompt:
|
||||||
|
|
||||||
```js
|
```js
|
||||||
<|im_start|>system
|
<|im_start|>system
|
||||||
Please respond in JSON format with the following schema: {
|
Please respond in JSON format with the following schema: number<|im_end|>
|
||||||
"type": "integer"
|
|
||||||
}<|im_end|>
|
|
||||||
<|im_start|>user
|
<|im_start|>user
|
||||||
Add two numbers for the purpose of this test.<|im_end|>
|
Add two numbers for the purpose of this test.<|im_end|>
|
||||||
<|im_start|>assistant
|
<|im_start|>assistant
|
||||||
|
@ -1433,9 +1123,7 @@ The sum of 2535 and 32222000403 is 42.<|im_end|>
|
||||||
Output format prompt:
|
Output format prompt:
|
||||||
|
|
||||||
```json
|
```json
|
||||||
Please respond in JSON format with the following schema: {
|
Please respond in JSON format with the following schema: number
|
||||||
"type": "integer"
|
|
||||||
}
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
@ -1536,9 +1224,7 @@ Prompt:
|
||||||
|
|
||||||
```js
|
```js
|
||||||
<|im_start|>system
|
<|im_start|>system
|
||||||
Please respond in JSON format with the following schema: {
|
Please respond in JSON format with the following schema: number<|im_end|>
|
||||||
"type": "integer"
|
|
||||||
}<|im_end|>
|
|
||||||
<|im_start|>user
|
<|im_start|>user
|
||||||
Add two numbers for the purpose of this test.<|im_end|>
|
Add two numbers for the purpose of this test.<|im_end|>
|
||||||
<|im_start|>assistant
|
<|im_start|>assistant
|
||||||
|
@ -1556,9 +1242,7 @@ The sum of 2535 and 32222000403 is 42.<|im_end|>
|
||||||
Output format prompt:
|
Output format prompt:
|
||||||
|
|
||||||
```json
|
```json
|
||||||
Please respond in JSON format with the following schema: {
|
Please respond in JSON format with the following schema: number
|
||||||
"type": "integer"
|
|
||||||
}
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
@ -1722,9 +1406,7 @@ tool-call ::= "<tool_call>" space (superSecretTool-tool-call | say-tool-call) s
|
||||||
Prompt:
|
Prompt:
|
||||||
|
|
||||||
```js
|
```js
|
||||||
<s>[INST] [SYS]Please respond in JSON format with the following schema: {
|
<s>[INST] [SYS]Please respond in JSON format with the following schema: number[/SYS]
|
||||||
"type": "integer"
|
|
||||||
}[/SYS]
|
|
||||||
Add two numbers for the purpose of this test. [/INST] I've thought a lot about this.
|
Add two numbers for the purpose of this test. [/INST] I've thought a lot about this.
|
||||||
<tool_call>{"id": "call_531873", "type": "function", "function": {"name": "superSecretTool", "arguments": {"a": 2535, "b": 32222000403}}}</tool_call> </s><s>[INST] [TOOL(name=superSecretTool, id=call_531873)]32222002938[/TOOL] [/INST] The sum of 2535 and 32222000403 is 42. </s>
|
<tool_call>{"id": "call_531873", "type": "function", "function": {"name": "superSecretTool", "arguments": {"a": 2535, "b": 32222000403}}}</tool_call> </s><s>[INST] [TOOL(name=superSecretTool, id=call_531873)]32222002938[/TOOL] [/INST] The sum of 2535 and 32222000403 is 42. </s>
|
||||||
```
|
```
|
||||||
|
@ -1733,9 +1415,7 @@ Add two numbers for the purpose of this test. [/INST] I've thought a lot about t
|
||||||
Output format prompt:
|
Output format prompt:
|
||||||
|
|
||||||
```json
|
```json
|
||||||
Please respond in JSON format with the following schema: {
|
Please respond in JSON format with the following schema: number
|
||||||
"type": "integer"
|
|
||||||
}
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
@ -1899,9 +1579,7 @@ tool-call ::= "<tool_call>" space (superSecretTool-tool-call | say-tool-call) s
|
||||||
Prompt:
|
Prompt:
|
||||||
|
|
||||||
```js
|
```js
|
||||||
<s>[INST] [SYS]Please respond in JSON format with the following schema: {
|
<s>[INST] [SYS]Please respond in JSON format with the following schema: number[/SYS]
|
||||||
"type": "integer"
|
|
||||||
}[/SYS]
|
|
||||||
Add two numbers for the purpose of this test. [/INST] I've thought a lot about this.
|
Add two numbers for the purpose of this test. [/INST] I've thought a lot about this.
|
||||||
<tool_call>{"id": "call_531873", "type": "function", "function": {"name": "superSecretTool", "arguments": {"a": 2535, "b": 32222000403}}}</tool_call> </s><s>[INST] [TOOL(name=superSecretTool, id=call_531873)]32222002938[/TOOL] [/INST] The sum of 2535 and 32222000403 is 42. </s>
|
<tool_call>{"id": "call_531873", "type": "function", "function": {"name": "superSecretTool", "arguments": {"a": 2535, "b": 32222000403}}}</tool_call> </s><s>[INST] [TOOL(name=superSecretTool, id=call_531873)]32222002938[/TOOL] [/INST] The sum of 2535 and 32222000403 is 42. </s>
|
||||||
```
|
```
|
||||||
|
@ -1910,9 +1588,7 @@ Add two numbers for the purpose of this test. [/INST] I've thought a lot about t
|
||||||
Output format prompt:
|
Output format prompt:
|
||||||
|
|
||||||
```json
|
```json
|
||||||
Please respond in JSON format with the following schema: {
|
Please respond in JSON format with the following schema: number
|
||||||
"type": "integer"
|
|
||||||
}
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
@ -1937,101 +1613,29 @@ Prompt:
|
||||||
```js
|
```js
|
||||||
<s>[INST] [SYS]You are a function calling AI model.
|
<s>[INST] [SYS]You are a function calling AI model.
|
||||||
Here are the tools available:
|
Here are the tools available:
|
||||||
{
|
namespace functions {
|
||||||
"type": "function",
|
// Adds two numbers
|
||||||
"function": {
|
type superSecretTool = (_: {
|
||||||
"name": "superSecretTool",
|
a: number,
|
||||||
"description": "Adds two numbers",
|
b: number
|
||||||
"parameters": {
|
}) => any;
|
||||||
"properties": {
|
|
||||||
"a": {
|
// Says something out loud (TTS)
|
||||||
"type": "integer"
|
type say = (_: {
|
||||||
},
|
// The text to say out loud
|
||||||
"b": {
|
text: string
|
||||||
"type": "integer"
|
}) => any;
|
||||||
}
|
} // namespace functions
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"a",
|
|
||||||
"b"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
{
|
|
||||||
"type": "function",
|
|
||||||
"function": {
|
|
||||||
"name": "say",
|
|
||||||
"description": "Says something out loud (TTS)",
|
|
||||||
"parameters": {
|
|
||||||
"properties": {
|
|
||||||
"text": {
|
|
||||||
"description": "The text to say out loud",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"text"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Please respond in JSON format with the following schema: {
|
Please respond in JSON format with the following schema: {
|
||||||
"type": "object",
|
thought_about_next_step_only: string,
|
||||||
"properties": {
|
next_step: {
|
||||||
"thought_about_next_step_only": {
|
tool_calls: [{
|
||||||
"title": "Thought about next step",
|
name: string,
|
||||||
"type": "string"
|
arguments: any
|
||||||
},
|
}][]
|
||||||
"next_step": {
|
}|{
|
||||||
"title": "Next Step: either a result or one or more tool calls to achieve the original goal",
|
result: number
|
||||||
"oneOf": [
|
}
|
||||||
{
|
|
||||||
"properties": {
|
|
||||||
"tool_calls": {
|
|
||||||
"prefixItems": [
|
|
||||||
{
|
|
||||||
"properties": {
|
|
||||||
"name": {
|
|
||||||
"title": "Name of the tool to call",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"arguments": {
|
|
||||||
"title": "Arguments to pass to the tool",
|
|
||||||
"type": "object"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"name",
|
|
||||||
"arguments"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"tool_calls"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"title": "Result (achieving original goal)",
|
|
||||||
"properties": {
|
|
||||||
"result": {
|
|
||||||
"type": "integer"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"result"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"original_goal",
|
|
||||||
"thought_about_next_step_only",
|
|
||||||
"next_step"
|
|
||||||
]
|
|
||||||
}[/SYS]
|
}[/SYS]
|
||||||
Add two numbers for the purpose of this test. [/INST] {
|
Add two numbers for the purpose of this test. [/INST] {
|
||||||
"thought_about_next_step_only": "I've thought a lot about this.",
|
"thought_about_next_step_only": "I've thought a lot about this.",
|
||||||
|
@ -2064,101 +1668,29 @@ Output format prompt:
|
||||||
```json
|
```json
|
||||||
You are a function calling AI model.
|
You are a function calling AI model.
|
||||||
Here are the tools available:
|
Here are the tools available:
|
||||||
{
|
namespace functions {
|
||||||
"type": "function",
|
// Adds two numbers
|
||||||
"function": {
|
type superSecretTool = (_: {
|
||||||
"name": "superSecretTool",
|
a: number,
|
||||||
"description": "Adds two numbers",
|
b: number
|
||||||
"parameters": {
|
}) => any;
|
||||||
"properties": {
|
|
||||||
"a": {
|
// Says something out loud (TTS)
|
||||||
"type": "integer"
|
type say = (_: {
|
||||||
},
|
// The text to say out loud
|
||||||
"b": {
|
text: string
|
||||||
"type": "integer"
|
}) => any;
|
||||||
}
|
} // namespace functions
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"a",
|
|
||||||
"b"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
{
|
|
||||||
"type": "function",
|
|
||||||
"function": {
|
|
||||||
"name": "say",
|
|
||||||
"description": "Says something out loud (TTS)",
|
|
||||||
"parameters": {
|
|
||||||
"properties": {
|
|
||||||
"text": {
|
|
||||||
"description": "The text to say out loud",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"text"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Please respond in JSON format with the following schema: {
|
Please respond in JSON format with the following schema: {
|
||||||
"type": "object",
|
thought_about_next_step_only: string,
|
||||||
"properties": {
|
next_step: {
|
||||||
"thought_about_next_step_only": {
|
tool_calls: [{
|
||||||
"title": "Thought about next step",
|
name: string,
|
||||||
"type": "string"
|
arguments: any
|
||||||
},
|
}][]
|
||||||
"next_step": {
|
}|{
|
||||||
"title": "Next Step: either a result or one or more tool calls to achieve the original goal",
|
result: number
|
||||||
"oneOf": [
|
}
|
||||||
{
|
|
||||||
"properties": {
|
|
||||||
"tool_calls": {
|
|
||||||
"prefixItems": [
|
|
||||||
{
|
|
||||||
"properties": {
|
|
||||||
"name": {
|
|
||||||
"title": "Name of the tool to call",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"arguments": {
|
|
||||||
"title": "Arguments to pass to the tool",
|
|
||||||
"type": "object"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"name",
|
|
||||||
"arguments"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"tool_calls"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"title": "Result (achieving original goal)",
|
|
||||||
"properties": {
|
|
||||||
"result": {
|
|
||||||
"type": "integer"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"result"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"original_goal",
|
|
||||||
"thought_about_next_step_only",
|
|
||||||
"next_step"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -2206,9 +1738,7 @@ thought-about-next-step-only-kv ::= "\"thought_about_next_step_only\"" space ":"
|
||||||
Prompt:
|
Prompt:
|
||||||
|
|
||||||
```js
|
```js
|
||||||
<s>[INST] [SYS]Please respond in JSON format with the following schema: {
|
<s>[INST] [SYS]Please respond in JSON format with the following schema: number[/SYS]
|
||||||
"type": "integer"
|
|
||||||
}[/SYS]
|
|
||||||
Add two numbers for the purpose of this test. [/INST] I've thought a lot about this.
|
Add two numbers for the purpose of this test. [/INST] I've thought a lot about this.
|
||||||
<tool_call>{"id": "call_531873", "type": "function", "function": {"name": "superSecretTool", "arguments": {"a": 2535, "b": 32222000403}}}</tool_call> </s><s>[INST] [TOOL(name=superSecretTool, id=call_531873)]32222002938[/TOOL] [/INST] The sum of 2535 and 32222000403 is 42. </s>
|
<tool_call>{"id": "call_531873", "type": "function", "function": {"name": "superSecretTool", "arguments": {"a": 2535, "b": 32222000403}}}</tool_call> </s><s>[INST] [TOOL(name=superSecretTool, id=call_531873)]32222002938[/TOOL] [/INST] The sum of 2535 and 32222000403 is 42. </s>
|
||||||
```
|
```
|
||||||
|
@ -2217,9 +1747,7 @@ Add two numbers for the purpose of this test. [/INST] I've thought a lot about t
|
||||||
Output format prompt:
|
Output format prompt:
|
||||||
|
|
||||||
```json
|
```json
|
||||||
Please respond in JSON format with the following schema: {
|
Please respond in JSON format with the following schema: number
|
||||||
"type": "integer"
|
|
||||||
}
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
@ -2309,9 +1837,7 @@ tool-call ::= "<tool_call>" space (superSecretTool-tool-call | say-tool-call) s
|
||||||
Prompt:
|
Prompt:
|
||||||
|
|
||||||
```js
|
```js
|
||||||
<s>[INST] [SYS]Please respond in JSON format with the following schema: {
|
<s>[INST] [SYS]Please respond in JSON format with the following schema: number[/SYS]
|
||||||
"type": "integer"
|
|
||||||
}[/SYS]
|
|
||||||
Add two numbers for the purpose of this test. [/INST] I've thought a lot about this.
|
Add two numbers for the purpose of this test. [/INST] I've thought a lot about this.
|
||||||
<tool_call>{"id": "call_531873", "type": "function", "function": {"name": "superSecretTool", "arguments": {"a": 2535, "b": 32222000403}}}</tool_call> </s><s>[INST] [TOOL(name=superSecretTool, id=call_531873)]32222002938[/TOOL] [/INST] The sum of 2535 and 32222000403 is 42. </s>
|
<tool_call>{"id": "call_531873", "type": "function", "function": {"name": "superSecretTool", "arguments": {"a": 2535, "b": 32222000403}}}</tool_call> </s><s>[INST] [TOOL(name=superSecretTool, id=call_531873)]32222002938[/TOOL] [/INST] The sum of 2535 and 32222000403 is 42. </s>
|
||||||
```
|
```
|
||||||
|
@ -2320,9 +1846,7 @@ Add two numbers for the purpose of this test. [/INST] I've thought a lot about t
|
||||||
Output format prompt:
|
Output format prompt:
|
||||||
|
|
||||||
```json
|
```json
|
||||||
Please respond in JSON format with the following schema: {
|
Please respond in JSON format with the following schema: number
|
||||||
"type": "integer"
|
|
||||||
}
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue