ホームページ >バックエンド開発 >Python チュートリアル >ClientAI と Ollama を使用してローカル AI コード レビューアーを構築する
完全にローカル マシン上で実行される、AI を活用した独自のコード レビューアーを望んだことはありませんか?この 2 部構成のチュートリアルでは、ClientAI と Ollama を使用して、まさにそれを構築します。
私たちのアシスタントは、Python コード構造を分析し、潜在的な問題を特定し、改善を提案します。そのすべてを同時に、コードのプライバシーと安全性を保ちます。
ClientAI のドキュメントについてはここを参照し、Github リポジトリについてはここを参照してください。
私たちのコード分析アシスタントは次のことが可能です:
これらはすべてマシン上でローカルに実行されるため、コードの完全なプライバシーを維持しながら、AI 支援によるコード レビューの機能を利用できます。
まず、プロジェクト用に新しいディレクトリを作成します。
mkdir local_task_planner cd local_task_planner
Ollama サポートを使用して ClientAI をインストールします:
pip install clientai[ollama]
システムに Ollama がインストールされていることを確認してください。 Ollama の Web サイトから入手できます。
次に、コードを書き込むファイルを作成しましょう:
touch code_analyzer.py
そして、コアインポートから始めます:
import ast import json import logging import re from dataclasses import dataclass from typing import List from clientai import ClientAI from clientai.agent import ( Agent, ToolConfig, act, observe, run, synthesize, think, ) from clientai.ollama import OllamaManager, OllamaServerConfig
これらのコンポーネントはそれぞれ重要な役割を果たします:
コードを分析するときは、結果を整理する明確な方法が必要です。結果を構造化する方法は次のとおりです:
@dataclass class CodeAnalysisResult: """Results from code analysis.""" complexity: int functions: List[str] classes: List[str] imports: List[str] issues: List[str]
これをコード分析のレポートカードと考えてください:
ここからは実際のコアです — コード分析エンジンを構築しましょう:
def analyze_python_code_original(code: str) -> CodeAnalysisResult: """Analyze Python code structure and complexity.""" try: tree = ast.parse(code) functions = [] classes = [] imports = [] complexity = 0 for node in ast.walk(tree): if isinstance(node, ast.FunctionDef): functions.append(node.name) complexity += sum( 1 for _ in ast.walk(node) if isinstance(_, (ast.If, ast.For, ast.While)) ) elif isinstance(node, ast.ClassDef): classes.append(node.name) elif isinstance(node, (ast.Import, ast.ImportFrom)): for name in node.names: imports.append(name.name) return CodeAnalysisResult( complexity=complexity, functions=functions, classes=classes, imports=imports, issues=[], ) except Exception as e: return CodeAnalysisResult( complexity=0, functions=[], classes=[], imports=[], issues=[str(e)] )
この関数はコード探偵のようなものです。それ:
優れたコードとは、単に正しく動作するというだけではなく、読みやすく保守しやすいものでなければなりません。これが私たちのスタイルチェッカーです:
mkdir local_task_planner cd local_task_planner
私たちのスタイル チェッカーは 2 つの重要な側面に焦点を当てています:
ドキュメントはコードを保守しやすくするために非常に重要です。これが私たちのドキュメントジェネレーターです:
pip install clientai[ollama]
このヘルパー:
AI システムとの統合に備えてツールを準備するには、ツールを JSON に適した形式でラップする必要があります。
touch code_analyzer.py
これらのラッパーは、入力検証、JSON シリアル化、エラー処理を追加して、アシスタントのエラー耐性を高めます。
この投稿では、環境を設定し、結果を構造化し、エージェントのツールとして使用する機能を構築しました。次のパートでは、実際に AI アシスタントを作成し、これらのツールを登録し、コマンドライン インターフェイスを構築して、このアシスタントの動作を確認します。
次のステップはパート 2: アシスタントとコマンド ライン インターフェイスの構築です。
ClientAI について詳しくは、ドキュメントをご覧ください。
ご質問がある場合、テクノロジー関連のトピックについて話し合いたい場合、またはフィードバックを共有したい場合は、ソーシャル メディアでお気軽にご連絡ください:
以上がClientAI と Ollama を使用してローカル AI コード レビューアーを構築するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。