Skip to content

Instantly share code, notes, and snippets.

View kohya-ss's full-sized avatar

Kohya S. kohya-ss

View GitHub Profile
@kohya-ss
kohya-ss / client_v4.py
Last active July 2, 2025 12:56
メッセージボックスMCPサーバ
# client_v4.py
"""
Message Box MCP Client
インストール方法等はserver_v4.pyを参照。
## 使用法
メッセージ取得:
@kohya-ss
kohya-ss / auto_prompt_chat.py
Created February 9, 2025 13:13
ノベルゲーム風簡易CUI:会話とプロンプト生成を別のchatにして一貫性を向上させる
# ライセンスは Apache License 2.0 です。
# お勧めのオプションは:
# --flash_attn --q8_kv_cache --n_gpu_layers <GPUのVRAMに応じて> --n_ctx <VRAMとモデルのcontext lengthに応じて>
import argparse
import random
import msvcrt # Windowsの場合
import toml
from typing import List, Optional, Union, Iterator
@kohya-ss
kohya-ss / mem_eff_safeopen.py
Last active August 23, 2024 03:41
メインメモリを消費しないsafetensorsファイル読み込み・保存
# License: Apache 2.0
import io
import struct
import json
import torch
class MemoryEfficientSafeOpen:
# does not support metadata loading
@kohya-ss
kohya-ss / llm_novelist_v1.py
Last active December 22, 2024 01:15
ローカルLLMに小説を書いてもらう
# Apache License 2.0
# 使用法は gist のコメントを見てください
import time
import argparse
import os
import json
import tomli
import traceback
from typing import Any, Dict, List, Optional, Union, Iterator
@kohya-ss
kohya-ss / llm_characters.py
Last active July 10, 2025 14:50
system promptを切り替えてLLMに複数キャラを会話させる
# Apache License 2.0
# 使用法は gist のコメントを見てください
import argparse
import importlib
import json
import os
import random
import time
import traceback
import tomli
@kohya-ss
kohya-ss / stepwise_linear_decay_lr_scheduler.py
Created May 22, 2024 13:40
指定ステップまで定数、そこから減少、その後定数
# 仮に logs に入れたら以下のように指定
# --lr_scheduler_type logs.stepwise_linear_decay_lr_scheduler.get_stepwise_linear_decay_lr_scheduler
# --lr_scheduler_args "step_a=50" "step_b=80" "factor_1=1.0" "factor_2=0.1"
#
# step_a までの学習率: 指定した learning_rate * factor_1
# step_a から step_b まで: 線形に減少(増加)
# step_b からの学習率: 指定した learning_rate * factor_2
from torch.optim.lr_scheduler import LambdaLR
@kohya-ss
kohya-ss / get_wd14_tag_confidence.py
Created May 17, 2024 12:57
WD14 Taggerでタグごとの確信度を取得する
import argparse
import csv
import glob
import os
from pathlib import Path
import cv2
import numpy as np
import torch
from PIL import Image
@kohya-ss
kohya-ss / make_prompts_with_dartv2.py
Created May 15, 2024 11:17
Dart V2を使ってプロンプトを作成
# Dart v2を用いて sd-scripts の gen_img.py 用のプロンプトファイルを作成するスクリプト
import random
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
# Rating tag: <|rating:sfw|>, <|rating:general|>, <|rating:sensitive|>, nsfw, <|rating:questionable|>, <|rating:explicit|>
# Aspect ratio tag: <|aspect_ratio:ultra_wide|>, <|aspect_ratio:wide|>, <|aspect_ratio:square|>, <|aspect_ratio:tall|>, <|aspect_ratio:ultra_tall|>
# Length tag: <|length:very_short|>, <|length:short|>, <|length:medium|>, <|length:long|>, <|length:very_long|>
"""
@kohya-ss
kohya-ss / gradio_llm.py
Last active September 1, 2024 22:02
gradioでLLMを利用する簡易クライアント
# Apache License 2.0
# 使用法は gist のコメントを見てください
import argparse
from typing import List, Optional, Union, Iterator
import llama_cpp
from llama_cpp.llama_chat_format import _convert_completion_to_chat, register_chat_completion_handler
import llama_cpp.llama_types as llama_types
from llama_cpp.llama import LogitsProcessorList, LlamaGrammar
from llama_cpp import Llama, llama_chat_format
@kohya-ss
kohya-ss / gradio_cmdrp.py
Created April 18, 2024 13:09
llama-cpp-python と gradio で command-r-plus を動かす
# Apache License 2.0
# 使用法は gist のコメントを見てください
import argparse
from typing import List, Optional, Union, Iterator
from llama_cpp import Llama
from llama_cpp.llama_tokenizer import LlamaHFTokenizer
from llama_cpp.llama_chat_format import _convert_completion_to_chat, register_chat_completion_handler
import llama_cpp.llama_types as llama_types