models(gallery): add LocalAI-Llama3-8b-Function-Call-v0.2-GGUF (#2355)

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
This commit is contained in:
Ettore Di Giacinto 2024-05-20 00:59:17 +02:00 committed by GitHub
parent 053531e434
commit 7a480bb16f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 70 additions and 0 deletions

View File

@ -1,4 +1,30 @@
---
### START mudler's LocalAI specific-models
- &mudler
url: "github:mudler/LocalAI/gallery/mudler.yaml@master"
name: "localAI-llama3-8b-function-call-v0.2"
icon: "https://cdn-uploads.huggingface.co/production/uploads/647374aa7ff32a81ac6d35d4/us5JKi9z046p8K-cn_M0w.webp"
license: llama3
description: |
This model is a fine-tune on a custom dataset + glaive to work specifically and leverage all the LocalAI features of constrained grammar.
Specifically, the model once enters in tools mode will always reply with JSON.
urls:
- https://huggingface.co/mudler/LocalAI-Llama3-8b-Function-Call-v0.2-GGUF
- https://huggingface.co/mudler/LocalAI-Llama3-8b-Function-Call-v0.2
tags:
- llm
- gguf
- gpu
- cpu
- llama3
overrides:
parameters:
model: LocalAI-Llama3-8b-Function-Call-v0.2-q4_k_m.bin
files:
- filename: LocalAI-Llama3-8b-Function-Call-v0.2-q4_k_m.bin
sha256: 7e46405ce043cbc8d30f83f26a5655dc8edf5e947b748d7ba2745bd0af057a41
uri: huggingface://mudler/LocalAI-Llama3-8b-Function-Call-v0.2-GGUF/LocalAI-Llama3-8b-Function-Call-v0.2-q4_k_m.bin
### START parler-tts
- &parler-tts
url: "github:mudler/LocalAI/gallery/parler-tts.yaml@master"

44
gallery/mudler.yaml Normal file
View File

@ -0,0 +1,44 @@
---
name: localai
config_file: |-
context_size: 8192
stopwords:
- <|im_end|>
- <dummy32000>
- <|eot_id|>
- <|end_of_text|>
function:
return_name_in_function_response: true
template:
chat: |
<|begin_of_text|>{{.Input }}
<|start_header_id|>assistant<|end_header_id|>
chat_message: |-
<|start_header_id|>{{if .FunctionCall}}assistant{{ else if eq .RoleName "assistant"}}assistant{{else if eq .RoleName "system"}}system{{else if eq .RoleName "tool"}}tool_response{{else if eq .RoleName "user"}}user{{end}}<|end_header_id|>
{{ if .Content -}}
{{.Content -}}
{{ else if .FunctionCall -}}
{ "name": "{{ index .FunctionCall "name"}}", "arguments": {{index .FunctionCall "arguments"}} }{{ end -}}<|eot_id|>
completion: |
{{.Input}}
function: |-
<|begin_of_text|><|start_header_id|>system<|end_header_id|>
{{$tools:=""}}
You have access to the following tools:
{{range .Functions -}}
> Tool Name: {{.Name}}
{{ $tools = print $tools .Name " " -}}
Tool Description: {{.Description}}
Tool Args:
{{ range $key,$val:= (index .Parameters "properties") -}}
- {{$key}} ({{ index $val "type"}}): {{index $val "description" }}
{{ end -}}
{{ end -}}Answer only in JSON by using the following format if using a tool:
{"name": "tool_name", "arguments": { "arg_1": "value" } }
Function must be one of [{{$tools}}]).<|eot_id|>
{{.Input}}
<|start_header_id|>assistant<|end_header_id|>