-
langchain, astream() vs ainvoke()
langchain을 이용한 chat client를 만들다보면, 이 두개 함수의 차이를 크게 느끼는데, 똑같은 로직에서 함수만 다르게 쓰는데도 응답 품질에 큰 차이가 발생됩니다. 지금부터 이 두개 함수의 차이에 대한 포스팅을 하겠습니다. ainvoke()와 astream()은 LangChain 라이브러리에서 사용되는 두 가지 주요 비동기 실행 함수입니다. 이 둘의 가장 큰 차이점은 결과를 반환하는 방식에 있습니다. ainvoke() ainvoke()는 단일 결과를 비동기적으로 반환합니다.…
-
RAGOps: 차세대 AI 운영의 새로운 패러다임
검색 증강 생성(Retrieval Augmented Generation, RAG)은 생성형 AI와 대규모 언어 모델(LLM) 기반 애플리케이션 분야에서 가장 널리 적용되는 기술 중 하나입니다. Databricks 보고서에 따르면, LLM 기반 애플리케이션의 60% 이상이 어떤 형태로든 RAG를 사용하고 있습니다. 연간 약 40%의 성장률을 보이는 글로벌 LLM 시장에서 RAG는 반드시 숙달해야 할 핵심 기술 중 하나입니다. 인공지능이 비즈니스 운영의 핵심으로 자리잡으면서, 단순히…
-
RAG 완벽 가이드: 대형 언어 모델의 한계를 극복하는 검색 증강 생성
들어가며 ChatGPT, GPT-4, Gemini 등의 대형 언어 모델(LLM)이 놀라운 성능을 보여주고 있지만, 여전히 중요한 한계점들이 존재합니다. 최신 정보에 대한 지식 부족, 잘못된 정보 생성(할루시네이션), 그리고 도메인별 전문 지식의 부족 등이 그것입니다. 이러한 문제를 해결하기 위해 등장한 것이 바로 RAG(Retrieval Augmented Generation, 검색 증강 생성)입니다. RAG는 단순히 기존 LLM의 성능을 향상시키는 것을 넘어서, 실시간으로 업데이트되는 외부…
-
MCP Client: Streamlit과 MCP, LangChain으로 동적 툴(Tool) 라우팅 에이전트 구축
최근의 AI Client는 단순히 정해진 답변만 하는 것을 넘어, MCP와 같은 프로토콜을 기반으로 외부 도구를 활용하고 여러 AI 모델의 능력을 조합하여 복잡한 문제를 해결하는 방향으로 진화하고 있습니다. 이번 글에서는 사용자의 질문에 맞춰 최적의 도구를 동적으로 선택하고, 여러 AI 에이전트의 답변을 종합하여 최종 결과를 제공하는 챗봇을 만드는 방법을 소개합니다. 이 MCP Client는 Streamlit으로 만든 UI 뒤에서,…
-
AI의 새로운 흐름: CAG, TAG, RAG을 파헤치다
최근 생성형 AI의 발전과 함께 다양한 Augmented Generation 기술들이 주목받고 있습니다. 그 중에서도 Cache Augmented Generation(CAG, 캐시 증강 생성), Table Augmented Generation(TAG, 테이블 증강 생성), Retrieval Augmented Generation(RAG, 검색 증강 생성)은 각각 고유한 특징과 장점을 가지고 있어 다양한 상황에서 활용되고 있습니다. 각 접근 방식은 LLM의 응답을 사실적이고 맥락에 맞는 데이터에 기반하도록 만드는 근본적인 과제를 해결하지만,…
-
CrewAI: 멀티 에이전트 AI 자동화
CrewAI 소개 인공지능 기술이 빠르게 발전하면서, 단일 AI 모델의 한계를 극복하고 더 복잡한 작업을 효율적으로 처리할 수 있는 멀티 에이전트 시스템에 대한 관심이 높아지고 있습니다. 이러한 트렌드 속에서 CrewAI는 멀티 에이전트 AI 자동화 플랫폼으로 주목받고 있으며, GitHub에서 29.4K개의 스타를 받으며 Fortune 500 기업의 60%가 사용하고 있는 혁신적인 프레임워크입니다. 이러한 설계를 위해서는 langGraph를 이용한 방법도 있긴…
-
넷플릭스 미니시리즈 ‘라 팔마(La Palma)’: 몰입감 높은 짧은 미리 시리즈 재난 드라마
넷플릭스의 노르웨이 재난 드라마 미니시리즈 ‘라 팔마(La Palma)’는 현실에 기반한 화산 재해를 배경으로 한 가족 드라마로, 시청자들에게 긴장감 넘치는 이야기를 선사합니다. 2024년 12월 12일 공개된 이 작품은 카나리아 제도의 라 팔마 섬에서 휴가를 보내던 노르웨이 가족이 임박한 화산 폭발과 그로 인한 쓰나미 위험에 맞서는 이야기를 담고 있습니다. 이 드라마는 쿰브레 비에하(Cumbre Vieja) 쓰나미 위험 가설에서…
-
MCP Proxy: 서버 트랜스포트 간 전환을 위한 필수 도구
MCP Proxy는 서로 다른 서버 통신 방식(트랜스포트) 간의 전환을 가능하게 해주는 유용한 도구입니다. 특히 Claude Desktop과 같은 AI 애플리케이션에서 stdio 의 로컬 기반의 MCP Server만 지원하기 때문에, 원격 서버와의 통신을 원활하게 하는 데 큰 도움이 됩니다. MCP Proxy가 필요한 이유 MCP Proxy는 다음과 같은 상황에서 특히 유용합니다: MCP Proxy는 두 가지 주요 모드를 지원합니다: MCP…
-
MCP Server 구축하기: stdio와 SSE 방식 차이점
pulseMCP, smithery 등에 업데이트되는 정보들이 빠르게 증가하는 것을 보니, MCP(Model Context Protocol)을 이용한 서버와 클라이언트 개발이 매우 활발하게 이루어지는 것 같습니다. . 관련해서 이번 포스트에서는 Python의 mcp 라이브러리를 사용하여 간단한 MCP 서버를 구축하는 방법을 stdio와 SSE 두 가지 방식으로 나누어 설명하겠습니다. SSE와 stdio에 대한 설명 SSE (Server-Sent Events) SSE는 서버-센트 이벤트(Server-Sent Events)의 약자로, 웹 브라우저(클라이언트)가…