LLM을 이용한 영양 상담 서비스

Overview 크라우드웍스에서 초기 6개월 동안 프로젝트 를 수행하면서 개발자와 비개발자들이 프롬프트 엔지니어링과 서비스 개발에 걸쳐 가지고 있던 요구 사항을 종합하고 AWS 생태계 내에서 지속 가능한 해결책을 도출하려고 노력했습니다. 3단계로 나누어진 프로젝트에서 첫 번째 단계로 Queue consumer service와 프롬프트 운영 프로세스를 Python으로 개발했습니다. 3단계 전체에서 CloudFormation을 기반으로 하는 AWS CDK 와 Copilot CLI 를 조합한 ECS 서비스 2개를 중심으로 다양한 AWS 리소스를 생성했습니다. Technology CloudFormation Stacks Copilot CLI + AWS CDK ...

November 8, 2024 · 3 min · Sehyun Hwang

Basic LLM Ops in AWS

Background Row of digital-based slot machines inside a casino in Las Vegas: Source LLMs Will Always Hallucinate, and We Need to Live With This . 프롬프트에 수정이 필요할 때, 비관적인 관점에서는 LLM은 슬롯 머신과 같아서 풍선 효과 를 피할 수 없다. 운이 좋으면 안 되던 것이 될 수도 있겠지만, 되던 것이 안 되던 경우도 비일비재했으며, 자연어를 출력하는 LLM의 특성 상 결국 테스트셋 전체를 LLM에 넣어보고 출력을 사람이 검토하는 작업을 정기적으로 수행했다. Batch job을 수행하고 비개발자와 결과를 검토하는 과정에서 개발자들은 엑셀을 읽고 쓰는 일회용 파이썬 코드를 (무수히 많이) 혼자서만 쓰고 폐기했으며, 이 코드는 서비스에서 돌아가는 코드와 입출력이 달라 테스트 결과도 신뢰할 수 없었다. Batch testing은 통과했으나 실제 서비스에서는 체감 성능이 다른 고통스런 경험을 수도 없이 반복하며, 이 비효율을 발본색원할 수 있는 시스템을 AWS 서비스들과 OpenTelemetry 를 이용해 구축하고 있다. ...

September 19, 2024 · 4 min · Sehyun Hwang

LLM을 이용한 기업용 챗봇 서비스

Overview 💬 사내 문서에 대한 Q&A 챗봇 개발 네이버 클라우드에서 고객사의 문서 데이터를 취급하기 위한 인프라 및 보안 설계 챗봇 형태의 PoC 서비스 아키텍처 설계 무정형의 HWP를 HTML 형태로 변환해 LLM에 적합한 형태로 정형화하고 검수하는 Frontend 개발 Architecture sequenceDiagram autonumber actor frontend as 💻 Frontend participant auth as Auth λ participant backend as 🗄️ Backend frontend ->> auth: 📩 ID, PW auth ->> frontend: 🔐 Token frontend ->> backend: 🔐 Token backend ->> auth: 🔐 Token auth ->> backend: ✅❌ Pass/Fail backend ->> frontend: 💯 Response Technology 인프라 Minio 라는 S3-compatable object storage에 원본 문서와 Chunking document를 적재 네이버 클라우드 VM 초기 구성, 목적 별로 할당 및 관리 VPN을 통해서만 VPC 내부에 접근할 수 있도록 구성 챗봇 형태의 PoC 서비스 구성 React frontend가 Fast API chat server, Self-hosted Sentry 등에 접근할 수 있는 Nginx 개발 업데이트가 잦은 Fast API 서버에 의존하지 않도록 JWT 서비스를 Naver Cloud Function 를 이용해 별도로 분리 채팅 API 사용 시나리오 관리 HTML 정형화 Frontend 개발 기술 스택 Lit : 대량의 검수 대상 HTML element에 Virtual DOM 없이 직접 접근하고 Boiler plating 없이 빠르게 개발하기 위해서 선택 pREST : 백엔드의 지원 없이 HTML 데이터를 DB에 적재하기 위해 선택 DB 문서 파싱 규칙은 Indexed DB에 적재해 개인이 관리 문서 파싱 결과는 Postgres에 적재해 RAG 시스템과 연동 html 트리를 탐색하며 html element마다 세상에 id를 부여하는 해싱 알고리즘 개발 문서 파싱 규칙을 UI를 통해 작성하고 규칙의 적용 결과를 바로 확인할 수 있음 textContent 에 대한 Regex matching, CSS selector, DOM tree 내의 위치 등을 고려 Minio와 연동된 Batch 기능 개발 Lessons 새로운 회사에서 일을 시작하며 직접 고객사와 소통하지 않고 PM과 협업했습니다. Lit framework를 이용해서 복잡한 상태 관리를 해보았다. AWS 이외의 클라우드로 네이버 클라우드를 처음으로 경험해보았으나, 불안정하고 완성도가 떨어지는 모습에 더는 경험해보고 싶지 않았습니다. 언어 모델과 RAG 시스템의 특성을 서서히 이해해가고 있습니다. 성능에 대한 사람들의 높은 기대치에는 절대 대중들이 예상하는 만큼 쉽게 도달할 수 없어 보이고, 언어 모델 이외의 전문 지식과 소프트웨어 기술에 대한 중요성을 매일 느끼며 겸손을 배우고 있습니다.

April 30, 2024 · 2 min · Sehyun Hwang

LLM 기반 작명 서비스

서비스 링크: https://naimy.ai/ Overview 한글 브랜드 이름에 특화된 브랜드 이름 작명 서비스 naimy.ai . 작명에 이어 작명된 이름을 도메인 API, 특허청 API, 소셜 네트워킹 서비스 크롤링 등의 외부 서비스 연동을 통해서 적절성을 분석할 수 있습니다. 크게 Postgres RDS를 사용하는 Lambda backend와 React frontend로 이루어진 애플리케이션으로, 외부 서비스 연동을 고려한 AWS 아키텍처를 설계하고 특허청을 제외한 외부 서비스 연동 개발을 진행했습니다. 작명 옵션 선택지 변경, Database connection pool 디버깅, AWS 계정 마이그레이션 등 사이트 운영 이슈 대응 Architecture ...

February 29, 2024 · 2 min · Sehyun Hwang

Download my portfolio in PDF