Blog
함께하는 프로그래밍과 IT 이야기

효과적인 에이전트 구축하기
이번 노트북에서는 Anthropic의 연구 자료 Building Effective Agentshttps://www.anthropic.com/research/building-effective-agents를 기반으로 에이전트 시스템의 핵심 개념과 구축 패턴을 학습합니다.
08-1. 데이터셋 개념 정리
머신러닝/딥러닝 모델을 학습시킬 때 데이터를 어떻게 나누고 활용하는지 알아봅니다.

고급 RAG 기법 (Advanced RAG Techniques)
이번 노트북은 07-1.rag_evaluation.ipynb에서 이어지는 내용으로, 고급 RAG 기법을 학습하고 동일한 테스트 데이터로 평가합니다.

RAG 시스템 평가 (RAG Evaluation)
이 노트북에서는 RAG 시스템의 검색 품질과 답변 품질을 정량적으로 측정하는 방법을 학습합니다.
RAG 기반 고객 상담 챗봇 만들기
이 노트북에서는 LangChain과 ChromaDB를 사용하여 RAGRetrieval-Augmented Generation 기반의 고객 상담 챗봇을 구축하는 방법을 배웁니다.
고급 RAG: 벡터 데이터베이스를 활용한 문서 검색 시스템
이번 노트북에서는 11번 노트북에서 배운 RAG 개념을 확장하여, 실전에서 사용하는 고급 RAG 시스템을 구축합니다. 벡터 데이터베이스를 사용하여 대량의 문서를 효율적으로 검색하고, LLM이 정확한 답변을 생성하도록 만들어봅니다.
LangChain vs LiteLLM 비교 가이드
> 원문: LangChain vs LiteLLM by Hey Amithttps://medium.com/@heyamit10/langchain-vs-litellm-a9b784a2ad1a
Vector Embeddings와 RAG 기초
이번 노트북에서는 현대 AI 시스템의 핵심 기술인 벡터 임베딩Vector Embeddings 과 RAGRetrieval-Augmented Generation 에 대해 알아봅니다.
LLM 벤치마크 완전 가이드: 모델 성능 평가의 모든 것
대규모 언어 모델LLM이 빠르게 발전하면서, 모델의 성능을 객관적으로 평가할 수 있는 벤치마크의 중요성이 커지고 있습니다.
Tool Use (Function Calling)
LLM에게 도구Tool 를 제공하면, AI가 외부 함수를 호출하여 실시간 정보를 가져오거나 작업을 수행할 수 있습니다.
Google Colab 사용해보기: 무료로 GPU 환경에서 AI 모델 실행하기
!Open In Colabhttps://colab.research.google.com/assets/colab-badge.svghttps://colab.research.google.com/github/your-repo/google_colab_gpu_guide.ipynb
Hugging Face 완전 정복: AI 모델의 GitHub
Hugging Face는 AI/ML 커뮤니티에서 가장 인기 있는 플랫폼으로, 수십만 개의 사전 학습된 모델과 데이터셋을 제공합니다. "AI 모델의 GitHub"라고 불리며, 누구나 모델을 공유하고 사용할 수 있습니다.
Gradio 기본 사용법
Gradiohttps://gradio.app는 머신러닝 모델이나 Python 함수를 위한 웹 UI를 빠르게 만들 수 있는 프레임워크입니다.

Multi-Modal AI 기초
Multi-Modal AI는 텍스트, 이미지, 음성 등 여러 형태의 데이터를 처리할 수 있는 AI입니다.
LLM을 활용한 회의록 자동 요약 시스템
회의록 작성은 많은 조직에서 필수적이지만 시간이 많이 소요되는 작업입니다. 회의 내용을 정확하게 기록하고, 핵심 내용을 요약하며, 액션 아이템을 정리하는 데 회의 시간만큼의 시간이 걸릴 수 있습니다.
System Message 활용하기
System message를 활용하면 챗봇에 특정 역할, 컨텍스트, 행동 지침을 부여할 수 있습니다. 이번 노트북에서는 System message를 효과적으로 활용하는 방법을 알아봅니다.
LLM API 고급 (Part 3/3)
이 노트북은 LLM API 시리즈의 마지막 파트로, 프로덕션 수준의 고급 기법들을 다룹니다.
LLM API 중급 (Part 2/3)
이 노트북은 LLM API 시리즈의 두 번째 파트로, 실무에서 필요한 다양한 기법들을 다룹니다.
LLM API 기초 (Part 1/3)
이 노트북은 LLM API 시리즈의 첫 번째 파트로, 대형 언어 모델 API의 기본 개념과 사용법을 다룹니다.

LLM Inference 이해하기: 토큰 예측의 마법
이 노트북에서는 대규모 언어 모델LLM의 Inference추론 과정을 실습을 통해 이해합니다. LLM이 어떻게 텍스트를 생성하는지, 그 내부 메커니즘을 시각화하여 살펴봅니다.
LLM Tokenizer 추가 학습
from huggingface_hub import login
LLM 토큰 기본 개념
이번 노트북에서는 LLM의 핵심 개념인 토큰Token 과 무상태Stateless 특성에 대해 알아봅니다.

Stack 과 Heap — 프로그램 메모리의 두 기둥
프로그램이 사용하는 메모리 영역인 Stack 과 Heap 의 동작 원리, 스택 프레임의 생성과 소멸, 힙 메모리 할당과 해제, 그리고 메모리 누수가 발생하는 원인을 알아봅니다.
[MAUI 활용] BookStore 만들기 (3) - Model 과 Service 만들기
이제 프로젝트를 생성했고 본격적으로 BookStore 앱을 개발하기 위한 작업을 진행하겠습니다. BookStore 앱은 도서 정보에 대한 간단한 CRUD 기능을 제공할 예정입니다. 이를 위해서 간단히 책에 대한 정보를 갖고 있는 Model 클래스를 생성하겠습니다.
![[MAUI 활용] BookStore 만들기 (2) - Community Toolkit 설치](/images/blog/2024/10/toolkit-1024x719.png)
[MAUI 활용] BookStore 만들기 (2) - Community Toolkit 설치
MVVM 패턴을 사용하기 위해서는 MVVM Toolkit 라이브러리를 설치하는 것이 좋습니다. 물론, 이러한 라이브러리 없이 모두 직접 코딩을 통해서 구현을 할 수도 있지만, 코딩해야 할 양도 만만치 않고 신경써야 할 부분도 많습니다. 다행히 시중에는 MAUI 를
![[MAUI 활용] BookStore 만들기 (1) - 프로젝트 생성](/images/blog/2024/10/create-project.jpg)
[MAUI 활용] BookStore 만들기 (1) - 프로젝트 생성
이번 포스팅부터는 몇차례에 걸쳐 MAUI 를 활용하여 아주 간단한 BookStore 앱을 만들어보겠습니다. MAUI 에 대한 기본 구조를 파악하는데 도움이 될 것이라고 생각됩니다. 이번 글에서는 신규로 MAUI 프로젝트를 생성하고 기본 패키지 구조까지 생성하도록
[MAUI 기본] 데이터바인딩 - Compiled Binding
이번에는 Compiled Binding 에 대해서 알아보도록 하겠습니다. Compiled Binding의 주요 특징 1. 컴파일 타임 유효성 검사: 일반적인 데이터 바인딩은 런타임에서 바인딩 오류를 발견하지만, Compiled Binding은 컴파일 타임에 바인딩
[MAUI 기본] 데이터바인딩 - Relative Binding
이번에는 데이터바인딩을 구현하면서 사용하는 Relative Binding 에 대해서 알아보겠습니다. MS 공식 사이트에서는 아래와 같이 Relative Binding 에 대해서 설명되어 있습니다. ".NET Multi-platform App UI .NET MAUI의
![[MAUI 기본] 데이터바인딩 - 바인딩 모드](/images/blog/2024/10/databinding-mode.png)
[MAUI 기본] 데이터바인딩 - 바인딩 모드
이번에는 데이터 바인딩 모드에 대해서 간단하게 정리해 보겠습니다. 데이터 바인딩 모드는 데이터가 View뷰, UI와 ViewModel데이터 소스 사이에서 어떻게 흐를지를 결정하는 방식입니다. 여기에는 다양한 바인딩 모드가 있으며, 각 모드는 데이터 흐름의 방향을
![[MAUI 기본] 데이터바인딩 - 기본 개념](/images/blog/2024/10/databinding-basic-2.png)
[MAUI 기본] 데이터바인딩 - 기본 개념
데이터 바인딩Data Binding은 UI 요소와 데이터 소스 간의 연결을 설정하여, 데이터가 변경될 때 UI가 자동으로 업데이트되도록 하는 기술입니다. 이를 통해 코드의 유지보수성과 재사용성을 높일 수 있습니다. MAUI 에서 데이터 바인딩은 XAML이나 코드에서
![[MAUI 기본] MVVM 개요](/images/blog/2024/10/mvvm.png)
[MAUI 기본] MVVM 개요
MAUI 에서 자주 사용하는 MVVM 패턴에 대해서 간단하게 설명드리겠습니다. MVVM 패턴 MVVM은 모델Model, 뷰View, 뷰모델ViewModel의 약자로, 이 패턴의 세 가지 구성 요소를 나타냅니다. 아래 다이어그램은 MS 공식 사이트에서 제공하는 MVVM
![[MAUI 기본] Page Navigation](/images/blog/2024/10/flyout-menu.png)
[MAUI 기본] Page Navigation
일반적으로 어플리케이션은 여러개의 페이지로 구성되어 있습니다. 이번 장에서는 여러개의 페이지를 구성하는 방법에 대해서 간단히 살펴보겠습니다. 우선 샘플 소스를 보기 전에 MAUI 프로젝트를 생성하면 기본적으로 만들어지는 AppShell 에 대해서 알아보도록
![[MAUI 기본] 공유리소스 활용하기](/images/blog/2024/10/yellow-car-1.png)
[MAUI 기본] 공유리소스 활용하기
어플리케이션을 개발할 때 소스의 여러곳에서 공통적으로 사용하는 리소스를 정의하여 사용하는 경우가 많습니다. 이번에는 공유리소스 파일을 생성하고, 리소스파일에 정의한 내용을 xaml 에서 사용하는 간단한 예제를 설명하겠습니다. SharedResources.cs
![[MAUI 기본] 플랫폼별 다른 속성 지정하기](/images/blog/2024/10/yellow-car-1.png)
[MAUI 기본] 플랫폼별 다른 속성 지정하기
MAUI 를 사용하여 개발을 진행할 때 플랫폼별로 다른 디자인 속성을 정의해야 할 필요성이 있을 때가 있습니다. 이러한 때 사용할 수 있는 방법을 소개합니다. 두가지 방식을 사용할 수가 있는데요. codebehind 파일에서 프로그래밍적으로 정의할 수도 있고 xaml
![[MAUI 기본] Mac 기반 Window VM 에서 Android Emulator 사용하기](/images/blog/2024/10/android-device.png)
[MAUI 기본] Mac 기반 Window VM 에서 Android Emulator 사용하기
Mac 에서 일반적으로 Window 를 사용하기 위해서는 일반적으로 Parallels 를 사용하게 된다. .NET MAUI 를 공부하면서 Android 에뮬레이터를 사용해야 했지만, Parallel 을 사용하는 경우 ARM 기반의 Windows 환경에서는
Javassist를 이용한 Java 클래스 조작
Javassist 라이브러리와 Java Agent를 사용하여 메서드 수정, 동적 멤버 추가, 시스템 클래스 변조를 구현하는 방법을 설명합니다.
ASM을 이용한 Java 클래스 조작 (Part 4)
MethodVisitor를 사용하여 메서드를 변형하고, 메서드 실행 시간을 측정하는 기능을 소스 코드 수정 없이 추가하는 예제를 구현합니다.
ASM을 이용한 Java 클래스 조작 (Part 3)
JVM의 실행 모델인 Stack Frame(Local Variable Array, Operand Stack)의 동작 원리와 JVM 명령어 카테고리, ClassWriter 옵션을 설명합니다.

ASM을 이용한 Java 클래스 조작 (Part 2)
ClassReader, ClassVisitor, ClassWriter 의 변환 체인 구조를 이해하고, 클래스에 멤버 변수를 추가하는 AddFieldCV 예제를 구현합니다.

ASM을 이용한 Java 클래스 조작 (Part 1)
BCI(Byte Code Instrumentation)의 개념과 Java Class 구조, Type Descriptor, ASM 라이브러리의 핵심 클래스인 ClassVisitor, ClassReader, ClassWriter를 소개합니다.