Tech & Development
AWS Lambda를 이용한 Slack Bot 개발 (2) : API Gateway를 통한 이벤트 처리
AWS Lambda를 이용한 Slack Bot 개발 (2) : API Gateway를 통한 이벤트 처리
2023.09.05이번 글에서는 AWS Lambda를 활용하여 Slack Bot을 개발하는 과정 중, API Gateway를 통한 이벤트 처리에 대해 자세히 알아보겠습니다. 이 글은 "AWS Lambda를 이용한 Slack Bot 개발 가이드"의 두 번째 글입니다. 첫 번째 글에서는 AWS Lambda와 Slack Bot의 기본 설정, 권한 관리, 토큰 설정 등에 대해 알아보았습니다. 이러한 기본 설정이 완료되었다면, 이번 글에서는 실제로 Slack에서 발생하는 이벤트를 AWS Lambda 함수에서 어떻게 처리할 수 있는지에 대해 살펴보겠습니다. API Gateway는 AWS에서 제공하는 완전 관리형 API 생성 및 관리 서비스입니다. 이를 통해 HTTP 요청을 Lambda 함수에 연결할 수 있으며, 이 과정에서 다양한 ..
AWS Lambda를 이용한 Slack Bot 개발 (1) : 기본 설정
AWS Lambda를 이용한 Slack Bot 개발 (1) : 기본 설정
2023.09.04Slack은 협업 도구로서의 역할을 넘어 다양한 통합과 자동화를 가능하게 하는 강력한 플랫폼입니다. 특히 Slack Events API를 활용하면, 사용자의 메시지, 멘션, 리액션 등 다양한 이벤트에 반응하는 봇을 만들 수 있습니다. 이 글에서는 Python과 AWS Lambda를 사용하여 Slack Bot을 만드는 방법을 소개하겠습니다. 왜 AWS Lambda인가? AWS Lambda는 서버리스 컴퓨팅 서비스로, 서버 관리의 부담 없이 코드를 실행할 수 있습니다. 특히 Python에서는 AWS Lambda 함수를 사용하는 데 필요한 리소스가 많지 않아, 빠르고 저렴하게 봇을 구현할 수 있습니다. AWS 람다(Lambda) 비용 정책 살펴보기 #1. AWS Lambda와 서버리스 컴퓨팅 AWS Lambd..
AWS 람다(Lambda) 비용 정책 살펴보기
AWS 람다(Lambda) 비용 정책 살펴보기
2023.09.04#1. AWS Lambda와 서버리스 컴퓨팅AWS Lambda는 Amazon Web Services(AWS)에서 제공하는 서버리스 컴퓨팅 서비스입니다. "서버리스"라는 용어는 사용자가 서버를 직접 관리할 필요가 없다는 것을 의미합니다. 코드를 업로드하기만 하면, AWS Lambda가 자동으로 실행, 스케일링, 모니터링 등을 처리해 줍니다. 이로 인해 개발자는 인프라 관리보다는 비즈니스 로직에 더 집중할 수 있습니다.서버리스와 전통적인 서버 기반 모델의 차이전통적인 서버 기반의 애플리케이션에서는 서버 프로비저닝, 로드 밸런싱, 코드 배포, 패치 관리 등 많은 작업이 필요합니다. 반면, Lambda와 같은 서버리스 모델에서는 이러한 작업들이 대부분 자동화되어 있습니다.AWS Lambda와 EC2의 비교AWS..
ChatGPT Retrieval Plugin 개발 (2) : 배포 및 실용 가이드
ChatGPT Retrieval Plugin 개발 (2) : 배포 및 실용 가이드
2023.08.28이번 글에서는 벡터 데이터베이스를 활용해 ChatGPT Retrieval Plugin의 개발과 배포를 어떻게 더 효율적으로 할 수 있는지에 대해 깊게 다룰 예정입니다. 환경 설정과 사전 준비는 이전 글에서 확인하실 수 있으니 참고해주시기 바랍니다. ChatGPT Retrieval Plugin 개발 (1) : 아키텍처와 사전 준비 인공지능과 머신러닝의 빠른 발전에 따라, 개인이나 기업이 보유한 대량의 데이터를 효율적으로 활용하는 것이 중요해지고 있습니다. ChatGPT Retrieval Plugin은 개인이나 기업, 조직의 프라이빗 데 yunwoong.tistory.com 1. 벡터 데이터베이스란? 벡터 데이터베이스는 다양한 형태의 데이터를 벡터 형식으로 변환하여 저장하고, 빠르고 정확한 유사도 검색을 가..
Pinecone을 이용한 벡터 데이터베이스 시작하기
Pinecone을 이용한 벡터 데이터베이스 시작하기
2023.08.28벡터 데이터베이스는 고차원 벡터 데이터를 효율적으로 저장하고 검색할 수 있는 데이터베이스 시스템입니다. 이 글에서는 벡터 데이터베이스 중 하나인 Pinecone의 기본적인 사용 방법을 소개하려고 합니다. 벡터 데이터베이스에 대한 자세한 정보는 아래 글을 참고하시기 바랍니다. 비정형 데이터 탐색: 벡터 임베딩과 벡터 데이터베이스의 이해 최근 벡터 데이터베이스에 대한 투자자들의 관심이 눈에 띄게 증가하였습니다. 지난 몇 달 동안 벡터 데이터베이스 스타트업인 Weaviate는 시리즈 B 펀딩에서 5000만 달러를, Pinecone은 7500만 달러의 yunwoong.tistory.com Pinecone이란? Pinecone은 빌리언 단위의 아이템을 몇 밀리초 안에 비슷한 매치로 검색할 수 있는 벡터 검색을 위..
ChatGPT Retrieval Plugin 개발 (1) : 아키텍처와 사전 준비
ChatGPT Retrieval Plugin 개발 (1) : 아키텍처와 사전 준비
2023.08.26인공지능과 머신러닝의 빠른 발전에 따라, 개인이나 기업이 보유한 대량의 데이터를 효율적으로 활용하는 것이 중요해지고 있습니다. ChatGPT Retrieval Plugin은 개인이나 기업, 조직의 프라이빗 데이터를 ChatGPT가 액세스 하고, 해당 데이터 내에서 검색하여 답변을 제공할 수 있는 기능을 지원합니다. 이 글에서는 ChatGPT Retrieval Plugin 설정, 개발 및 배포하는 방법에 대해 벡터 데이터베이스를 이용하여 소개하겠습니다. 이미 ChatGPT를 보강하려는 모든 개발자가 정보를 자체 호스팅할 수 있도록 OpenAI는 Retrieval plugin을 오픈 소스로 제공하고 있습니다. GitHub - openai/chatgpt-retrieval-plugin: The ChatGPT R..
Jupyter Notebook에 가상 환경 커널 추가
Jupyter Notebook에 가상 환경 커널 추가
2023.08.21Jupyter Notebook (Jupyter Lab)에서 가상 환경을 커널로 추가하려면 아래 내용을 참고하세요. 1. 먼저, 원하는 가상 환경을 생성합니다. 가상 환경을 생성하는 방법은 여러 가지가 있지만, virtualenv 또는 conda 등을 사용할 수 있습니다. Python 가상환경 구성 [참고] 가상환경을 구성하는 이유 python은 현재 2.x 버젼과 3.x 버젼이 혼용되는 과도기에 있고 때론, 2.x 버젼의 python 환경에서 프로젝트를 개발해야할 때도 있고, 3.x버젼의 python 환경에서 개발해 yunwoong.tistory.com 2. 해당 가상 환경을 활성화합니다. virtualenv의 경우: source myenv/bin/activate conda의 경우: conda activ..
StableCode 사용 가이드: AI 코딩 도구의 활용 방법
StableCode 사용 가이드: AI 코딩 도구의 활용 방법
2023.08.16Github에서 진행한 Survey reveals AI’s impact on the developer experience 설문조에 따르면, 미국 개발자의 92%가 업무 내외에서 AI 코딩 도구를 사용하고 있으며 이 중 70%는 AI 코딩 도구가 더 나은 품질, 완성 시간 단축, 문제 해결 등에서 이점을 제공한다고 응답했습니다. 또한, 5명 중 4명의 개발자가 AI 코딩 도구가 협업을 강화하는데 도움이 될 것이라고 생각한다고 답하였습니다. Survey reveals AI’s impact on the developer experience We surveyed 500 U.S.-based developers at companies with 1,000-plus employees about developer pro..
text-generation-webui 설치 및 활용 가이드
text-generation-webui 설치 및 활용 가이드
2023.08.10text-generation-webui는 텍스트 생성을 위한 웹 기반 인터페이스입니다. 이 인터페이스를 사용하면 다양한 텍스트 생성 모델과 파라미터를 쉽게 선택하고, 키워드나 톤 등을 지정하여 원하는 텍스트를 생성할 수 있습니다. 이 글에서는 text-generation-webui를 이용하는 방법에 대해 설명드리려고 합니다. GitHub - oobabooga/text-generation-webui: A gradio web UI for running Large Language Models like LLaMA, llama.cpp, GPT-J, OPT, a A gradio web UI for running Large Language Models like LLaMA, llama.cpp, GPT-J, OPT, a..
Meta AI 라마 2 (Llama 2): 사용 가이드
Meta AI 라마 2 (Llama 2): 사용 가이드
2023.07.192023년 7월 18일(현지시간) Meta가 차세대 인공지능(AI) 대규모 언어 모델(LLM) '라마 2(LLaMa2)'를 오픈 소스로 공개했습니다. Meta는 이 모델을 개인, 크리에이터, 연구원 및 기업이 사용할 수 있도록 제공하며, 책임감 있게 아이디어를 실험하고 혁신하고 확장할 수 있도록 돕고자 연구 및 상업적 용도로 무료로 제공한다고 밝혔습니다. Llama 2 - Meta AI We have a broad range of supporters around the world who believe in our open approach to today’s AI — companies that have given early feedback and are excited to build with Llama 2..
[ OCR ] 한글 인식에 탁월한 성능, 적은 용량의 PaddleOCR 사용하기 - Python
[ OCR ] 한글 인식에 탁월한 성능, 적은 용량의 PaddleOCR 사용하기 - Python
2023.07.05PaddleOCR 이란? PaddleOCR은 중국의 인터넷 기업인 바이두(Baidu)가 만든 딥러닝 플랫폼 PaddlePaddle로 구현된 오픈 소스 OCR(Optical Character Recognition)입니다. 다양한 언어를 지원하며, 이미지와 문서에서 텍스트를 인식할 수 있습니다. PaddleOCR의 경량 모델은 14.8M로 매우 가벼워 모바일 등 다양한 플랫폼에서 사용이 가능합니다. 또한 중국어, 영어 이외에도 한국어를 포함하여 80개 이상의 다양한 언어를 지원합니다. PaddleOCR의 장점은 아래와 같습니다. 다양한 언어 지원 이미지와 문서에서 텍스트 인식 빠른 속도와 높은 정확도 다양한 플랫폼 지원 PaddleOCR는 다양한 최첨단 OCR 관련 알고리즘을 지원하며, 이를 바탕으로 산업용..
Mojo🔥: AI를 위한 새로운 프로그래밍 언어
Mojo🔥: AI를 위한 새로운 프로그래밍 언어
2023.07.03세계에서 가장 많이 사용되는 프로그래밍 언어 중 하나인 Python은 그 사용자 친화적인 특성 덕분에 다양한 분야에서 활용되고 있습니다. 웹 개발자부터 데이터 과학자, 마케터, 심지어 AI 전문가 등, 여러 전문가들이 Python을 선택하는 주된 이유는 초보자에게도 친숙하며 읽고 쓰기 쉬운 언어라는 점입니다. 그러나 C++이나 Rust에 비해 Python의 실행 속도는 훨씬 느리고 배포 과정이 복잡하다는 단점이 있습니다. Python 프로그램을 완성한 후 이를 사용자에게 배포하려면, Python 자체를 설치해야 하고 해당 프로그램을 실행하는 데 필요한 모든 패키지를 추가로 설치해야 합니다. C++은 속도가 빠르지만, 배우고 사용하기 어렵다는 단점이 있었습니다. 이러한 문제점들을 해결하기 위해 등장한 것이..