로컬 시스템에서 완전히 실행되는 AI 기반 코드 검토기를 원한 적이 있습니까? 두 부분으로 구성된 이 튜토리얼에서는 ClientAI와 Ollama를 사용하여 이를 정확하게 구축하겠습니다.
저희 어시스턴트는 Python 코드 구조를 분석하고 잠재적인 문제를 식별하며 개선 사항을 제안하는 동시에 코드를 비공개로 안전하게 유지합니다.
ClientAI 문서는 여기를, Github Repo는 여기를 참조하세요.
저희 코드 분석 도우미는 다음을 수행할 수 있습니다.
이 모든 작업은 귀하의 컴퓨터에서 로컬로 실행되므로 코드의 완전한 개인 정보 보호를 유지하면서 AI 지원 코드 검토 기능을 제공합니다.
먼저 프로젝트에 대한 새 디렉터리를 만듭니다.
mkdir local_task_planner cd local_task_planner
Ollama 지원을 통해 ClientAI 설치:
pip install clientai[ollama]
시스템에 Ollama가 설치되어 있는지 확인하세요. 올라마 홈페이지에서 받으실 수 있습니다.
이제 코드를 작성할 파일을 만들어 보겠습니다.
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
저희 스타일 검사기는 두 가지 주요 측면에 중점을 둡니다.
문서화는 유지 관리 가능한 코드에 매우 중요합니다. 문서 생성기는 다음과 같습니다.
pip install clientai[ollama]
이 도우미:
AI 시스템과의 통합을 위한 도구를 준비하려면 이를 JSON 친화적인 형식으로 래핑해야 합니다.
touch code_analyzer.py
이 래퍼는 입력 유효성 검사, JSON 직렬화 및 오류 처리를 추가하여 어시스턴트의 오류 방지 기능을 강화합니다.
이 게시물에서는 환경을 설정하고 결과를 구조화했으며 에이전트 도구로 사용할 기능을 구축했습니다. 다음 부분에서는 실제로 AI 도우미를 만들고, 이러한 도구를 등록하고, 명령줄 인터페이스를 구축하고, 이 도우미가 실제로 작동하는 모습을 살펴보겠습니다.
다음 단계는 2부: Assistant 및 명령줄 인터페이스 구축입니다.
ClientAI에 대해 자세히 알아보려면 문서로 이동하세요.
질문이 있거나 기술 관련 주제에 대해 토론하고 싶거나 피드백을 공유하고 싶다면 언제든지 소셜 미디어를 통해 저에게 연락하세요.
위 내용은 ClientAI 및 Ollama를 사용하여 로컬 AI 코드 검토자 구축의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!