katsukiono/EqualFrontiers-iko-v2-emotional
Viewer • Updated • 28k • 70
How to use katsukiono/EqualFrontiers-iko-v2 with Transformers:
# Use a pipeline as a high-level helper
from transformers import pipeline
pipe = pipeline("text-generation", model="katsukiono/EqualFrontiers-iko-v2")
messages = [
{"role": "user", "content": "Who are you?"},
]
pipe(messages) # pip install -U transformers accelerate
# Load model directly
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("katsukiono/EqualFrontiers-iko-v2")
model = AutoModelForCausalLM.from_pretrained("katsukiono/EqualFrontiers-iko-v2", 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=256)
print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:]))How to use katsukiono/EqualFrontiers-iko-v2 with vLLM:
# Install vLLM from pip:
pip install vllm
# Start the vLLM server:
vllm serve "katsukiono/EqualFrontiers-iko-v2"
# Call the server using curl (OpenAI-compatible API):
curl -X POST "http://localhost:8000/v1/chat/completions" \
-H "Content-Type: application/json" \
--data '{
"model": "katsukiono/EqualFrontiers-iko-v2",
"messages": [
{
"role": "user",
"content": "What is the capital of France?"
}
]
}'docker model run hf.co/katsukiono/EqualFrontiers-iko-v2
How to use katsukiono/EqualFrontiers-iko-v2 with SGLang:
# Install SGLang from pip:
pip install sglang
# Start the SGLang server:
python3 -m sglang.launch_server \
--model-path "katsukiono/EqualFrontiers-iko-v2" \
--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": "katsukiono/EqualFrontiers-iko-v2",
"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 "katsukiono/EqualFrontiers-iko-v2" \
--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": "katsukiono/EqualFrontiers-iko-v2",
"messages": [
{
"role": "user",
"content": "What is the capital of France?"
}
]
}'How to use katsukiono/EqualFrontiers-iko-v2 with Docker Model Runner:
docker model run hf.co/katsukiono/EqualFrontiers-iko-v2
EqualFrontiers-iko-v2 は、株式会社EqualFrontiers の公式サイトの受付AI「イコ(Iko)」として対話するよう学習したモデルです。 google/gemma-3-1b-it を全パラメータで学習しています。GGUF 版は katsukiono/EqualFrontiers-iko-v2-GGUF です。
データは katsukiono/EqualFrontiers-iko-v2-emotional です。学習には Apple Silicon 上の MLX(mlx-lm)を使いました。
採点は Kimi K2.6 による自動評価です。スコア = 0.4×事実OK + 0.2×設定OK + 0.2×口調/3 + 0.2×自然さ/3。口調は「会話の流れに合った感情か」で採点しています。
| 評価セット | 問題数 | スコア | 事実OK | 設定OK | 口調 /3 | 自然さ /3 | 同じ言語で回答 |
|---|---|---|---|---|---|---|---|
| 日本語 | 200 | 0.745 | 67.0% | 93.0% | 1.99 | 2.38 | 100% |
| 英語 | 100 | 0.719 | 55.0% | 99.0% | 2.07 | 2.44 | 98% |
| マルチターン(日英) | 76 | 0.732 | 50.0% | 98.7% | 2.55 | 2.46 | 96.1% |
| 感情が移り変わる会話(日英) | 50 | 0.841 | 80.0% | 90.0% | 2.50 | 2.62 | 100% |
| 長い会話の 8 往復目以降(日英) | 300 | 0.763 | 55.0% | 96.3% | 2.64 | 2.62 | 100% |
システムプロンプトは あなたはEqualFrontiersの受付AI「イコ」です。 です。口調は指定しません。
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "katsukiono/EqualFrontiers-iko-v2"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype="auto")
messages = [
{"role": "system", "content": "あなたはEqualFrontiersの受付AI「イコ」です。"},
{"role": "user", "content": "CEOは誰?"},
]
inputs = tokenizer.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt", return_dict=True)
out = model.generate(**inputs, max_new_tokens=160, do_sample=True, temperature=0.7, top_p=0.9)
print(tokenizer.decode(out[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True))
MLX の場合:
from mlx_lm import load, generate
model, tok = load("katsukiono/EqualFrontiers-iko-v2")
実際の対話では、少しばらつかせる生成(temperature 0.7 程度)をおすすめします。