Update README.md
Browse files
README.md
CHANGED
@@ -204,148 +204,85 @@ ChatCompletionMessage(
|
|
204 |
|
205 |
## Tool Planning Examples <a name="examples"></a>
|
206 |
|
|
|
207 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
208 |
|
|
|
|
|
|
|
209 |
|
210 |
-
|
211 |
-
|
212 |
-
<!-- This section is meant to convey both technical and sociotechnical limitations. -->
|
213 |
|
214 |
-
|
215 |
|
216 |
-
|
217 |
|
218 |
-
|
219 |
|
220 |
-
|
221 |
|
222 |
-
|
223 |
|
224 |
-
|
225 |
|
226 |
-
|
227 |
|
228 |
-
|
229 |
|
230 |
-
###
|
231 |
|
232 |
-
|
233 |
|
234 |
-
|
235 |
|
236 |
-
### Training Procedure
|
237 |
|
238 |
-
|
239 |
|
240 |
-
|
241 |
|
242 |
[More Information Needed]
|
243 |
|
244 |
|
245 |
-
#### Training Hyperparameters
|
246 |
-
|
247 |
-
- **Training regime:** [More Information Needed] <!--fp32, fp16 mixed precision, bf16 mixed precision, bf16 non-mixed precision, fp16 non-mixed precision, fp8 mixed precision -->
|
248 |
-
|
249 |
-
#### Speeds, Sizes, Times [optional]
|
250 |
-
|
251 |
-
<!-- This section provides information about throughput, start/end time, checkpoint size if relevant, etc. -->
|
252 |
-
|
253 |
-
[More Information Needed]
|
254 |
-
|
255 |
## Evaluation
|
256 |
|
257 |
-
|
258 |
-
|
259 |
-
### Testing Data, Factors & Metrics
|
260 |
-
|
261 |
-
#### Testing Data
|
262 |
-
|
263 |
-
<!-- This should link to a Dataset Card if possible. -->
|
264 |
-
|
265 |
-
[More Information Needed]
|
266 |
-
|
267 |
-
#### Factors
|
268 |
-
|
269 |
-
<!-- These are the things the evaluation is disaggregating by, e.g., subpopulations or domains. -->
|
270 |
-
|
271 |
-
[More Information Needed]
|
272 |
-
|
273 |
-
#### Metrics
|
274 |
-
|
275 |
-
<!-- These are the evaluation metrics being used, ideally with a description of why. -->
|
276 |
-
|
277 |
[More Information Needed]
|
278 |
|
279 |
-
|
280 |
|
281 |
[More Information Needed]
|
282 |
-
|
283 |
-
#### Summary
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
## Model Examination [optional]
|
288 |
-
|
289 |
-
<!-- Relevant interpretability work for the model goes here -->
|
290 |
-
|
291 |
-
[More Information Needed]
|
292 |
-
|
293 |
-
## Environmental Impact
|
294 |
-
|
295 |
-
<!-- Total emissions (in grams of CO2eq) and additional considerations, such as electricity usage, go here. Edit the suggested text below accordingly -->
|
296 |
-
|
297 |
-
Carbon emissions can be estimated using the [Machine Learning Impact calculator](https://mlco2.github.io/impact#compute) presented in [Lacoste et al. (2019)](https://arxiv.org/abs/1910.09700).
|
298 |
-
|
299 |
-
- **Hardware Type:** [More Information Needed]
|
300 |
-
- **Hours used:** [More Information Needed]
|
301 |
-
- **Cloud Provider:** [More Information Needed]
|
302 |
-
- **Compute Region:** [More Information Needed]
|
303 |
-
- **Carbon Emitted:** [More Information Needed]
|
304 |
-
|
305 |
-
## Technical Specifications [optional]
|
306 |
-
|
307 |
-
### Model Architecture and Objective
|
308 |
-
|
309 |
-
[More Information Needed]
|
310 |
-
|
311 |
-
### Compute Infrastructure
|
312 |
-
|
313 |
-
[More Information Needed]
|
314 |
-
|
315 |
-
#### Hardware
|
316 |
-
|
317 |
-
[More Information Needed]
|
318 |
-
|
319 |
-
#### Software
|
320 |
-
|
321 |
-
[More Information Needed]
|
322 |
-
|
323 |
-
## Citation [optional]
|
324 |
-
|
325 |
-
<!-- If there is a paper or blog post introducing the model, the APA and Bibtex information for that should go in this section. -->
|
326 |
-
|
327 |
-
**BibTeX:**
|
328 |
-
|
329 |
-
[More Information Needed]
|
330 |
-
|
331 |
-
**APA:**
|
332 |
-
|
333 |
-
[More Information Needed]
|
334 |
-
|
335 |
-
## Glossary [optional]
|
336 |
-
|
337 |
-
<!-- If relevant, include terms and calculations in this section that can help readers understand the model or model card. -->
|
338 |
-
|
339 |
-
[More Information Needed]
|
340 |
-
|
341 |
-
## More Information [optional]
|
342 |
-
|
343 |
-
[More Information Needed]
|
344 |
-
|
345 |
-
## Model Card Authors [optional]
|
346 |
-
|
347 |
-
[More Information Needed]
|
348 |
-
|
349 |
-
## Model Card Contact
|
350 |
-
|
351 |
-
[More Information Needed]
|
|
|
204 |
|
205 |
## Tool Planning Examples <a name="examples"></a>
|
206 |
|
207 |
+
The model is using *grounded system prompt* for tool planning. <u>We do not recommend changing it too much, as this may cause hallucinations!</u>
|
208 |
|
209 |
+
```
|
210 |
+
<|im_start|>system
|
211 |
+
You have been trained to have advanced reasoning and tool-use capabilities and you should make best use of these skills to serve user's requests.
|
212 |
+
|
213 |
+
# Tool Use
|
214 |
+
Think about how you can make best use of the provided tools to help with the task and come up with a high level plan that you will execute first.
|
215 |
+
|
216 |
+
0. Start by writing <|start_thinking|> followed by a detailed step by step plan of how you will solve the problem. For each step explain your thinking fully and give details of required tool calls (if needed). Unless specified otherwise, you write your plan in natural language. When you finish, close it out with <|end_thinking|>.
|
217 |
+
You can optionally choose to skip this step when the user request is so straightforward to address that only a trivial plan would be needed.
|
218 |
+
NOTE: You MUST skip this step when you are directly responding to the user's request without using any tools.
|
219 |
+
|
220 |
+
Then carry out your plan by repeatedly executing the following steps.
|
221 |
+
1. Action: write <tool_call> followed by a list of JSON-formatted tool calls, with each one containing "tool_name" and "parameters" fields.
|
222 |
+
When there are multiple tool calls which are completely independent of each other (i.e. they can be executed in parallel), you should list them out all together in one step. When you finish, close it out with </tool_call>.
|
223 |
+
2. Observation: you will then receive results of those tool calls in JSON format in the very next turn, wrapped around by <tool_response> and </tool_response>. Carefully observe those results and think about what to do next. Note that these results will be provided to you in a separate turn. NEVER hallucinate results.
|
224 |
+
Every tool call produces a list of results (when a tool call produces no result or a single result, it'll still get wrapped inside a list). Each result is clearly linked to its originating tool call via its "tool_call_id".
|
225 |
+
3. Reflection: start the next turn by writing <|start_thinking|> followed by what you've figured out so far, any changes you need to make to your plan, and what you will do next. When you finish, close it out with <|end_thinking|>.
|
226 |
+
You can optionally choose to skip this step when everything is going according to plan and no special pieces of information or reasoning chains need to be recorded.
|
227 |
+
NOTE: You MUST skip this step when you are done with tool-use actions and are ready to respond to the user.
|
228 |
+
|
229 |
+
You can repeat the above 3 steps multiple times (could be 0 times too if no suitable tool calls are available or needed), until you decide it's time to finally respond to the user.
|
230 |
+
|
231 |
+
4. Response: then break out of the loop and write <|start_response|> followed by a piece of text which serves as a response to the user's last request. Use all previous tool calls and results to help you when formulating your response. When you finish, close it out with <|end_response|>.
|
232 |
+
|
233 |
+
# Available Tools
|
234 |
+
Here is the list of tools that you have available to you.
|
235 |
+
You can ONLY use the tools listed here. When a tool is not listed below, it is NOT available and you should NEVER attempt to use it.
|
236 |
+
Each tool is represented as a JSON object with fields like "name", "description", "parameters" (per JSON Schema), and optionally, "responses" (per JSON Schema).
|
237 |
+
|
238 |
+
\`\`\`json
|
239 |
+
[
|
240 |
+
{"name": "get_weather", "description": "A function that returns the weather in a given city.", "parameters": {"type": "object", "properties": {"city": {"type": "string", "description": "The city to get the weather for."}}, "required": ["city"]}, "responses": null},
|
241 |
+
{"name": "get_sunrise_sunset_times", "description": "A function that returns the time of sunrise and sunset at the present moment, for a given city, in the form of a list: [sunrise_time, sunset_time].", "parameters": {"type": "object", "properties": {"city": {"type": "string", "description": "The city to get the sunrise and sunset times for."}}, "required": ["city"]}, "responses": null}
|
242 |
+
]
|
243 |
+
\`\`\`
|
244 |
|
245 |
+
<|im_end|>
|
246 |
+
```
|
247 |
+
*For corrected display used [\ \`] as [\`]*
|
248 |
|
249 |
+
### Simple Function
|
|
|
|
|
250 |
|
251 |
+
```python
|
252 |
|
253 |
+
```
|
254 |
|
255 |
+
### Multiple Function
|
256 |
|
257 |
+
```python
|
258 |
|
259 |
+
```
|
260 |
|
261 |
+
### Parallel Multiple Function
|
262 |
|
263 |
+
```python
|
264 |
|
265 |
+
```
|
266 |
|
267 |
+
### Tool Error Handling
|
268 |
|
269 |
+
```python
|
270 |
|
271 |
+
```
|
272 |
|
|
|
273 |
|
274 |
+
## Limitations
|
275 |
|
276 |
+
<!-- This section is meant to convey both technical and sociotechnical limitations. -->
|
277 |
|
278 |
[More Information Needed]
|
279 |
|
280 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
281 |
## Evaluation
|
282 |
|
283 |
+
*BFCL benchmark*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
284 |
[More Information Needed]
|
285 |
|
286 |
+
## Authors
|
287 |
|
288 |
[More Information Needed]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|