Tech & Development
간단한 RAG(Retrieval-Augmented Generation) 프로그램 만들기 (Python)
간단한 RAG(Retrieval-Augmented Generation) 프로그램 만들기 (Python)
2024.08.15인공지능 기술의 발전으로 대규모 언어 모델(LLM) 이 놀라운 성능을 보여주고 있지만, 여전히 최신 정보 반영이나 특정 도메인 지식 활용에 한계가 있습니다. 이러한 문제를 해결하기 위해 등장한 기술이 바로 RAG(Retrieval-Augmented Generation)입니다. RAG는 '검색 증강 생성'이라고 번역할 수 있으며, LLM의 광범위한 일반 지식과 외부 데이터베이스의 특정 정보를 결합하여 더 정확하고 맥락에 맞는 응답을 생성하는 AI 기술입니다. 이 기술은 최신 정보 반영, 특정 도메인 지식 보강, 환각(Hallucination) 문제 감소 등의 장점을 제공합니다.이 글에서는 RAG의 기본 원리를 이해하고 테스트해 볼 수 있는 간단한 RAG 프로그램을 만들어보겠습니다. 우리가 만들 프로그램은..
CodeGemma 활용 가이드: Gemma 기반의 코드 생성 모델
CodeGemma 활용 가이드: Gemma 기반의 코드 생성 모델
2024.05.19Google의 대규모 언어 모델인 Gemma를 기반으로 개발된 CodeGemma는 코드 생성 및 완성에 특화된 모델입니다. Gemma의 강력한 언어 이해 능력과 방대한 학습 데이터를 바탕으로, CodeGemma는 다양한 프로그래밍 언어와 도메인에서 뛰어난 성능을 발휘합니다.코딩은 소프트웨어 개발의 핵심이지만, 때로는 반복적이고 지루한 작업이 될 수 있습니다. 특히 상용구 코드를 작성하거나 복잡한 문제를 해결하려 할 때 많은 시간과 노력이 필요합니다. 코드 생성과 관련된 대규모 언어 모델(Large Language Models, LLMs)로는 DeepSeek Coder, StarCoder2, Stable Code 등이 있지만, CodeGemma는 속도와 성능 면에서 이들을 앞서고 있습니다.CodeGemma..
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..
다양한 LLM을 이용한 웹 테스트 자동화 (LaVague) - Python
다양한 LLM을 이용한 웹 테스트 자동화 (LaVague) - Python
2024.03.23현대 비즈니스 환경에서 테스트 자동화는 소프트웨어 개발 과정의 핵심 요소로 자리 잡았습니다. 많은 기업들이 효율성과 정확성을 높이기 위해 다양한 테스트 자동화 도구를 도입해 왔습니다. 그러나 기존 개발 방식과 레거시 코드의 복잡성은 자동화 테스트의 적용을 어렵게 만들었습니다. 과거의 규정과 업무 변화에 급히 대응하며 추가된 예외 로직은 코드를 복잡하게 만들었고, 이로 인해 단위 테스트가 사실상 불가능해지는 상황에 이르렀습니다. Ui-Path나 Auto Anywhere와 같은 솔루션을 활용하는 시도도 있었지만, 이러한 도구들 역시 한계에 직면했습니다. 또한, Selenium을 이용한 자동화 접근 방식은 HTML 구조와 DOM에 대한 깊은 이해를 요구하며, 개발자에게 상당한 어려움을 줍니다. 개발자들은 더 ..
YOLOv9 Custom Data 학습 가이드
YOLOv9 Custom Data 학습 가이드
2024.03.18LLM(Large Language Models) 모델의 등장 이전에는 머신러닝(ML) 영역에서 이미지 인식(Object Detection, Recognition, Object Tracking 등)이 크게 주목받았습니다. 그러나 LLM의 등장과 함께 많은 관심이 이 새로운 모델군으로 기울었고, 심지어는 멀티모달 모델도 등장하여 이미지 처리 분야에서도 높은 성능을 보이기 시작했습니다. 하지만, 실제 테스트를 해보면 Object Detection 같은 정밀한 측정이 필요한 영역에서는 이러한 모델들이 한계를 보이는 경우가 많습니다. Object Detection 분야에는 다양한 모델이 존재하지만, 오늘은 YOLO에 대해 이야기해보려 합니다. Object Detection 정리 (History) 이미지 내에서 사..
Claude 3 API 활용: Vision (OCR) - Python
Claude 3 API 활용: Vision (OCR) - Python
2024.03.12"Claude 3 API 활용: Vision (시각적 질문 응답)"에 이어, 이번 글에서는 Claude 3 API의 또 다른 중요 기능인 OCR(광학 문자 인식)에 대해 알아보겠습니다. OCR 기능을 통해 이미지 속 텍스트를 효율적으로 인식하고 추출하는 방법을 살펴보며, Claude 3 API가 제공하는 이미지 처리 능력의 다양한 측면을 더 깊이 이해할 수 있을 것입니다. 기본 설정 Claude 3 API를 활용하기 전에 필요한 기본 설정 과정을 살펴보겠습니다. 이 과정은 Claude 3 API와의 통신을 위한 준비 단계로, 필요한 패키지를 임포트 하고, API 키를 설정하여 API 클라이언트 인스턴스를 초기화하는 작업을 포함합니다. Python 기본 구성은 이전 글을 참고하시기 바랍니다. Import ..
Claude 3 API 활용: Vision (시각적 질문 응답) - Python
Claude 3 API 활용: Vision (시각적 질문 응답) - Python
2024.03.12인공지능 기술이 빠르게 발전하면서 이미지 처리 분야에서의 경쟁도 치열해지고 있습니다. 특히, 최신 AI 모델들은 객체 탐지, 광학 문자 인식(OCR), 이미지 추론 등 다양한 작업을 통해 일상생활과 산업 전반에 혁신을 가져오고 있습니다. 이러한 기술 진보의 흐름 속에서, 최근 공개된 Claude 3 API는 특히 주목할 만한 기능을 제공합니다. 2024년 3월 4일에 발표된 Claude 3는 Vision 기능을 포함하고 있어, 이미지 처리 분야에서 기존의 GPT-4와 같은 모델과의 성능 비교가 가능합니다. 이번 글에서는 Claude 3의 Vision 기능을 활용한 이미지 처리 작업의 효율성과 성능을 직접 알아보도록 하겠습니다. 기본 설정 Claude 3 API를 활용하기 전에 필요한 기본 설정 과정을 살..
Claude 3 API: Python 기본 가이드
Claude 3 API: Python 기본 가이드
2024.03.11Claude API 사용을 위한 환경 설정, 필수 라이브러리 설치, 그리고 첫 API 요청 전송 과정에 대해 안내드립니다. 본 가이드는 Python SDK를 중심으로 설명하되, TypeScript SDK와 직접 HTTP 통합도 지원함을 알려드립니다. 자세한 정보는 클라이언트 SDK 및 API 참조 문서에서 확인 가능합니다. 사전 준비 사항 Claude API 접근 방법과 API 키 생성은 이전에 작성된 가이드를 참고하세요. Claude에 대한 API 접근이 가능한 계정 API 키 (계정 설정을 통해 사용 가능) Python 3.7.1 이상 버전 설치 Claude API 활용 가이드: 기본 설정 최근 인공지능 기술의 발전은 그야말로 눈부신 속도로 진행되고 있습니다. 특히 이미지 처리 분야에서는 다양한 AI..
Claude 3 API 활용 가이드: 기본 설정
Claude 3 API 활용 가이드: 기본 설정
2024.03.11본 가이드에서는 Claude API의 기본 설정과 사용 방법에 초점을 맞추어, 개발자분들이 Claude 3 API를 어떻게 시작하고 활용할 수 있는지에 대한 구체적인 안내를 제공하고자 합니다. Claude API를 통해 이미지 처리, 자연어 처리 등 다양한 작업을 수행하는 방법을 단계별로 설명하며, API 키 생성부터 모델 선택, 실제 요청 전송까지의 과정을 자세히 다룰 예정입니다. Build with Claude Claude API를 사용하고자 한다면 console.anthropic.com에서 계정을 생성할 수 있습니다. 이 콘솔은 API 키를 생성하고, 팀에 사용자를 추가하며, 결제를 설정하고, Workbench에서 Claude를 실험할 수 있는 곳입니다. Claude API에 접근하는 과정은 간단하..
Google 젬마 (Gemma): 사용 가이드
Google 젬마 (Gemma): 사용 가이드
2024.02.232월 21일 (현지시간) 구글은 오픈 모델 "Gemma"를 공개했습니다. Gemma는 Gemini 모델을 개발하기 위해 활용된 기초 연구와 기술을 바탕으로 제작되었으며, 구글이 AI를 모두에게 유익하게 만들기 위한 지속적인 노력의 일환으로 보입니다. Gemma의 핵심 기능 이번에 공개된 Gemma 모델은 두 가지 버전, Gemma 2B와 Gemma 7B로 제공됩니다. 각 모델은 사전 훈련된(pre-trained) 상태와 지시 조정(instruction-tuned) 상태로 제공되며, 이는 개발자들이 자신의 필요에 따라 경량 애플리케이션부터 계산량이 많은 작업까지 다양한 목적으로 최적의 모델을 선택할 수 있도록 합니다. 구글은 이를 통해 개발자들이 쉽게 접근할 수 있으며, 상업적 사용과 배포를 허용함으로써 ..
GPTs Action 기능 활용: 이메일 발송
GPTs Action 기능 활용: 이메일 발송
2024.02.03이전에 GPT를 개인화하는 방법에 대해 이야기했었습니다. 오늘은 그 과정에 Action 기능을 추가하여 GPT의 기능을 더욱 확장하는 방법을 소개하려 합니다. Action을 통해 GPT가 외부 API와 상호 작용할 수 있게 되어, 데이터베이스 연동, 이메일 처리, 쇼핑 어시스턴트 기능 등을 구현할 수 있게 됩니다. 이는 개발자에게 GPT의 기능을 보다 유연하게 활용할 수 있는 능력을 제공합니다. 아래 예제는 Zapier를 이용합니다. Zapier는 다양한 앱과 서비스를 연결하여 자동화를 구현할 수 있는 웹 기반 툴입니다. 이를 통해 개발자는 코드를 직접 작성하지 않고도 GPT와 외부 API 간의 상호 작용을 설정할 수 있습니다. 예를 들어, GPT에서 생성된 데이터를 기반으로 이메일을 보내거나, 데이터베..
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의 모델 정보에 대한 자세한 사양은 ..