[카테고리:] IT

  • Crawl4AI: LLM 친화적인 오픈소스 웹 크롤러 및 스크래퍼

    Crawl4AI: LLM 친화적인 오픈소스 웹 크롤러 및 스크래퍼

    웹 크롤링과 스크래핑은 데이터 수집에 있어 필수적인 기술입니다. 특히 AI와 LLM(Large Language Model) 시대에 접어들면서 이러한 기술의 중요성은 더욱 커지고 있습니다. 이런 상황에서 Crawl4AI는 AI 친화적인 웹 크롤링 솔루션으로 주목받고 있습니다. Crawl4AI(https://docs.crawl4ai.com/)는 GitHub(https://github.com/unclecode/crawl4ai)에서 가장 트렌디한 리포지토리 중 하나로, 활발한 커뮤니티에 의해 지속적으로 관리되고 있습니다. 이 도구는 대규모 언어 모델, AI 에이전트 및 데이터 파이프라인을 위해…

  • LocalAI: 프라이버시를 지키며 AI 모델을 로컬에서 실행하는 완벽한 솔루션

    LocalAI: 프라이버시를 지키며 AI 모델을 로컬에서 실행하는 완벽한 솔루션

    AI 기술이 발전함에 따라 개인 정보 보호와 데이터 주권에 대한 관심이 높아지고 있습니다. 이러한 요구에 부응하여 등장한 LocalAI는 AI 모델을 로컬 환경에서 실행할 수 있게 해주는 오픈소스 솔루션입니다. LLM서비스가 필수이지만, 기업의 보안 측면을 위해 자체 LLM에대한 요구가 더 확고해지는것 같습니다. 다만, 자체 LLM을 위한 성능과 리소스의 최적화된 해결책은 아직 뚜렷하게 보이지는 않는것 같습니다. 완벽하게는 아니더라도…

  • Text Generation Inference(TGI): LLM 서비스를 위한 최적화 솔루션 소개

    Text Generation Inference(TGI): LLM 서비스를 위한 최적화 솔루션 소개

    대규모 언어 모델(LLM)을 실제 서비스에 적용하려면 단순히 모델을 불러오는 것 이상의 작업이 필요합니다. 효율적인 추론, 안정적인 서빙, 그리고 최적화된 성능을 위한 인프라 구축이 중요한데요. 오늘은 이러한 요구사항을 충족시키는 Hugging Face의 Text Generation Inference(TGI)에 대해 알아보겠습니다. TGI란 무엇인가? Text Generation Inference(TGI)는 대규모 언어 모델(LLM)을 배포하고 서빙하기 위한 오픈소스 툴킷입니다. 허깅페이스(Hugging Face)가 개발한 TGI는 LLM을 프로덕션 환경에서…

  • 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()는 단일 결과를 비동기적으로 반환합니다.…