본문 바로가기
IT & Tech 정보

🚀 실무자를 위한 AI 도구 사용 가이드 & 핵심 코드 스니펫

by 지식과 지혜의 나무 2025. 5. 25.
반응형


안녕하세요, 즐로그 운영자입니다!
이번 포스트에서는 실무자 입장에서 자주 쓰이는 AI·자동화 도구들의 핵심 사용 가이드와 즉시 활용 가능한 코드 스니펫을 한 번에 모아봤습니다.
“어디서부터 손대야 할지” 막막할 때, 여기 있는 예제를 복사해 붙여넣기만 하면 바로 테스트해볼 수 있어요~ 😉

⸻

📋 목차
1. ChatGPT API 기본 호출 가이드
2. Vertex AI AutoML 빠른 시작
3. Azure Form Recognizer OCR 활용
4. UiPath RPA 스크립트 예제
5. Python 모니터링 에이전트

⸻

1️⃣ ChatGPT API 기본 호출 가이드

목적: ChatGPT 모델에 프롬프트 보내고 응답 받기
• 환경: Python 3.8+, openai 패키지

import os
import openai

# 1) 환경 변수 세팅 (bash)
# export OPENAI_API_KEY="YOUR_KEY"

# 2) 클라이언트 초기화
openai.api_key = os.getenv("OPENAI_API_KEY")

# 3) 간단 채팅 요청
response = openai.ChatCompletion.create(
    model="gpt-4o-mini",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "안녕하세요, 오늘 뉴욕 날씨 어때요?"}
    ],
    max_tokens=100,
    temperature=0.7
)

# 4) 응답 출력
print(response.choices[0].message.content)

Tip:
• temperature 0.0–1.0 조정으로 응답 창의성 제어
• max_tokens로 토큰 사용량 제한

⸻

2️⃣ Vertex AI AutoML 빠른 시작

목적: CSV 데이터로 분류 모델 학습→엔드포인트 배포
• 환경: Python 3.8+, google-cloud-aiplatform

from google.cloud import aiplatform

# 1) 초기화
aiplatform.init(project="프로젝트ID", location="us-central1")

# 2) 데이터셋 생성
ds = aiplatform.TabularDataset.create(
    display_name="churn_ds",
    gcs_source=["gs://버킷/churn.csv"]
)

# 3) AutoML 분류 작업
job = aiplatform.AutoMLTabularTrainingJob(
    display_name="churn_job",
    optimization_prediction_type="classification",
    optimization_objective="roc_auc"
)

model = job.run(
    dataset=ds,
    target_column="churned",
    training_fraction_split=0.8,
    validation_fraction_split=0.1,
    test_fraction_split=0.1,
    budget_milli_node_hours=800
)

# 4) 엔드포인트 배포
endpoint = model.deploy(machine_type="n1-standard-4", min_replica_count=1)
print("엔드포인트 URL:", endpoint.resource_name)

Tip:
• budget_milli_node_hours로 학습 예산 조절
• optimization_objective를 업무 KPI에 맞춰 설정

⸻

3️⃣ Azure Form Recognizer OCR 활용

목적: 스캔된 문서(PDF/JPG)에서 텍스트 추출
• 환경: Python 3.8+, azure-ai-formrecognizer

from azure.ai.formrecognizer import DocumentAnalysisClient
from azure.core.credentials import AzureKeyCredential

# 1) 클라이언트 설정
endpoint = "https://<리전>.api.cognitive.microsoft.com/"
credential = AzureKeyCredential("<YOUR_KEY>")
client = DocumentAnalysisClient(endpoint, credential)

# 2) 문서 분석 시작
poller = client.begin_analyze_document(
    "prebuilt-document",
    {"url": "https://example.com/invoice.pdf"}
)
result = poller.result()

# 3) 텍스트 라인 출력
for page in result.pages:
    for line in page.lines:
        print(line.content)

Tip:
• prebuilt-invoice 등 특정 문서 유형 지정 가능
• PDF 내 표·테이블 추출도 지원

⸻

4️⃣ UiPath RPA 스크립트 예제

목적: 웹 로그인→데이터 추출→엑셀 저장
• 환경: UiPath Studio, UiPath Robot

<!-- 워크플로우 예시 (XAML) -->
<Activity mc:Ignorable="sap sap2010" ...>
  <Sequence DisplayName="WebToExcel">
    <!-- 1. 브라우저 열기 -->
    <OpenBrowser Url="https://example.com/login" BrowserType="Chrome" />
    <!-- 2. 입력 필드에 자격증명 입력 -->
    <TypeInto Selector="username_input" Text="[아이디]" />
    <TypeInto Selector="password_input" Text="[비밀번호]" />
    <Click Selector="login_button" />
    <!-- 3. 데이터 테이블 추출 -->
    <ExtractStructuredData Selector="table_selector" OutputDataTable="dt" />
    <!-- 4. 엑셀에 쓰기 -->
    <ExcelApplicationScope FilePath="output.xlsx">
      <WriteRange DataTable="dt" SheetName="Sheet1" />
    </ExcelApplicationScope>
  </Sequence>
</Activity>

Tip:
• Retry Scope 액티비티로 네트워크 오류 대비
• Queue 와 Transaction 개념 적용해 대량 작업 확장

⸻

5️⃣ Python 모니터링 에이전트

목적: 서비스 헬스체크→자동 재시작→알림
• 환경: Python 3.8+, requests, 시스템 서비스

import time, requests, subprocess, logging

logging.basicConfig(level=logging.INFO, format="%(asctime)s %(levelname)s %(message)s")
HEALTH_URL = "http://localhost:8000/health"
RETRY_MAX = 3

def monitor():
    for i in range(1, RETRY_MAX+1):
        try:
            r = requests.get(HEALTH_URL, timeout=3)
            if r.status_code == 200:
                logging.info("서비스 정상")
                return
        except Exception as e:
            logging.warning(f"헬스체크 실패#{i}: {e}")
            time.sleep(2**i)
    logging.error("자동 복구 실행")
    subprocess.run(["systemctl", "restart", "my-service"])

if __name__ == "__main__":
    while True:
        monitor()
        time.sleep(60)

Tip:
• 2**i 식 지수 백오프로 과도 호출 방지
• 복구 실패 시 Slack·메일 연동 알림 추가

⸻

🎉 마무리

지금까지 실무자 관점에서 자주 쓰이는 5가지 AI·자동화 도구의
“핵심 사용 가이드 + 코드 스니펫”을 정리했습니다.
각 예제를 그대로 복사·붙여넣어 즉시 실험해보시고,
필요에 맞게 파라미터만 수정해 활용해보세요!

즐거운 개발·자동화 되시길 바랍니다~ 👋

반응형