반응형

전체 글 69

[LLM 서빙] vLLM vs sglang

대규모 언어 모델의 효율적인 서빙을 위해서는 메모리 관리와 병렬 처리 같은 최적화 기술이 필수적입니다. LLM 서빙이란 동일한 연산을 수행하면서도 성능 하락 없이 추론 능력을 향상시키는 방안을 통해 모델 서빙을 수행하는 것을 말합니다. 다양한 프레임워크들이 개발되었지만, 현재 가장 널리 사용되고 자주 언급되는 vLLM과 SGLang에 대해 간단히 설명하고 비교해보는 시간을 가지겠습니다. 1. vLLMvLLM은 LLM 추론 및 제공을 위한 빠르고 사용하기 쉬운 라이브러리입니다. UC 버클리의 스카이 컴퓨팅 랩에서 개발되었으며, 학계와 산업계의 기여를 통해 커뮤니티 중심 프로젝트로 발전했습니다.  주요 기능1) 고성능 서빙PagedAttention 기술을 사용한 메모리 관리와 처리 성능 극대화대기중인 요청 ..

LLMops 2025.04.04

[Github] 잔디가 심어지지 않는 문제 해결하기

이전에 GitHub와 티스토리 블로그를 연동해서 잔디 심기를 만들어보았고 연동이 잘 된 것을 확인했습니다. 그런데 그 이후 제가 따로 생성한 레포지토리에서 push한 내용이 잔디가 심어지지 않는 현상을 발견했습니다. 오늘은 제가 최근에 겪었던 GitHub 잔디 심기 문제와 그 해결 과정을 공유하려고 합니다.1. 문제 상황저는 여러 개의 GitHub 레포지토리에서 작업을 하고 있었습니다. 그런데 이상한 점을 발견했습니다.레포지토리 A: 코드를 push했더니 GitHub 프로필에 잔디가 잘 심어짐레포지토리 B: 코드를 push했는데 GitHub 프로필에 잔디가 심어지지 않음처음에는 레포지토리 설정 문제인가 싶었지만, 둘 다 제가 직접 만든 public 레포지토리였기 때문에 설정 차이는 없었습니다. 2. 원인..

Git&GitHub 2025.04.03

MCP Client & Server 직접 구현하기

MCP의 원리와 Claude를 이용한 사용방법을 알아보았지만, 더 근본적으로 MCP Client와 Server가 어떻게 만들지고 사용되는지에 대해 더 깊게이해하고 넘어가야 추후에 응용하는데 도움이 될 것 같아. 유튜브에서 MCP Client, Server를 직접 만들어서 Youtube Agent 데모를 구현한 예제가 있길래, 이걸 보면서 Mcp Client와 Server의 생성방법과 작동 원리에 대해 이해하고 넘어가도록 하겠습니다. 1. MCP 서버 생성먼저 MCP 서버를 만들어줍니다. Server라고 생각하면 어렵게 느껴질 수 있는데, MCP 서버는 생각보다 단순합니다. 일반 함수를 작성하는 것과 크게 다르지 않습니다. from mcp.server.fastmcp import FastMCP# Create..

카테고리 없음 2025.04.01

[MCP] Github MCP Server 사용하기

이전 포스트에서 Claude에서 MCP를 사용하는 모습을 간단히 소개해드렸는데요, 이번에는 한 단계 더 나아가 직접 MCP 서버를 가져다가 사용해보도록 하겠습니다. 직접 개발하는 대신 이미 만들어진 GitHub MCP 서버를 활용하여 Claude와 연결하는 방법을 알아보겠습니다. 1. Claude에서 MCP 사용 준비하기Claude로 MCP를 사용하기 위해서는 두 가지가 필요합니다: Claude Pro 구독 결제Claude 데스크톱 앱 설치Claude 데스크톱 앱은 공식 웹사이트 좌측 하단에서 다운로드하실 수 있습니다.   이렇게 claude 앱을 다운로드 받고나면 설정-> 개발자 탭을 들어가줍니다.  윈도우의 경우 좌측 상단에 설정탭이 따로 있을 것이고, mac os의 경우 mac 화면 자체 좌측 상단..

카테고리 없음 2025.03.31

[LLMops] Opik으로 LLM 평가하기

이전 포스팅에서 소개한 Opik 프레임워크를 활용하여 실제 LLM 응답을 평가하는 방법에 대해 알아보겠습니다. Opik은 다양한 메트릭을 통해 LLM 출력물의 품질을 체계적으로 평가할 수 있는 프레임워크를 제공합니다. 1. Opik 평가의 주요 구성 요소Opik에서 평가를 진행하기 위해서는 다음 세 가지 핵심 구성요소가 필요합니다: 1) 데이터 세트- LLM 응용 프로그램에 대한 입력과 선택적으로 예상 출력을 나타내는 샘플의 컬렉션- 각 샘플에 대한 입력 및 예상 출력만 저장하며, LLM 지원서의 출력은 평가 프로세스 중에 계산되고 점수가 매겨집니다.2) 평가 과제- 데이터 세트에 저장된 입력을 점수를 매기고 싶은 출력에 매핑합니다. 평가 과제는 일반적으로 프롬프트 템플릿 또는 빌드 중인 LLM 애플리케..

LLMops 2025.03.28

[LLM] context 기반 답변 비교

이전에 재무제표 데이터로 DB를 구축했으니 이 데이터를 이용해 사용자 쿼리에 대해 답변을 생성해 보도록하겠습니다. 1. DB 조회해서 데이터 가져오기psycopg2.connect()을 사용해 디비에 연결된 상황고 query 변수로 사용자가 원하는 해외 기업이 input으로 들어왔다고 가정하고 진행하도록 하겠습니다. def get_company_financial_data(conn, ticker): """특정 기업의 모든 재무 데이터 조회""" cursor = conn.cursor() # 기업 정보 확인 cursor.execute( "SELECT ticker, company_name FROM companies WHERE ticker = %s", (ticker,) ) ..

FinAgent Lab 2025.03.27

[DB] Postgresql DB 구축하기

일전에 크롤링을 통해 얻었던 재무제표 데이터를 활용해 로컬에서 postgresql DB를 구축해 자연어 쿼리에서 엔티티를 추출했다는 가정하에, 특정 기업에 대한 데이터를 디비에서 조회해서 LLM에게 context로 제공해 답변을 생성해보도록 하겠습니다. 1. Postgresql 설치도커 컨테이너를 사용하지않고 가장 기본적인 로컬 환경에서 실행을 할 것이기 때문에 아래 명령어로 먼저 Postgresql 서버가 실행중인지 확인해줍니다. brew services list 초기엔 당연히 postgresql이 안나올것이고 실행을 위해서는 "brew services start postgresql" 명령어를 입력해줘야합니다.  실행후 사진과같은 에러가 발생했다면, postgresql이 설치되어있지 않아서 생긴 에러이..

FinAgent Lab 2025.03.26

[crawling] 해외 기업 재무제표 crawling 해오기

국내 주식을 대상으로 Agent를 개발하던 중 대상이 해외 종목으로 바뀌면서, 기존에 "한경컨센서스"에서 가져오던 재무제표 데이터를 새로운 출처에서 확보해야 했습니다. 이 과정에서 발견한 유용한 해외 종목 데이터 사이트들과 크롤링 과정을 소개합니다. 1. 해외 기업 데이터 사이트 소개1) MacrotrendsMacrotrends는 미국 기업들의 재무정보를 무료로 제공하는 사이트입니다. 중앙 검색창을 통해 원하는 기업을 찾으면 해당 기업의 재무 데이터를 종합적으로 확인할 수 있습니다.  중앙 서치바를 통한 기업 검색을 통해 해당 기업의 매출, 이익, 가격 지표 등 다양한 데이터를 확인할 수 있습니다.  주요 특징:기업의 과거 15년 치 데이터 제공 (매출, 순이익, 자산, 부채, 현금흐름 등)모든 주요 재..

FinAgent Lab 2025.03.25

MCP (Model Context Protocol)

1. MCP란?MCP는 Model Context protocal의 약자로 2024년 11월에 앤트로픽에서 발표한 개념으로 최근 이슈가 되고 있습니다. 이러한 MCP는 아래와 같이 다양하게 정의되고 있습니다. - AI 에이전트가 웹 브라우저 없이도 직접 다양한 인터넷 서비스와 소통할 수 있게 해주는 표준 프로토콜- AI 모델이 외부 데이터 및 도구와 상호 작용할 수 있도록 설계된 표준 프로토콜- Client(클로드,커서,...)에서 다른 도구들도 쓸 수 있게 통일을 시켜주는 하나의 프로토콜 이와 같이 부르는 사람에따라 다양한 의미로 표현되고 있지만, 간단하게 말하면 " Client, LLM, Server를 이어주는 USB-C 포트와 유사한 역할"이라고 할 수 있습니다. 아래 이미지를 참고하면 더 쉽게 이해..

카테고리 없음 2025.03.22
반응형