Python
AI 에이전트 시작하기: LangGraph 개념과 실습
AI 에이전트 시작하기: LangGraph 개념과 실습
2024.11.26AI 에이전트는 LLM(Large Language Model)을 활용하여 복잡한 작업을 수행하는 자동화된 시스템입니다. 일반적인 LLM 사용이 단순 프롬프트-응답 방식이라면, 에이전트는 더 복잡하고 반복적인 작업을 수행할 수 있습니다.AI 에이전트의 핵심 디자인 패턴계획(Planning): 작업을 수행하기 위한 단계를 미리 생각하고 계획합니다.도구 사용(Tool Use): 검색, 계산 등 필요한 도구들을 활용합니다.반성(Reflection): 결과를 반복적으로 개선하며, 여러 LLM이 결과를 검토하고 제안할 수 있습니다.다중 에이전트 통신: 각각의 LLM이 고유한 역할을 수행하며 서로 협력합니다.메모리: 여러 단계에 걸친 진행 상황과 결과를 추적합니다. AI와 AI 에이전트의 차이: 깊이 '생각하는' A..
[Python] 함수형 프로그래밍
[Python] 함수형 프로그래밍
2024.11.24함수형 프로그래밍은 함수를 일급 객체로 취급하며, 불변 데이터와 순수 함수를 중심으로 하는 프로그래밍 패러다임입니다. Python은 객체지향 언어이지만, 함수형 프로그래밍의 강력한 기능도 제공합니다. 이 글에서는 Python에서 제공하는 함수형 프로그래밍 기법과 이를 활용하는 방법을 다룹니다.1. 함수형 프로그래밍이란?함수형 프로그래밍은 다음과 같은 특징을 가지고 있습니다:순수 함수: 함수는 입력값만을 사용하며 외부 상태를 변경하지 않습니다.불변성: 데이터는 변경되지 않고, 항상 새 데이터를 반환합니다.고차 함수: 함수를 매개변수로 전달하거나 반환할 수 있습니다.Python에서 함수형 프로그래밍을 지원하는 주요 도구는 map(), filter(), reduce(), 그리고 lambda 함수입니다.2. m..
[Python] 제너레이터 (Generator)
[Python] 제너레이터 (Generator)
2024.11.18Python에서 제너레이터(Generator)는 큰 데이터를 메모리에 효율적으로 처리할 수 있게 도와주는 특별한 이터레이터입니다. 일반적인 함수와 달리, 제너레이터는 값을 한 번에 하나씩 반환하고, 매번 호출될 때 이전 상태를 기억합니다. 제너레이터는 yield 키워드를 사용하여 값을 반환하며, return을 사용하면 더 이상 값을 생성하지 않고 종료됩니다제너레이터의 특징메모리 효율성: 제너레이터는 값을 필요할 때마다 하나씩 생성하므로, 큰 데이터를 처리할 때 메모리를 아낄 수 있습니다.Lazy Evaluation(지연 평가): 모든 값을 한꺼번에 생성하지 않고, 요청할 때마다 값을 생성하여 반환합니다.상태 유지: yield 키워드 덕분에 함수의 상태가 유지되며, 중단된 위치에서 다시 시작할 수 있습니다..
[Python] 정규 표현식 (Regex)
[Python] 정규 표현식 (Regex)
2024.11.12정규 표현식(Regex, Regular Expression)은 문자열에서 특정 패턴을 찾고, 추출하거나, 치환할 때 사용하는 방법입니다. Python에서는 re 모듈을 통해 정규 표현식을 사용할 수 있습니다. 정규 표현식은 다양한 패턴을 통해 복잡한 문자열을 다룰 수 있어, 데이터 처리, 텍스트 분석, 웹 크롤링 등에 자주 활용됩니다.기본적인 정규 표현식 패턴정규 표현식에는 다양한 패턴이 있으며, 기본적인 패턴은 다음과 같습니다:. : 줄 바꿈 문자를 제외한 모든 문자 하나와 일치^ : 문자열의 시작을 의미$ : 문자열의 끝을 의미* : 앞의 문자가 0번 이상 반복됨을 의미+ : 앞의 문자가 1번 이상 반복됨을 의미? : 앞의 문자가 0번 또는 1번 나타남을 의미{n} : 정확히 n번 반복되는 패턴{n,..
[Python] 코드를 한 줄로 줄이는 방법: 내포 표현식과 One-liners
[Python] 코드를 한 줄로 줄이는 방법: 내포 표현식과 One-liners
2024.11.111. 리스트 내포 (List Comprehension)리스트 내포는 조건에 따라 요소를 필터링하거나 변환하여 새로운 리스트를 만들 수 있습니다. 예를 들어, 0부터 9까지의 숫자 중 짝수만 제곱한 리스트를 생성하려면 다음과 같이 작성할 수 있습니다.squares = [x**2 for x in range(10) if x % 2 == 0]print(squares) # [0, 4, 16, 36, 64]2. 딕셔너리 내포 (Dictionary Comprehension)딕셔너리 내포를 사용하면 키-값 쌍을 조건에 맞게 필터링하여 새로운 딕셔너리를 생성할 수 있습니다. 예를 들어, 0부터 4까지의 숫자와 그 제곱을 키-값으로 하는 딕셔너리는 다음과 같이 만들 수 있습니다.squares_dict = {x: x**2..
Python Packaging: pyproject.toml로 프로젝트 설정을 간편하게!
Python Packaging: pyproject.toml로 프로젝트 설정을 간편하게!
2024.04.25Python 프로젝트를 개발하다 보면 프로젝트 설정과 관련된 여러 파일들을 다뤄야 합니다. setup.py, requirements.txt, Pipfile, setup.cfg 등 다양한 파일들이 존재하죠. 하지만 이제 pyproject.toml이라는 새로운 표준이 등장했습니다. 이 글에서는 pyproject.toml에 대해 자세히 알아보고, 어떻게 구성하고 사용하는지 살펴보겠습니다.pyproject.toml 소개pyproject.toml은 Python 프로젝트의 빌드 시스템과 관련된 설정을 포함하는 파일입니다. 패키징 도구뿐만 아니라 linters, type checkers 등 다양한 도구들에서 사용됩니다. pyproject.toml에는 세 가지 TOML 테이블이 있을 수 있습니다.[build-syste..
Google Gemini API 사용하기 - Python (2) : 사용법과 실습
Google Gemini API 사용하기 - Python (2) : 사용법과 실습
2023.12.18Google DeepMind가 개발한 'Gemini'는 멀티모달을 위해 설계된 AI 모델의 집합체입니다. Vertex AI Gemini API를 통해, 사용자는 Gemini Pro Vision와 Gemini Pro 모델에 접근할 수 있게 되었습니다. 이 두 모델은 각각 다양한 멀티미디어 데이터와 자연어 처리 기능을 지원합니다. Gemini Pro: 자연어 처리 작업, 다중턴 텍스트 및 코드 채팅, 그리고 코드 생성과 같은 작업을 처리하는 데에 최적화되어 있습니다. Gemini Pro Vision: 멀티모달 프롬프트를 지원합니다. 사용자는 텍스트, 이미지, 비디오를 포함한 프롬프트 요청을 할 수 있으며, 텍스트나 코드 형태의 응답을 받을 수 있습니다. Gemini API의 모델 정보에 대한 자세한 사양은 ..
Google Gemini API 사용하기 - Python (1) : 사전준비
Google Gemini API 사용하기 - Python (1) : 사전준비
2023.12.152023년 12월 6일, Google은 Gemini(제미나이)라는 Large Multimodal Model을 세상에 공개했습니다. 이 모델은 텍스트, 이미지, 오디오에 이르기까지 광범위하게 다양한 형태의 데이터 처리를 가능하게 합니다. 물론 발표 이후 시연 영상 편집 논란과 실제 사용자들 사이에서는 GPT-4와의 비교를 통해 기대에 못 미치는 것으로 평가되는 경우도 있었습니다. 구글의 제미나이(Gemini) 살펴보기: 우리 생활에 가져올 변화 구글이 현지시간 6일, GPT-4를 능가하는 새로운 AI 모델인 '제미나이(Gemini 또는 제미니)'를 발표했습니다. 이번 발표는 당초 내년 초로 예상되었던 출시 일정을 앞당겨 깜짝 발표를 했습니다. '제미 yunwoong.tistory.com 12월 13일 Go..
OpenAI Assistants API: 시작하기 (Python)
OpenAI Assistants API: 시작하기 (Python)
2023.12.07OpenAI의 API를 활용하는 개발자 수가 200만 명을 넘어섰습니다. 이제 새로운 기술이 형성되고 활용되는 방식에 중대한 변화가 일어나고 있음이 분명해졌습니다. 지난 2023년 11월 6일에 있었던 OpenAI의 첫 개발자 컨퍼런스인 DevDay는 AI의 발전과 도구들에 대한 최신 정보를 소개하는 자리였습니다. 이 중에서도 특히 주목할 만한 것은 지능적이고 반응적인 AI 어시스턴트를 구축할 수 있는 OpenAI Assistants API였습니다. 이 API는 현재 AI 기술을 적용하고 이해하는 방식에 있어 중요한 역할을 하고 있으며, 개발자들에게 새로운 가능성을 열어주고 있습니다. 경험이 풍부한 개발자든, 이제 막 시작한 초보 개발자든, 오늘날의 기술 환경에서 OpenAI Assistants API를..
GPT-4V(ision)를 이용한 이미지 기반 추론 - (Python)
GPT-4V(ision)를 이용한 이미지 기반 추론 - (Python)
2023.12.03이미지 기반 추론은 이미지 내의 객체나 요소들을 기반으로 논리적인 결론이나 추정을 도출하는 과정입니다. GPT-4V를 활용하면, 이미지 내의 정보를 분석하여 구체적인 추론을 수행할 수 있습니다. #1. 필수 패키지 설치 및 준비 GPT-4V를 활용한 이미지 인식 프로젝트를 시작하기 전에, 필요한 Python 패키지들을 설치하고 준비하는 과정이 필요합니다. 1) 패키지 설치 먼저, 필요한 Python 라이브러리를 설치해야 합니다. 이를 위해 Python의 패키지 관리자인 pip를 사용합니다. 다음 명령어를 통해 필요한 패키지들을 설치할 수 있습니다. pip install openai requests pillow matplotlib 이 명령어는 OpenAI의 API를 사용하기 위한 openai, 웹에서 이미..
GPT-4V(ision)를 이용한 얼굴 인식(Face Recognition) - (Python)
GPT-4V(ision)를 이용한 얼굴 인식(Face Recognition) - (Python)
2023.11.27얼굴 인식(Face Recognition)은 이미지 내의 인물을 식별하고 구별하는 기술입니다. GPT-4V를 활용하면, 다양한 이미지에서 특정 인물을 식별하고 관련 정보를 추출하는 것이 가능해집니다. #1. 필수 패키지 설치 및 준비 GPT-4V를 활용한 이미지 인식 프로젝트를 시작하기 전에, 필요한 Python 패키지들을 설치하고 준비하는 과정이 필요합니다. 1) 패키지 설치 먼저, 필요한 Python 라이브러리를 설치해야 합니다. 이를 위해 Python의 패키지 관리자인 pip를 사용합니다. 다음 명령어를 통해 필요한 패키지들을 설치할 수 있습니다. pip install openai requests pillow matplotlib 이 명령어는 OpenAI의 API를 사용하기 위한 openai, 웹에서..
GPT-4V(ision)를 이용한 OCR - (Python)
GPT-4V(ision)를 이용한 OCR - (Python)
2023.11.26이번 글에서는 GPT-4V를 활용한 OCR에 대해 알아보겠습니다. OCR (Optical Character Recognition)은 이미지에서 텍스트를 추출하고 인식하는 기술입니다. 이 기술은 문서 스캔, 명함 인식, 자동 번호판 인식 등 다양한 분야에서 활용됩니다. GPT-4V를 이용하면, 이미지 내의 텍스트를 효과적으로 추출하고 처리할 수 있습니다. #1. 필수 패키지 설치 및 준비 GPT-4V를 활용한 이미지 인식 프로젝트를 시작하기 전에, 필요한 Python 패키지들을 설치하고 준비하는 과정이 필요합니다. 1) 패키지 설치 먼저, 필요한 Python 라이브러리를 설치해야 합니다. 이를 위해 Python의 패키지 관리자인 pip를 사용합니다. 다음 명령어를 통해 필요한 패키지들을 설치할 수 있습니다..