[카테고리:] Python

  • Python Pandas로 데이터 전처리 및 정제 마스터하기

    데이터를 다루는 과정에서 데이터 전처리는 매우 중요한 단계입니다. 이 글에서는 Pandas를 사용하여 데이터를 효과적으로 정제하고 변환하는 핵심 기법들을 살펴보겠습니다. 1. 결측치 처리 전략 결측치는 데이터 분석에 심각한 영향을 미칠 수 있습니다. Pandas에서는 다양한 방법으로 결측치를 처리할 수 있습니다. 1.1 결측치 확인 및 개수 파악 1.2 결측치 처리 방법 주의사항 2. 중복 데이터 제거 3. 이상치…

  • LangConnect Client: 벡터 DB 관리를 위한 직관적인 GUI 인터페이스

    LangConnect Client: 벡터 DB 관리를 위한 직관적인 GUI 인터페이스

    지난번 LangConnect 에 대해서 포스트하였습니다. 최근 유튜브에서 TeddyNote 님이 공개한 영상에 언급한 LangConnect 에 GUI를 추가한 Client에 대한 영상 소개가 있어서 보자마자 바로 설치 및 사용을 해봤습니다. LangConnect Client는 PostgreSQL과 pgvector 확장을 기반으로 한 벡터 데이터베이스를 관리하기 위한 직관적인 웹 인터페이스를 제공합니다. 이 Next.js 기반 GUI 도구는 문서 관리, 벡터 검색 기능, 그리고 Model Context…

  • Agent Squad: 복잡한 대화를 위한 다중 AI 에이전트 오케스트레이션 프레임워크

    Agent Squad: 복잡한 대화를 위한 다중 AI 에이전트 오케스트레이션 프레임워크

    오늘날 인공지능 기술이 발전함에 따라 단일 AI 에이전트로는 해결하기 어려운 복잡한 문제들이 많아지고 있습니다. 이러한 문제를 해결하기 위해 여러 전문 AI 에이전트를 조율하여 함께 작업할 수 있게 하는 오픈소스 프레임워크인 ‘Agent Squad’를 소개합니다. Agent Squad는 이전에 ‘Multi-Agent Orchestrator’로 알려졌던 프레임워크로, 복잡한 대화를 처리하기 위한 유연하고 가벼운 오픈소스 솔루션입니다. Agent Squad의 주요 특징 Agent Squad란 무엇인가?…

  • Agent() vs create_react_agent() : 에이전트 생성 차이

    두 코드는 AI 에이전트(Agent)를 생성한다는 공통점이 있지만, 어떤 프레임워크를 사용하고 얼마나 추상화되어 있는지에서 근본적인 차이가 있습니다. 간단히 말해, 첫 번째 코드는 OpenAI의 Assistants API와 같이 모든 것이 준비된 고수준의 서비스를 사용하는 방식이고, 두 번째 코드는 LangChain과 같이 개발자가 직접 제어하며 조립하는 방식입니다. agent = Agent(…) 이 코드는 OpenAI Assistants API 또는 그와 유사한 고수준(High-level) 프레임워크일…

  • LangConnect: LangChain 기반의 효율적인 RAG 서비스

    LangConnect: LangChain 기반의 효율적인 RAG 서비스

    LangConnect는 FastAPI와 LangChain, Python을 기반으로 구축된 RAG(Retrieval-Augmented Generation) 서비스입니다. 이 서비스는 컬렉션과 문서를 관리하기 위한 REST API를 제공하며, PostgreSQL과 pgvector를 사용하여 벡터 저장소를 구현합니다. https://github.com/langchain-ai/langconnect 주요 기능 시작하기 사전 요구사항 Docker를 사용한 실행 방법 1. 저장소 클론하기: git clone https://github.com/langchain-ai/langconnect.git cd langconnect 2. 서비스 시작하기: docker-compose up -d 이 명령어는 다음과 같은 작업을 수행합니다: 3.…

  • langchain, astream() vs ainvoke()

    langchain, astream() vs ainvoke()

    langchain을 이용한 chat client를 만들다보면, 이 두개 함수의 차이를 크게 느끼는데, 똑같은 로직에서 함수만 다르게 쓰는데도 응답 품질에 큰 차이가 발생됩니다. 지금부터 이 두개 함수의 차이에 대한 포스팅을 하겠습니다. ainvoke()와 astream()은 LangChain 라이브러리에서 사용되는 두 가지 주요 비동기 실행 함수입니다. 이 둘의 가장 큰 차이점은 결과를 반환하는 방식에 있습니다. ainvoke() ainvoke()는 단일 결과를 비동기적으로 반환합니다.…

  • MCP Client: Streamlit과 MCP, LangChain으로 동적 툴(Tool) 라우팅 에이전트 구축

    MCP Client: Streamlit과 MCP, LangChain으로 동적 툴(Tool) 라우팅 에이전트 구축

    최근의 AI Client는 단순히 정해진 답변만 하는 것을 넘어, MCP와 같은 프로토콜을 기반으로 외부 도구를 활용하고 여러 AI 모델의 능력을 조합하여 복잡한 문제를 해결하는 방향으로 진화하고 있습니다. 이번 글에서는 사용자의 질문에 맞춰 최적의 도구를 동적으로 선택하고, 여러 AI 에이전트의 답변을 종합하여 최종 결과를 제공하는 챗봇을 만드는 방법을 소개합니다. 이 MCP Client는 Streamlit으로 만든 UI 뒤에서,…

  • CrewAI: 멀티 에이전트 AI 자동화

    CrewAI: 멀티 에이전트 AI 자동화

    CrewAI 소개 인공지능 기술이 빠르게 발전하면서, 단일 AI 모델의 한계를 극복하고 더 복잡한 작업을 효율적으로 처리할 수 있는 멀티 에이전트 시스템에 대한 관심이 높아지고 있습니다. 이러한 트렌드 속에서 CrewAI는 멀티 에이전트 AI 자동화 플랫폼으로 주목받고 있으며, GitHub에서 29.4K개의 스타를 받으며 Fortune 500 기업의 60%가 사용하고 있는 혁신적인 프레임워크입니다. 이러한 설계를 위해서는 langGraph를 이용한 방법도 있긴…

  • MCP Proxy: 서버 트랜스포트 간 전환을 위한 필수 도구

    MCP Proxy: 서버 트랜스포트 간 전환을 위한 필수 도구

    MCP Proxy는 서로 다른 서버 통신 방식(트랜스포트) 간의 전환을 가능하게 해주는 유용한 도구입니다. 특히 Claude Desktop과 같은 AI 애플리케이션에서 stdio 의 로컬 기반의 MCP Server만 지원하기 때문에, 원격 서버와의 통신을 원활하게 하는 데 큰 도움이 됩니다. MCP Proxy가 필요한 이유 MCP Proxy는 다음과 같은 상황에서 특히 유용합니다: MCP Proxy는 두 가지 주요 모드를 지원합니다: MCP…