IT 65

Model Context Protocol - MCP 에 대해

최근 RAG에 관심을 가지고 관련 자료를 수집하던 중, MCP 라는 것이 정말 눈에 띄게 많이 보이기 시작해서 알아보기로 했다. RAG와 MCP는 방향성이 완전히 다르지만, 이 도구들을 잘 활용해야만 IT 업계에서 나아갈 수 있을 것으로 여겨진다. 본격적으로 MCP 를 파보고자 하는 것은 아니고, 이러한 기술이 있으니 내가 이것을 어떻게 활용해 나가볼 수 있을까에 대한 고찰이다.   MCP?MCP 는 LLM 생성형 AI에 도구를 쥐어주기 위한 프로토콜이라고 볼 수 있겠다. 기존의 LLM 은 사용자의 질문에 대해 답변을 하는 방식으로밖에 생산성을 가지지 못했다. MCP 는 이 한계점을 뚫기 위한 도구로, 이것이 준비됨으로써 LLM 이 본격적으로 App 이 될 수 있는 준비 상태에 있다고 볼 수 있겠다. 기..

IT 2025.04.03

네이버 클라우드 사용자 가이드 크롤러 제작기

사내 프로젝트로, 네이버 클라우드 플랫폼의 수많은 사용자 가이드에 대해 대응할 수 있는 AI 챗봇을 개발중이다.AI 개발에서 필수적인 과정은 학습 데이터를 수집하는 과정이다. 따라서 네이버 클라우드의 사용자, API, CLI 가이드 의 내용을 모두 수집할 수 있는 bot 을 만들기로 결정하고 진행했다. 대략 1만개가 넘는 엄청난 숫자의 페이지였는데, 이것을 사람 손으로 일일히 수집하기란 어마어마한 수고가 들 수 밖에 없다. 또한, 새로운 데이터가 업데이트 되었을 때도 사람 손으로 데이터를 수정하기란 쉽지 않은 일이다. 결과적으로는 이 bot으로 데이터셋을 관리함으로써 큰 도움이 되었다. 구현에는 Python 을 사용했고, Playwright와 BeautifulSoup 라이브러리를 활용했다. 구현 과정네이..

API Gateway 에 대한 이해, 활용하기

클라우드 아키텍처에서는 MSA 방식을 지향하는 편이 많다. 거대한 플랫폼 내에서 수많은 기능들이 오고가며 내부에서는 서버들이 통신을 수행하게 되는데, 여기서 API Gateway 는 고속도로의 톨게이트 같은 역할을 하게 된다. 수많은 MSA 아키텍쳐들이 원활하게 API 를 정리하여 호출할 수 있도록 교통 정리를 하는 셈이다. 따라서 큰 규모, 지속 가능한 아키텍처를 구성하고 싶다면 이 API Gateway 라는 서비스는 필수적으로 사용되어야 하겠다. 자, 그렇다면 API 라는 개념에 대해 우선 간단하게 짚어보도록 하자.   API?애플리케이션과 애플리케이션 간 원활하게 대화를 할 수 있도록 하는 "규칙" 과 같다.우리가 실생활에서 같은 언어를 사용하지 않으면 대화가 원활하지 못하듯이, 각 아키텍처의 프로..

IT/Cloud 2025.02.06

SSL(TLS) 인증서의 활용 예, 종류

SSL 인증서는 TLS 프로토콜을 사용한 웹 브라우저와 웹 서버 간 데이터를 암호화하여 보안 연결을 제공하는 디지털 인증서이다. 이 인증서는 HTTPS 통신에 있어 필수적이며, 웹 운영에 있어서는 필수적인 존재가 되었다.이 SSL 인증서는 종류도 여러가지인데, 단일 / 와일드카드 / 다중 으로 나뉜다. 이에 대해 정리해보고자 한다. 인증서를 알아보기에 앞서 SSL(Secure Sockets Layer) 보안에 대한 개념을 간단하게 짚고 넘어가자. SSL 통신 방식SSL=TLS최근에는 TLS 라고 하지만, 인증서에서는 TLS라고 하지 않고 SSL 인증서라고 한다. 암호화 / 인증 / 무결성 같은 당연한 얘기는 넘어가고, 개념과 구조에 대해서 파악해본다. SSL은 TCP 의 3-way handshake 와 ..

IT/Infra 기초 2025.01.23

IPsec VPN 에 대한 간단한 이해

IPsecVPN 은 실제 인프라 구축에 있어 매우 많이 이용되는 장비이다.이에 대한 요구사항이 많은 만큼, 개념을 확실하게 잡고 가기 위해 포스팅을 작성한다. 네이버 클라우드 플랫폼에서도 IPsecVPN 을 제공 중으로, 먼저 장비에 대한 개념을 짚은 다음, 클라우드상에서의 IPsecVPN 서비스에 대해 알아보도록 한다.  IPSec VPN에 대한 기본 개념간단하게 먼저 요약해보자면, IPsecVPN 은 외부 인터넷에서 안전한 보안 통신을 할 수 있도록 지원하는 장비이다. 가장 많이 사용되는 사례로는, 사설망 간 통신에서 사용된다.  사설망 내부의 서버, Load Balancer 등의 리소스들은 외부 인터넷과 통신할 수 없다.여기서, 이렇게 폐쇄된 환경의 사설망들끼리 통신이 필요한 요구사항이 매우 빈번하..

IT/Infra 기초 2025.01.09

[CLOVA Studio] Skill Trainer 를 활용한 RAG 모델 구현하기

최근 프로젝트를 통해서 RAG 모델을 구축 진행해보았다. 목적은 네이버 클라우드의 사용자 가이드를 취합해 답변하는 bot 을 생성하는 것으로, 모두 네이버 클라우드의 인프라로만 구축하였다. 이 포스팅에서 핵심적으로 다루게 될 부분은 CLOVA Studio 서비스의 [스킬 트레이너] 기능이다.  Studio Chatbot Architecture아키텍처의 구성도는 대략 다음과 같다. API Server : Cloud FunctionsWeb Server : ApacheDatabase : Excel, Object StorageAI : CLOVA StudioEmbedding : CLOVA Studio Embedding API 구현했던 bot 의 아키텍처를 간단하게 그려보면 위와 같다. 내부 구성은 대략 다음과 같..

[CLOVA Studio - 2] 스킬 트레이너 활용하기

프로젝트를 진행하며 활용 중인 스킬 트레이너에 대해 작성한다. 사실 이 기능은 네이버 쪽 가이드만 봐서는 긴가만가한 부분이 많다. 그래도 먼저 사용 가이드를 쭉 보는 것을 추천한다. 스킬 트레이너 화면 (ncloud-docs.com) 스킬 트레이너 화면 guide.ncloud-docs.com 스킬 트레이너는 단적으로 말하면, 외부 API 를 가져와 LLM 에게 학습시켜 해당 데이터를 활용해 답변할 수 있도록 하는 것이다. 즉, 데이터를 제공할 수 있는 API 를 사용해야만 한다. AI 특화 학습을 할 때 흔히들 알고 있는 파인튜닝(Fine-tuning)과는 조금 다른 개념이다. 파인 튜닝은 CLOVA Studio 에서는 [튜닝] 기능으로 활용하면 된다. 튜닝의 경우에는 다량의 학습 데이터셋을 직접 주입시..

[CLOVA Studio - 1] Prompt Programming

최근, 프로젝트를 진행하면서 네이버 클라우드의 CLOVA Studio 서비스를 활용하게 되었다. Studio 서비스는 본래 클로즈 베타 서비스로 운영하다가 이제 오픈 베타로 전환되면서 사용자가 더욱 늘어날 것으로 보이지만 생각보다 참고할 자료는 많지 않은 상황이다. 나는 NCAI 공인 교육을 수강했고, 네이버 클라우드에서 진행하는 세미나를 듣는 등 여러 기초학습을 진행한 뒤 현재 프로젝트에서 직접 빌드를 짜보는 등 실습을 진행해보고 있다. 학습하는 과정을 기록해보며 복습, 그리고 도움이 될 만한 부분들을 정리하여 업로드한다. LLM과 CLOVA Studio 서비스에 대해 Studio 서비스는 익히 우리가 알고있는 ChatGPT 와 동일한 LLM 모델이다. 다만 실제로 프로젝트를 진행하고 실습을 해보며 느..

CKA 실습 - TroubleShooting

Controlplane 트러블슈팅 먼저 리소스를 조회해본다. 어느 부분이 문제인지 확인이 필요하다. deploy 의 app 리소스가 Ready 상태이지 못한 것을 확인한다. 파드가 정상적인 상태가 아님을 확인하였다. Worker node 트러블슈팅 node01 이 준비되지 않은 상태임을 확인 node01로 접속하여 확인한다. kubelet 이 dead 상태임을 확인, 재시작한 뒤 상태를 다시 확인해본다. 이제 정상적으로 Ready 상태임을 확인 다시 한번 node01이 NotReady 상태이다. 트러블 슈팅을 진행한다. 노드에 접속해보니 kubelet이 active 상태가 아니다. journalctl 명령어로 로그를 확인해본다. 인증 쪽에 문제가 있다고 추정, kubelet의 config 를 확인한다. ..

IT/CKA 2023.09.21

CKA 실습 - Cluster Installation

마스터 노드와 워커 노드에 kubeadm과 kubelet을 설치한다. 설치 방법은 공식 가이드 문서를 따른다. Container Runtimes | Kubernetes Container Runtimes Note: Dockershim has been removed from the Kubernetes project as of release 1.24. Read the Dockershim Removal FAQ for further details. You need to install a container runtime into each node in the cluster so that Pods can run there. This page outlines what kubernetes.io 각 노드 모두 설정을 마치..

IT/CKA 2023.09.19