Bistr による自動コード分析

プロジェクトのソース コードを分析する必要があるが、プロセスを自動化し、コンピューターのローカル機能を使用したい場合は、Bistr ユーティリティが優れたソリューションとなります。この記事では、このユーティリティが Ollama 機械学習モデルを使用したコード分析にどのように役立つかを見ていきます。

Bistr とは何ですか?

Bistr は、コード分析と処理のために Ollama などのローカル LLM (大規模言語モデル) モデルを統合できるソース コード分析ユーティリティです。 Bistr を使用すると、Python、C、Java、JavaScript、HTML などのさまざまなプログラミング言語でファイルを解析できます。

Bistr は、このモデルを使用して、特定のクエリに対してファイルをチェックします。たとえば、コードまたはその一部の機能に関する質問に対する答えを見つけます。これにより、プロジェクトの開発、テスト、保守に役立つ構造化分析が提供されます。

Bistr はどのように機能しますか?

  • 状態の読み込み: 分析を開始すると、ユーティリティは分析状態が以前に保存されているかどうかを確認します。これにより、同じファイルを再度解析することなく、中断したところから再開できるようになります。
  • コード分析: 各ファイルは Ollama モデルを使用して分析されます。ユーティリティは、コードの特定の部分を分析するためにモデルにリクエストを送信します。このモデルは、クエリに応じてコードの関連性に関する情報を返します。また、特定のフラグメントがタスクに関連する理由をテキストで説明します。
  • 状態の保存: 各ファイルの分析後に状態が更新されるため、次回は最新の情報を使用して続行できます。
  • 結果の出力: すべての分析結果は HTML ファイルにエクスポートできます。このファイルには、関連性によるファイルのランキングを含む表が含まれており、コードのどの部分がさらなる分析にとって最も重要であるかを理解するのに役立ちます。

インストールと起動

Bistr を使用するには、ローカル マシンに LLM モデルを提供するプラットフォームである Ollama をインストールして実行する必要があります。 macOS、Windows、Linux 用の Ollama をインストールする手順を以下に説明します。

Bistr の最新バージョンを git からダウンロードします。
https://github.com/demensdeum/Bistr/

Ollama と Bistr をインストールした後、コード分析を実行できます。これを行うには、ソース コードを準備し、分析するファイルが含まれるディレクトリへのパスを指定する必要があります。このユーティリティを使用すると、中断したところから分析を続けることができ、さらに分析を容易にするために結果を HTML 形式でエクスポートする機能も提供します。

分析を実行するコマンドの例:


python bistr.py /path/to/code --model llama3.1:latest --output-html result.html --research "What is the purpose of this function?"

このチームでは:

–model は、分析に使用するモデルを指定します。
–output-html は、解析結果を HTML ファイルに保存するパスを指定します。
–research を使用すると、コードを分析して答えてほしい質問をすることができます。

Bistr を使用する利点

  • ローカル実行: クラウド サービスに接続する必要がなく、分析がコンピュータ上で実行されるため、プロセスが高速化されます。
  • 柔軟性: さまざまなプログラミング言語でコードを分析できます。
  • 自動化: すべてのコード レビュー作業が自動化されるため、特に大規模なプロジェクトで作業する場合に時間と労力が節約されます。

ollamを使用したローカルニューラルネットワーク

ChatGPT のようなものを起動したいと思っていて、Nvidia RTX ビデオ カードなどのかなり強力なコンピューターを持っている場合は、ollam プロジェクトを実行できます。これにより、既製の LLM モデルの 1 つを使用できるようになります。ローカルマシンは完全に無料です。 ollama は、ChatGPT の方法で LLM モデルと通信する機能を提供し、最新バージョンでは、画像を読み取り、出力データを json 形式でフォーマットする機能も発表されました。

また、プロジェクト自体も Apple M2 プロセッサを搭載した MacBook で実行しましたが、AMD の最新モデルのビデオ カードがサポートされていることもわかっています。

macOS にインストールするには、ollam Web サイトにアクセスしてください。
https://ollama.com/download/mac

「macOS 用のダウンロード」をクリックすると、ollama-darwin.zip 形式のアーカイブがダウンロードされます。アーカイブ内には Ollama.app があり、これを「アプリケーション」にコピーする必要があります。この後、Ollama.app を起動します。おそらく、初回起動時にインストール プロセスが発生します。その後、トレイにオラマのアイコンが表示されます。トレイは右上の時計の隣にあります。

その後、通常の macOS ターミナルを起動し、コマンドを入力して ollam モデルをダウンロード、インストールし、実行します。利用可能なモデル、説明、およびその特性のリストは、ollam の Web サイトでご覧いただけます。
https://ollama.com/search

発売時にビデオカードに適合しない場合は、パラメータが最も少ないモデルを選択してください。

たとえば、llama3.1:latest モデルを実行するコマンドは次のとおりです。


ollama run llama3.1:latest

Windows と Linux のインストールは一般的に似ていますが、場合によっては ollam インストーラーがあり、さらに Powershell を介してインストーラーを操作します。
Linux の場合、インストールはスクリプトを使用して行われますが、特定のパッケージ マネージャーのバージョンを使用することをお勧めします。 Linux では、通常の bash ターミナル経由で ollam を起動することもできます。

情報源
https://www.youtube.com/watch?v=Wjrdr0NU4Sk
https://ollama.com

Macbook M2 上のアンリアル エンジン

Apple プロセッサを搭載した Macbook で Unreal Engine 5 Editor を実行できた場合、これが非常に遅いことに気付いたかもしれません。

エディターとエンジンのパフォーマンスを向上するには、[エンジンのスケーラビリティ設定] -> [中] を設定します。この後、エンジンはあまり美しくない描画を開始しますが、MacBook 上でエンジンを正常に使用できるようになります。

WordPressのモバイルメニューを修正する


document.addEventListener('DOMContentLoaded', function() {
    new navMenu('primary');
    new navMenu('woo');
});

また、Seedlet テーマを使用しているときに iOS/Android で WordPress ブログのブログ メニューを数年間開いていない場合は、以下を追加するだけです。
ファイル wp-content/主題/seedlet/assets/js/primary-navigation.js を関数内で閉じ、デフォルトのサブスクリプション ウィンドウの横にある addEventListener ‘load’ を追加します。

Radio-Maximum-Electron

Radio Maximum Electron は、Windows、Linux、および macOS オペレーティング システムを実行しているコンピュータで Radio Maximum ラジオ局のストリームを聴くように設計された強力で便利なアプリケーションです。このプレーヤーは使いやすさと高機能を兼ね備えており、最小限の労力でライブ ストリーミングにアクセスできます。

GitHub からアプリケーションをダウンロードするだけです。

https://github.com/demensdeum/Radio-Maximum-Electron/releases

著者はRadio Maximumとは何の関係もなく、ただこのラジオが大好きなだけです。
主な機能は Nativifier プロジェクトによって実装されます

https://github.com/nativefier/nativefier

MIT ビルド スクリプトのライセンス。ランタイムには独自のライセンスがあります。

水中シロクマ冒険

ThreeJS を使用して迷路を無限に生成するシンプルなゲームです。

「ファミリーゲーム」をテーマにした3日間のゲームジャム「スタート・ザ・ゲーム」の一環として制作された。

極地探検家の子が母親と一緒に氷の上を歩いていたところ、突然災害が発生しました。氷が割れ、氷海の海に落ちました。お母さんにはクマを救う時間がなく、クマは神秘的な水中洞窟に迷い込んでしまいました。驚いたことに、彼は水中でも呼吸できることに気づきました。この罠から抜け出す方法は 1 つだけです。深海を乗り越え、謎を解き、攻撃的なサメと戦うことです。攻撃的なサメは、狙いを定めてリンゴを投げることで撃退することができます。

彼の目標は、深海の危険を乗り越え、謎を解きながら、この水中の罠から抜け出して母親の元に戻る方法を見つけることです。

https://demensdeum.com/demos/arctica/

Nixy Player

Nixy Player – 小型で拡張可能なクロスプラットフォームの JavaScript ランタイム。

クロスプラットフォーム: Windows、macOS、Linux だけでなく、C++ およびダイナミック ライブラリをサポートする他のプラットフォームでも利用できます。
軽量: リソース消費を最小限に抑え、効率的なパフォーマンスを実現します。
拡張可能: プラグインや追加ライブラリで簡単に拡張できるように設計されています。

最新のリリースとアップデートについては、リリース ページにアクセスしてください。
https://github.com/demensdeum/NixyPlayer/releases/

Raiden Video Ripper

Raiden Video Ripper は、ビデオ編集とフォーマット変換のために設計されたオープンソース プロジェクトです。 Qt 6 (Qt Creator) を使用して構築されており、ビデオをトリミングして MP4、GIF、WebM 形式に変換できます。動画から音声を抽出してMP3形式に変換することもできます。
Интерфейс RaidenVideoRipper

コスタリカからの静止画 4K 60fps HDR (ULTRA HD)
https://www.youtube.com/watch?v=LXb3EKWsInQ
最新のリリースとアップデートについては、リリース ページにアクセスしてください。
https://github.com/demensdeum/RaidenVideoRipper/releases