FuseChat: Knowledge Fusion of Chat Models
Paper • 2408.07990 • Published • 15
How to use BruhzWater/Eden-L3.3-70b-0.4a with Transformers:
# Use a pipeline as a high-level helper
from transformers import pipeline
pipe = pipeline("text-generation", model="BruhzWater/Eden-L3.3-70b-0.4a")
messages = [
{"role": "user", "content": "Who are you?"},
]
pipe(messages) # Load model directly
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("BruhzWater/Eden-L3.3-70b-0.4a")
model = AutoModelForCausalLM.from_pretrained("BruhzWater/Eden-L3.3-70b-0.4a", device_map="auto")
messages = [
{"role": "user", "content": "Who are you?"},
]
inputs = tokenizer.apply_chat_template(
messages,
add_generation_prompt=True,
tokenize=True,
return_dict=True,
return_tensors="pt",
).to(model.device)
outputs = model.generate(**inputs, max_new_tokens=40)
print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:]))How to use BruhzWater/Eden-L3.3-70b-0.4a with vLLM:
# Install vLLM from pip:
pip install vllm
# Start the vLLM server:
vllm serve "BruhzWater/Eden-L3.3-70b-0.4a"
# Call the server using curl (OpenAI-compatible API):
curl -X POST "http://localhost:8000/v1/chat/completions" \
-H "Content-Type: application/json" \
--data '{
"model": "BruhzWater/Eden-L3.3-70b-0.4a",
"messages": [
{
"role": "user",
"content": "What is the capital of France?"
}
]
}'docker model run hf.co/BruhzWater/Eden-L3.3-70b-0.4a
How to use BruhzWater/Eden-L3.3-70b-0.4a with SGLang:
# Install SGLang from pip:
pip install sglang
# Start the SGLang server:
python3 -m sglang.launch_server \
--model-path "BruhzWater/Eden-L3.3-70b-0.4a" \
--host 0.0.0.0 \
--port 30000
# Call the server using curl (OpenAI-compatible API):
curl -X POST "http://localhost:30000/v1/chat/completions" \
-H "Content-Type: application/json" \
--data '{
"model": "BruhzWater/Eden-L3.3-70b-0.4a",
"messages": [
{
"role": "user",
"content": "What is the capital of France?"
}
]
}'docker run --gpus all \
--shm-size 32g \
-p 30000:30000 \
-v ~/.cache/huggingface:/root/.cache/huggingface \
--env "HF_TOKEN=<secret>" \
--ipc=host \
lmsysorg/sglang:latest \
python3 -m sglang.launch_server \
--model-path "BruhzWater/Eden-L3.3-70b-0.4a" \
--host 0.0.0.0 \
--port 30000
# Call the server using curl (OpenAI-compatible API):
curl -X POST "http://localhost:30000/v1/chat/completions" \
-H "Content-Type: application/json" \
--data '{
"model": "BruhzWater/Eden-L3.3-70b-0.4a",
"messages": [
{
"role": "user",
"content": "What is the capital of France?"
}
]
}'How to use BruhzWater/Eden-L3.3-70b-0.4a with Docker Model Runner:
docker model run hf.co/BruhzWater/Eden-L3.3-70b-0.4a
Foundation model for creative writing and RP with deepcogito/cogito-v2-preview-llama-70B as the base. (Work in progress)
If you like this model, go support the original creators!
This model was merged using the SCE merge method using deepcogito/cogito-v2-preview-llama-70B as a base.
The following models were included in the merge:
The following YAML configuration was used to produce this model:
models:
- model: /workspace/cache/models--nvidia--Llama-3.1-Nemotron-70B-Instruct-HF/snapshots/031d4042f36adc1a52cca51b331d25cbe3cf1022
- model: /workspace/cache/models--zerofata--L3.3-GeneticLemonade-Unleashed-v3-70B/snapshots/786081cc68db24e8077cb8e3668f1f8ddacd5d1e
- model: /workspace/cache/models--marcelbinz--Llama-3.1-Centaur-70B/snapshots/7e42dbd2e967200cee4b3eafe523c154edc2e766
- model: /workspace/cache/models--Delta-Vector--Austral-70B-Winton/snapshots/0b84421cb68e7c69848e6265a1d36dcd8957d44a
- model: /workspace/cache/models--watt-ai--watt-tool-70B/snapshots/dbe19344ec6ee4b9e1636e9e6ce24fc6a85a725e
base_model: /workspace/cache/models--deepcogito--cogito-v2-preview-llama-70B/snapshots/1e1d12e8eaebd6084a8dcf45ecdeaa2f4b8879ce
select_topk: 0.23
merge_method: sce
tokenizer:
source: base
chat_template: llama3
pad_to_multiple_of: 8
int8_mask: true
dtype: float32
Llama3
Deep Cogito - https://huggingface.co/deepcogito/cogito-v1-preview-llama-70B
{{- '<|begin_of_text|>' }}
{%- if not tools is defined %}
{%- set tools = none %}
{%- endif %}
{%- if not enable_thinking is defined %}
{%- set enable_thinking = false %}
{%- endif %}
{#- This block extracts the system message, so we can slot it into the right place. #}
{%- if messages[0]['role'] == 'system' %}
{%- set system_message = messages[0]['content']|trim %}
{%- set messages = messages[1:] %}
{%- else %}
{%- set system_message = "" %}
{%- endif %}
{#- Set the system message. If enable_thinking is true, add the "Enable deep thinking subroutine." #}
{%- if enable_thinking %}
{%- if system_message != "" %}
{%- set system_message = "Enable deep thinking subroutine.
" ~ system_message %}
{%- else %}
{%- set system_message = "Enable deep thinking subroutine." %}
{%- endif %}
{%- endif %}
{#- Set the system message. In case there are tools present, add them to the system message. #}
{%- if tools is not none or system_message != '' %}
{{- "<|start_header_id|>system<|end_header_id|>
" }}
{{- system_message }}
{%- if tools is not none %}
{%- if system_message != "" %}
{{- "
" }}
{%- endif %}
{{- "Available Tools:
" }}
{%- for t in tools %}
{{- t | tojson(indent=4) }}
{{- "
" }}
{%- endfor %}
{%- endif %}
{{- "<|eot_id|>" }}
{%- endif %}
{#- Rest of the messages #}
{%- for message in messages %}
{#- The special cases are when the message is from a tool (via role ipython/tool/tool_results) or when the message is from the assistant, but has "tool_calls". If not, we add the message directly as usual. #}
{#- Case 1 - Usual, non tool related message. #}
{%- if not (message.role == "ipython" or message.role == "tool" or message.role == "tool_results" or (message.tool_calls is defined and message.tool_calls is not none)) %}
{{- '<|start_header_id|>' + message['role'] + '<|end_header_id|>
' }}
{%- if message['content'] is string %}
{{- message['content'] | trim }}
{%- else %}
{%- for item in message['content'] %}
{%- if item.type == 'text' %}
{{- item.text | trim }}
{%- endif %}
{%- endfor %}
{%- endif %}
{{- '<|eot_id|>' }}
{#- Case 2 - the response is from the assistant, but has a tool call returned. The assistant may also have returned some content along with the tool call. #}
{%- elif message.tool_calls is defined and message.tool_calls is not none %}
{{- "<|start_header_id|>assistant<|end_header_id|>
" }}
{%- if message['content'] is string %}
{{- message['content'] | trim }}
{%- else %}
{%- for item in message['content'] %}
{%- if item.type == 'text' %}
{{- item.text | trim }}
{%- if item.text | trim != "" %}
{{- "
" }}
{%- endif %}
{%- endif %}
{%- endfor %}
{%- endif %}
{{- "[" }}
{%- for tool_call in message.tool_calls %}
{%- set out = tool_call.function|tojson %}
{%- if not tool_call.id is defined %}
{{- out }}
{%- else %}
{{- out[:-1] }}
{{- ', "id": "' + tool_call.id + '"}' }}
{%- endif %}
{%- if not loop.last %}
{{- ", " }}
{%- else %}
{{- "]<|eot_id|>" }}
{%- endif %}
{%- endfor %}
{#- Case 3 - the response is from a tool call. The tool call may have an id associated with it as well. If it does, we add it to the prompt. #}
{%- elif message.role == "ipython" or message["role"] == "tool_results" or message["role"] == "tool" %}
{{- "<|start_header_id|>ipython<|end_header_id|>
" }}
{%- if message.tool_call_id is defined and message.tool_call_id != '' %}
{{- '{"content": ' + (message.content | tojson) + ', "call_id": "' + message.tool_call_id + '"}' }}
{%- else %}
{{- '{"content": ' + (message.content | tojson) + '}' }}
{%- endif %}
{{- "<|eot_id|>" }}
{%- endif %}
{%- endfor %}
{%- if add_generation_prompt %}
{{- '<|start_header_id|>assistant<|end_header_id|>
' }}
{%- endif %}