概要

自分の興味ある分野について、調べたり、実際に手を動かしたり、分かったことをここにまとめている。

RAGシステムを構築

はじめに

昨日までに、Wikipediaから天文関連の項目を抽出し、RAG向けにベクトルデータベースとキーワードベースを作成した。ここでは、それらのデータベースを使って、RAGシステムを構築する。

使用するLLMは、ChatGPT(gpt-4o)とLlama-3-ELYZA-JP-8Bを使う。

[続きを読む]

WikipediaダンプデータからRAG向けテキストデータ作成

モチベーション

LangChainを使ってRAGを試しているのだが、確認用に使用するデータに何を使おうかと考えていたところ、wikipediaのダンプデータを使うことにした。全体ではボリュームを大きいので、自分の興味のある天文関係のカテゴリーのデータを使うことにした。

ここでは、wikipediaダンプデータから特定のカテゴリーのデータのみを取り出す一連の手順をまとめた。

[続きを読む]

LlamaIndexを使ってRAGを試す

モチベーション

Chatbot UIを試したこの投稿で、今後挑戦したいことの一つにRAG(Retrieval Augmented Generation)との連携と述べた。この投稿ではLlamaIndexを使ってRAGを実現する方法についてまとめた。

実は昨年末にLangchainを使ってRAGを試してみた。その後、LlamaIndexとのキーワードを良く聞いてきたので、今回LlamaIndexを使ってRAGを実現することにした。

[続きを読む]

Chatbot UIを試す

はじめに

先日の投稿では、llama-cpp-pythonを使ってローカル環境でELYZA 7Bモデルを動かした。その投稿で「今後について」ChatGPTのように会話できるシステムの構築に挑戦したいと述べた。

今回、ChatGPTのように会話できるシステムをdockerコンテナで構築したので、その内容をここにまとめる。

[続きを読む]

Elyzaモデルをllama-cpp-pythonを使ってGPUで動かす

モチベーション

LLMを手元のワークステーション(GPUのメモリ12〜16GB)で動かすには量子化が必須となる。この投稿では、llama-cpp-pythonを使って、GPU資源を最大限に活用することに挑戦したので、その内容をまとめる。

自分の理解不足のためハマったところもあるので、自分が失敗した箇所も含めた内容となっている。

[続きを読む]

姫野ベンチマークを使ってOpenMPIの性能を再々測定する

はじめに

OpenMPI実行ノードの順番を決めるhostfileを変更して、姫野ベンチマークでOpenMPIの性能を再測定したことを、この記事として投稿した。投稿後、改めて考えてみて、CPU、クロックの性能から自分が判断するのではなく、客観的な数値で判断することにした。

そこで今回、個々のワークステーション(ノード)の性能を測定し、その結果に従ってhostfileの順序を決め、再々測定することにした。

[続きを読む]