|
--- |
|
license: apache-2.0 |
|
--- |
|
<img src="https://huggingface.co/cognitivecomputations/fc-dolphin-2.6-mistral-7b-dpo-laser/resolve/main/fc-dolphin.jpg" width="600" /> |
|
by David, Fernando and Eric |
|
|
|
Sponsored by: [VAGO Solutions](https://vago-solutions.de) and [HyperSpace.Ai](https://hyperspace.computer/) |
|
|
|
Join our Discord! https://discord.gg/cognitivecomputations |
|
|
|
A function calling version of [cognitivecomputations/dolphin-2.6-mistral-7b-dpo-laser](https://huggingface.co/cognitivecomputations/dolphin-2.6-mistral-7b-dpo-laser) |
|
|
|
It follows the implementation of laserRMT @ https://github.com/cognitivecomputations/laserRMT and the novel training technique - we partially freeze the model according to a laser-like analysis (Official Paper soon) |
|
which effectively prevents the significant problem of language models forgetting previously acquired knowledge. This aspect is particularly crucial when attempting to teach the model specific skills, such as function calling. |
|
|
|
We intend to be the first of a family of experimentations being carried out @ Cognitive Computations. |
|
|
|
# Usage |
|
|
|
This model is trained on a variaton of [glaive function calling v2](https://huggingface.co/datasets/glaiveai/glaive-function-calling-v2) and uses their format for declaring functions and invoking them. |
|
Note that like other Dolphin models you should be using the ChatML syntax for representing chats. |
|
|
|
Set your system prompt to something along these lines: |
|
|
|
``` |
|
You are a helpful assistant with access to the following functions. |
|
Use them if required - |
|
{ "name": "search_wikipedia", "description": "Search for a given keyword or phrase on Wikipedia", "parameters": { "type": "object", "properties": { "query": { "type": "string", "description": "The keyword or phrase to search" } }, "required": [ "query" ] } } |
|
``` |
|
|
|
The model will then attempt to invoke the specified functions using the token `<functioncall>` and some JSON with a `name` and an `arguments` parameter. |
|
|
|
e.g.: |
|
|
|
``` |
|
ASSISTANT: <functioncall> {"name": "search_wikipedia", "arguments": '{"query": "Eiffel Tower"}'} <|endoftext|> |
|
``` |
|
|
|
Your code should detect this and stop execution and invoke the function call and inject a response back into the context with the following syntax: |
|
|
|
``` |
|
FUNCTION RESPONSE: {"result": "The Eiffel Tower is a wrought-iron lattice... etc"} |
|
``` |
|
|
|
You should then prompt the assistant to generate another response. |
|
|
|
Note that the model may not always attempt to invoke a function and may respond saying it doesn't have access to the right functionality. |
|
|
|
# Quants |
|
- [dagbs/-GGUF](https://huggingface.co/dagbs/fc-dolphin-2.6-mistral-7b-dpo-laser-GGUF) |
|
- [solidrust/-AWQ](https://huggingface.co/solidrust/fc-dolphin-2.6-mistral-7b-dpo-laser-AWQ) |
|
|