[카테고리:] Python

  • 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…

  • 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)의 약자로, 웹 브라우저(클라이언트)가…

  • Uvicorn: 파이썬 ASGI 서버 라이브러리 완벽 가이드

    Uvicorn: 파이썬 ASGI 서버 라이브러리 완벽 가이드

    웹 애플리케이션 개발에서 빠르고 효율적인 서버는 필수적입니다. 파이썬 생태계에서 Uvicorn은 ASGI(Asynchronous Server Gateway Interface) 서버로서 비동기 웹 애플리케이션을 위한 강력한 솔루션을 제공합니다. 이 글에서는 Uvicorn의 설치부터 사용법, ASGI 인터페이스와의 관계, 그리고 실제 MCP(Model Context Protocol) 서버 구축 사례까지 상세히 알아보겠습니다. Uvicorn이란? Uvicorn은 파이썬으로 작성된 초고속 ASGI 서버 구현체입니다. 비동기 프레임워크를 지원하도록 설계되었으며, uvloop와 httptools를 기반으로…

  • Firecrawl MCP Server: 웹 스크래핑과 리서치를 위한 강력한 도구

    Firecrawl MCP Server: 웹 스크래핑과 리서치를 위한 강력한 도구

    🔥 Firecrawl MCP Server는 웹 스크래핑 기능을 제공하는 Model Context Protocol(MCP) 서버 입니다. 이 도구는 웹 콘텐츠 수집, 검색, 분석을 위한 다양한 기능을 제공하여 연구자, 개발자, 데이터 분석가들에게 강력한 웹 리서치 도구로 활용될 수 있습니다. 현재 오픈소스 AGPL -3.0 (https://github.com/mendableai/firecrawl/blob/main/LICENSE) 으로 제공된 버전과 Cloud 버전을 제공하고 있습니다. 오픈소스와 차이는 다음과 같습니다. 이 글에서는 최근 MCP…