반응형

PYTHON 35

초보자를 위한 2025년 AI 에이전트 프레임워크 가이드: LangGraph, CrewAI, AutoGen 비교 분석

2025년은 AI 에이전트가 핫할 것이라는 것은 이제 많은 사람들이 알 것이다. 그러면 그냥 나에게 주어진 제품을 사용하듯이 사용할 수 있을까? 아니 회사들이 제품으로 제공하는 AI 에이전트만 사용하면 되는 것일까라는 질문이 맞을 것 같다. AI 에이전트가 하루가 다르게 진화하고 있고 어느 정도 안정적인 기능을 제공하는 시점에 접해도 될 것이라고 생각할 수도 있다고 본다. 하지만, AI 에이전트와 함께 내 삶의 변화를 주도하고 싶은 사람이라면 좀 더 적극적으로 AI 에이전트를 내 삶에 적용하고 싶을 것이고 그 방법을 모색해 볼 것이라고 생각한다.그런 의미에서 AI 에이전트를 나에게 맞춤형으로 만들어 나가는 것은 개발자 뿐만 아니라 일반인들에게도 필수?가 된 것이 아닐까 싶다. 물론 예전처럼 직접 코딩을 ..

파이썬과 인공지능: 미래를 살아가는 기술 지금 당장 배우기

요즘 LLM 인공지능으로 세상이 또 하나의 변화에 직면한 것으로 보인다. 그 중에서 가장 앞선 곳이 OpenAI라고 할 수 있다. AI의 구조에 대해 좀 더 빠르게 알아보는 것이 필요한 시점이라 생각한다. 1. AI 프로젝트 시작하기 요즘 ChatGPT로 촉발된 LLM(Large Language Model)이 폭발적으로 성장하고 있다. 이로 인해 많은 사람들이 인공지능에 대해 정말 많은 관심을 갖게 되었다. 파이썬은 그 여정에 있어서 강력한 동반자가 될 것이라고 생각한다. 왜냐하면 대부분의 인공지능 라이브러리를 파이썬에서 지원하고 있고, 배우기 쉽고 사용하기 편한 파이썬 언어가 인공지능 분야에서는 대세라고 생각하기 때문이다. 머신 러닝 라이브러리 소개 Scikit-Learn Scikit-Learn은 사용..

파이썬을 이용한 PDF 텍스트 추출: PyPDF2 라이브러리 활용 가이드

PyPDF2 맛보기 가끔 pdf파일에서 텍스트를 추출할 일이 있다. 그때 활용할 수 있도록 Python언어로 pdf파일에서 텍스트를 읽어오는 방법에 대해 예제 코드와 함께 알아본다. 1. 필요한 라이브러리 PDF파일을 읽어들이기 위해 PyPDF2 라이브러리를 설치한다. !pip install PyPDF2 2. 예시 코드 공개된 사이트에서 PDF파일을 갖고 온다. 이번에는 국토교통부 홈에 있는 보도자료에 바로 올라온 '주택건설사업 인허가 속도 높인다'라는 제목의 파일을 읽어들일 것이다. 쉽게 설명하기 위해 주 디렉토리에 'sample.pdf'라는 파일명으로 다운받아 저장했다. # 라이브러리를 읽어들인다. from PyPDF2 import PdfReader # PDF파일을 읽어서 reader라는 변수에 저장..

Time Series 관련 함수들과 kaggle data API 설정

Timestamp Timestamp()는 시간의 단일 시점을 나타낸다. 파이썬 datetime.datetime 객체와 동일한 기능을 한다. date 또는 datetime 스트링과 함께 pd.Timestamp() 함수를 사용해 Timestamp 객체를 만들 수 있다. import pandas as pd timestamp_ex = pd.Timestamp('2023-09-10 12:00:00') Period Period()는 하루, 한달, 또는 일년과 같이 시간의 일정 기간을 나타낸다. date 또는 datetime 스트링과 빈도(freq)와 함께 pd.Period() 함수를 사용해 Period 객체를 만들 수 있다. period_ex = pd.Period('2023-10', freq='M') Timedelt..

pandas DataFrame 에서 loc, iloc 사용

pandas는 Series, DataFrame 두개를 중심으로 데이터를 다룬다. 그 중 DataFrame에서 주로 사용하는 명령을 먼저 간단히 정리해 본 다음, loc와 iloc를 알아볼 것이다. 먼저 라이브러리를 읽어들인다. import pandas as pd import numpy as np 그 다음 사용할 데이터를 DataFrame 데이터 유형으로 만든다. dates = pd.date_range('2023-09-01', periods=6) df = pd.DataFrame(np.random.randn(6,5), index = dates, columns=['A', 'B', 'C', 'D', 'E']) df head() 명령을 사용하면 기본적으로 첫 5행을 보여준다. 괄호에 숫자를 기입하면 그 숫자만큼 ..

주피터 노트북(Jupyter Notebook) 서버 접속 및 실행

보통 ML이 가능한 서버와 원격으로 접속하는 클라이언트 환경에서 주피터 노트북을 사용한다. 그리고, 서버는 리눅스(또는 우분투) 환경에서 사용하는 것이 일반적이라고 생각하기에 그런 환경을 염두에 두고 정리한다. 서버 주소를 알고 있다는 가정하에, SSH로 서버에 접속한다. SSH 아이디@192.168.0.123 아이디@192.168.0.123's password: 패스워드를 입력하고, 접속하면 원격 서버에 접속하게 된다. 아이디@sss:~$ jupyter notebook --generate-config 콘솔 창에서 위 jupyter notebook --generate-config를 입력하면, jupyter_notebook_config.py 파일이 생성된다. 우분투의 ls -al 명령을 실행하면 현재 위치..

jupyter notebook 원격 접속 설정

요즘 딥러닝 프로그램을 돌리는 컴퓨터가 있는 사무실에 계속 있기 어려운 환경에 있습니다. 그래서, 외부에서 컴퓨터를 온오프할 수 있도록 공유기 원격접속과 컴퓨터 WOL 기능을 켜두었습니다.그리고 가장 많이 사용하고 있는 jupyter notebook을 원격지에서 사용할 수 있도록 세팅하였습니다.1. 방화벽 해제 : 먼저 우분투 포트 방화벽 해제 및 공유기 포트포워드 설정을 합니다.>> sudo ufw allow 8888(jupyter notebook의 기본포트로 원하시는 포트로 변경 가능)2. jupyter notebook 암호 설정로컬에서만 사용할 경우에는 보통 암호 설정 없이, 토큰을 이용해 접근했었습니다. 그렇지만 원격 접속은 보안을 위해 암호를 설정하는 것이 더 편하고 좋습니다. jupyter 서..

데이터 정제(Data Cleaning)와 정규화(Normalizing) : 사이킷런(Scikit-learn) 기초

머신러닝에 있어, 가장 먼저해야 하는 일 중 하나가 데이터 정제(Data Cleaning)입니다. 왜냐하면 바로 모델을 훈련할 수 있는 데이터셋을 확보하는 것이 실제로는 매우 어렵기 때문입니다. 따라서, 결측값(NaN)은 없는지, 이상치(outlier)는 없는지 알아보기 위해 데이터셋을 주의깊게 살펴보아야 합니다. 값이 큰 열이 있는 경우 정규화를 통한 보정이 필요하기도 합니다. 이번에는 데이터 정제(Data Cleaning)에 필요한 일반적인 작업에 대해 알아보도록 하겠습니다. 결측값(NaN)이 있는 열 정제하기 다음 데이터로 된 NaNDataset.csv 파일이 있다고 가정하겠습니다. 눈으로 봐도 몇개 열에 결측값이 있는 것을 확인할 수 있습니다. 작은 데이터셋에서는, 쉽게 결측값을 찾을 수 있습니다..

데이터셋 획득 : 사이킷런(Scikit-learn) 기초

Scikit-learn 라이브러리는 파이썬에서 가장 유명한 머신러닝 라이브러리 중 하나로, 분류(classification), 회귀(regression), 군집화(clustering), 의사결정 트리(decision tree) 등의 다양한 머신러닝 알고리즘을 적용할 수 있는 함수들을 제공합니다. 이번에는 머신러닝 수행 방법을 알아보기 전에, 다양한 샘플 데이터를 확보할 수 있는 방법들을 알아보려고 합니다. 데이터셋(Datasets) 얻기 머신러닝을 시작할 때, 간단하게 데이터셋을 얻어서 알고리즘을 테스트해 보는 것이 머신러닝을 이해하는데 있어 매우 유용합니다. 간단한 데이터셋으로 원리를 이해한 후, 실제 생활에서 얻을 수 있는 더 큰 데이터셋을 가지고 작업하는 것이 좋습니다. 우선 머신러닝을 연습하기 위..

데이터 삭제 (Pandas 레시피)

이번에는 pandas에서 데이터를 삭제하는 방법에 대해 알아보고자 합니다. 1. pandas, numpy 라이브러리를 불러들입니다. >>> import pandas as pd >>> numpy as np 2. 다음 주소에서 데이터셋을 읽어들입니다. >>> url = 'https://archive.ics.uci.edu/ml/machine-learning-databases/wine/wine.data' 3. 읽어들인 데이터셋을 wine 변수에 저장합니다. >>> wine = pd.read_csv(url) >>> wine.head() 4. 컬럼들 중에서 첫번째, 네번째, 일곱번째, 아홉번째, 열두번째, 열세번째, 열네번째 컬럼을 삭제합니다. >>> wine = wine.drop(wine.columns[[0, 3..

반응형