ローカルLLM + RAG を試す Ollama使って メモ
WSL + Docker
docker build -t python312 . docker images docker run -it --name python312 --gpus all -h python312 -v /home/hoge:/home/hoge -v /mnt:/mnt -p 8888:8888 -p 11434:11434 python312 ssh 172.17.0.2
# Ollama インストール
ollama.com
curl -fsSL https://ollama.com/install.sh | sh ollama serve ollama run gemma2
# llama インストール
$ cat requirements.txt llama_index llama-index-llms-ollama llama-index-embeddings-huggingface llama-index-llms-llama-cpp docx2txt pip install -r requirements.txt
# プログラム実行
from llama_index.llms.ollama import Ollama #llm = Ollama(model="phi3", request_timeout=60.0) #llm = Ollama(model="lucas2024/llama-3-elyza-jp-8b:q5_k_m", request_timeout=60.0) #llm = Ollama(model="llama3.1", request_timeout=60.0) llm = Ollama(model="gemma2", request_timeout=60.0) #response = llm.complete("What is the capital of France?") response = llm.complete("日本で一番高い山はどこですか?") print(response) from llama_index.embeddings.huggingface import HuggingFaceEmbedding #embed_model = HuggingFaceEmbedding(model_name="all-MiniLM-L6-v2") #embed_model = HuggingFaceEmbedding(model_name="intfloat/multilingual-e5-large") embed_model = HuggingFaceEmbedding(model_name="intfloat/multilingual-e5-small") from llama_index.core import SimpleDirectoryReader, VectorStoreIndex reader = SimpleDirectoryReader("data") data = reader.load_data() index = VectorStoreIndex.from_documents(data, embed_model=embed_model) # クエリ query_engine = index.as_query_engine(llm=llm, streaming=True, similarity_top_k=3) while True: req_msg = input("\n\n >") if req_msg == "": continue res_msg = query_engine.query(req_msg) res_msg.print_response_stream()
Docker ssh ポートフォワーディング
docker run --name pytorch --rm --gpus all -h pytorch -it \ -v /home/hoge:/home/hoge -p 8888:8888 -p 10022:22 pytorch
ホストOSから
ssh localhost -p 10022
GitHub Copilot をはじめる
https://docs.github.com/ja/copilot/quickstart
ここから申込む
最初30日間無料。自動更新
ロジクール MX KEYS mini を買ったので 勢いで caps lock を ctrl に変更した PowerToys ではできないと思う
PowerToysで変更できるとの記事があるが試してみてできなかったので
インストール不要でキー配置の変更が可能な「Change Key」を使った
ついでに「カタカナひらがな」キーもctrlに変更した
満足
Git の復習
git config --global user.email "[email protected]" git config --global user.name "hoge" cd ~/work/Git git init git status git add HelloWorld.py <- ファイルを指定して監視 git add . <- カレントディレクトリ以下全てのファイルを監視 git commit -m "first commit" git log vi .gitignore <- 追跡しないファイルを書いておく /tmp/ git add .gitignore <- 追加しておく # ブランチ git checkout -b feature/user_login vim user_login.py git add user_login.py git commit user_login.py # ブランチを切替える git checkout master # マージする git merge feature/user_login <- マージの方向に気を付ける # 更新ログを見る git log # 更新をある時点まで戻す git reset --hard 6a3ab59bd70b7f6e997d39778907e1933dadea4e # 今更新したのをなかったことにする git revert 6a3ab59bd70b7f6e997d39778907e1933dadea4e
WSL 割当てるメモリサイズを増やす
Python プログラムが Kill されたので メモリサイズを増やす
デフォルトでは 物理メモリの半分だった
C:\Users\hoge\.wslconfig [wsl2] memory=56GB swap=0
$ free -h total used free shared buff/cache available Mem: 54Gi 519Mi 53Gi 3.0Mi 549Mi 53Gi Swap: 0B 0B 0B