GPT4All を使ってみた
By takagiwa on Tuesday, March 5 2024, 22:10 - LLM - Permalink
バージョンは v2.7.1 で OS は Windows 11
適当にモデルをダウンロードして起動。今回は Mistral instruct 。
右上の歯車印で設定を開き、「Application」の「Download path」に gguf ファイルをおくとそのモデルが利用できるようになる。
例えば ELYZA-japanese-Llama-2-13b-fast-instruct-q4_km.gguf 等。Mistral でも日本語に応答はしてくれたけれど、ELYZA-japanese も日本語に応答してくれる。
で、gguf の入手の方法は Tutorial: How to convert HuggingFace model to GGUF format を参考にした。
で、オープンな日本語埋め込みモデルの選択肢 を参考に RAG 用に intfloat/multilingual-e5-* を取得して gguf に変換しようとしたのだけれど、
python ..\llama.cpp\convert.py tmp_data --outfile download\multilingual-e5-large.gguf --outty pe q8_0 Loading model file tmp_data\model.safetensors Traceback (most recent call last): File "E:\Projects\llama.cpp\convert.py", line 1479, in <module> main() File "E:\Projects\llama.cpp\convert.py", line 1415, in main model_plus = load_some_model(args.model) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "E:\Projects\llama.cpp\convert.py", line 1278, in load_some_model models_plus.append(lazy_load_file(path)) ^^^^^^^^^^^^^^^^^^^^ File "E:\Projects\llama.cpp\convert.py", line 890, in lazy_load_file return lazy_load_safetensors_file(fp, path) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "E:\Projects\llama.cpp\convert.py", line 869, in lazy_load_safetensors_file model = {name: convert(info) for (name, info) in header.items() if name != '__metadata__'} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "E:\Projects\llama.cpp\convert.py", line 869, in <dictcomp> model = {name: convert(info) for (name, info) in header.items() if name != '__metadata__'} ^^^^^^^^^^^^^ File "E:\Projects\llama.cpp\convert.py", line 857, in convert data_type = SAFETENSORS_DATA_TYPES[info['dtype']] ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ KeyError: 'I64'
となって変換できない。
どうやら ここ によると、convert.py は float16, bfloat16, float32 からしか変更できないということで、これは Int 64 ということなのだろう。
結局、GUI は無いけれど、langchain + RAGで手元の資料(新たな情報)をllmに読み込ませる に従えばひとまず使えそう。