R&D 522

Cloudforet 에서의 multi-tenant

멀터테넌트 아키텍처는 단일 애플리케이션 인스턴스 여러 고객(Tenant, in Cloudforet = Domain)이 공유하여 사용하는 소프트웨어 설계 방식 입니다. 이를 통해 자원 활용도를 높이고, 운영 비용을 절감하는 방식으로 SaaS 소프트웨어서 핵심 개발 컨셉으로 사용됩니다. 멀티테넌트 서비스를 제공하기 위한 방식 방식은 URL 기반으로 제공하는 경우입니다. 예를 들어 고객1(company1)과 고객2(company2)가 있을 때, 고객 1 의 접속주소 https://company1.console.example.com 고객2 의 접속주소 https://company2.console.example.com How to create new tenant in Cloudforet? 1. domain 생성..

R&D/클라우드 2024.04.16

FAISS(Facebook AI Similarity Search) 소개

Faiss는 Facebook AI Research에서 개발한 강력한 라이브러리로, 밀집 벡터의 효율적인 유사도 검색과 클러스터링을 가능하게 합니다. 이미지 검색부터 텍스트 분류와 클러스터링에 이르기까지 다양한 애플리케이션에서 개발자들 사이에서 인기를 얻고 있습니다. Faiss 이해하기 Faiss는 고차원 공간에서의 유사도 검색과 클러스터링을 위한 효율적인 솔루션을 제공하는 라이브러리입니다. 멀티미디어 문서의 임베딩 간 유사도 검색을 빠르게 수행할 수 있게 해줍니다. Faiss 자체는 벡터 데이터베이스가 아니라, 벡터 기반 검색 엔진과 애플리케이션을 구축하는 데 사용되는 기반 라이브러리입니다. Faiss의 주요 기능 효율적인 유사도 검색: Faiss는 고차원 벡터 데이터에 대한 빠른 유사도 검색을 위해 최..

R&D/AI 2024.04.05

Hello LangChain 기초편

LangChain 의 기초는 Promp -> LLM -> Output 으로 구성되어 있다. LangChain 의 프로그래밍 방법도 이러한 구조와 동일하다. from langchain_core.output_parsers import StrOutputParser from langchain_core.prompts import ChatPromptTemplate from langchain_openai import ChatOpenAI prompt = ChatPromptTemplate.from_template("tell me a short joke about {topic}") model = ChatOpenAI(model="gpt-4") output_parser = StrOutputParser() chain = pro..

R&D/AI 2024.03.29

LangChain 의 Agent 에 대해서 (개요)

LangChain 에서 Agent 에 대해서 정리합니다. 기본적인 LLM의 동작 방식이 사용자가 입력한 Prompt에 대해서 적절한 Output을 출력한다라고 하면, Agent 는 복잡하고 정교한 사고 작업을 실행할 수 있도록 설계되어 있습니다. # Concept Agent는 Task를 수행하기 위해서 주어진 도구(Tools)와 현재 상황을 고려하여 사고(Thought)하고 필요한 다음 행동을 설계하는 역할을 합니다. 이는 Agent가 주어진 작업에 대해 상세한 계획을 세우고 실행하는 것을 의미합니다. # Agent Overview Agent 는 다음과 같은 핵심 기능을 가지고 있습니다. Planning subgoal and decomposition: Agent는 자신에게 주어진 Task를 더 작은 su..

R&D/AI 2024.03.27

Github Action를 개발하여 배포하기

Github actions를 직접 개발하여 공유할 수 있다. 참고: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages Publishing Node.js packages - GitHub Docs You can publish Node.js packages to a registry as part of your continuous integration (CI) workflow. docs.github.com https://docs.github.com/en/actions/creating-actions/creating-a-javascript-action?learn=create_actions&learnProduct=acti..

R&D/클라우드 2024.03.21

Github 보안의 시작, Code security and analysis

많은 사용자들이 github을 사용하여 소스코드를 관리하고 있습니다. 요즘 트랜드는 CI/CD를 표방하는 경우가 많아, 개발과 배포가 일원화 되는 경우가 많습니다. 이는 배포를 위한 정보도 소스코드 수준으로 관리를 하는 경우가 많습니다. 여기서 많은 보안상의 사고가 발생합니다. 주로 소스코드 내 클라우드 계정의 비밀번호, Application, DB 등의 비밀번호를 하드코딩한 후 커밋하는 경우가 많은데, 수많은 해커에 의해서 코드가 감시되고 있기 때문에 계정 비밀번호를 푸시하면 몇 시간 내에 해커가 알아차리는 경우가 많습니다. 이를 사전에 차단하기 위해서 Github 에서는 Security Feature를 제공하고 있습니다. Github 을 사용하여 코드를 관리한다면 꼭 Security feature를 ..

R&D/클라우드 2024.01.23

MongoDB 4.4 서비스 종료(2024-02-29)

가장 많은 개발자들이 사용하는 NoSQL Database 중에 하나가 MongoDB 일 것이다. 현재 가장 최신 버전은 7.0 인데 아직도 4.x를 사용하는 사람들이 많이 있을 것 같다. MongoDB Release History 버전 Release Year 7.0 2023~ 6.0 2022~ 5.0 2021~ 4.4 2022~ 4.2 2019~ 4.0 2018~ 2024년 2월 29일이 MongoDB 4.4 의 End Of Life (EOL) 이라고 합니다. 5.0으로의 업그레이드는 Application 의 변경은 필요 없다고 합니다. 주요 Feature Version 5.0 Stable API, designed to preserve application behavior through upgrades ..

R&D/database 2024.01.23

AWS Inferentia2

ChatGPT 가 유행하면서 Nvidia 의 GPU가 핵심 하드웨어로 간주되고 있습니다. Nvidia 는 전세계 최강자이며 이를 따라가는 다양한 Startup 들이 존재합니다. 하지만 AWS 역시 내부적으로 NVidia의 GPU가 아닌 NPU(Neural Processing Unit)를 제공하고 있습니다. GPU를 통해서 학습(Training)과 추론(Inference)을 하는데 이 두 영역은 고객군이 불리되는 경우가 많으니 학습 전용 HW와 추론 전용 HW를 분리하여 제공하는 것이 비용 및 성능 효율적이라고 생각합니다. 예를 들어, 우리나라의 혁신적인 스타트업인 리벨리온(Rebellions)는 추론 영역의 HW를 타겟팅한 회사 입니다. 오늘은 AWS 추론엔진인 Inferentia2를 간단하게 공부해 보..

R&D/클라우드 2024.01.05

분석 및 인공지능을 통한 데이터의 사업적 가치로의 전환

구글이 후원하는 Hardvard Business Review Analytic Services 리서치 내용 중 주요 부분을 요약하였습니다. 산업이 경쟁이 점점 심화 될수록 사업 성과를 내기 위해서 회사가 보유하고 있는 데이터를 분석하여 활용하고자 합니다. 코로나 2년을 거치면서 (91%) 데이터 및 분석에 대한 접근권의 민주화가 조직의 성공에 중요 (76%) 인공지능 역량에 대한 접근권의 민주화가 중요하다는데 동의 생각보다 많은 회사들이 데이터 분석에 투자를 많이 하고 있다는데 놀랍습니다. 하지만 정말 데이터 분석을 하고 있을까요? 시카고 소개 사업 및 기술 컨설턴트 업체인 West Monreo의 Doug Laney는 다음과 같이 말하였고, 저는 100% 동감하는 내용입니다. 많은 회사나 Product 들..

R&D/AI 2024.01.04