공부하고 기록하는, 경제학과 출신 개발자의 노트

분류 전체보기 499

Fast Intro to image and text Multi-Modal with OpenAI CLIP

https://youtu.be/989aKUVBfbk?si=uzoaSLQZlqQAJg1r Multi Modal 중 하나인 OpenAI의 CLIP 모델 크게 두 가지 모델로 구성됨. Vision Transformers Text Transformers https://github.com/openai/CLIP GitHub - openai/CLIP: CLIP (Contrastive Language-Image Pretraining), Predict the most relevant text snippet given an image CLIP (Contrastive Language-Image Pretraining), Predict the most relevant text snippet given an image - ope..

학습일지/AI 2024.03.26

Python SQLAlchemy의 many to many relation에 soft delete 기능 적용하기

FastAPI + SQLAlchemy로 API 서비스 만들면서 해결한 사안 정리하기. soft delete가 필요한 이유? 삭제 요청이 들어올 때마다 물리적으로 DB에서 row 정리해 버리면, 삭제된 데이터를 복원한다던가 / 삭제된 데이터의 이력이나 히스토리 파악하려면 데이터베이스 엔진 레벨에서 작업해야 한다. 민감정보 다루는 게 아니고, 서버로그처럼 많이 쌓여서 주기적으로 삭제해야 하는 entity 같은 성격이 아니라면 간단한 비즈니스 로직이나 api에서는 soft delete이 주는 편익이 비용보다 훨씬 크다고 생각함. GORM은 soft delete 기능 도입이 엄청 쉽고, soft delete 적용한 object끼리 relation을 조합하면 ORM에서 자동으로 쿼리를 생성해준다. https://..

미식경제학

미식경제학 내추럴 와인은 왜 MZ세대에게 인기일까? 요즘 식당은 왜 바 테이블(다찌석) 구조가 많을까? 성수동은 언제부터 핫플이었나? 미식의 트렌드를 좇다 보면 자연스레 품게 되는 질문들을 시장경제의 관점과 접목시켜 흥미롭게 풀어내며 누적 조회수 50만을 기록한 화제의 유튜브 콘텐츠 〈미식경제학〉이 책으로 출간되었다. 전 ‘사운즈한남’ 총괄 셰프이자 유튜브 채널 ‘공격수셰프’(구독자 25만 명)를 운영하고 있는 박민혁 셰프를 필두로, 각 업계의 전문가들과 함께 식문화, 핫플레이스, 인플레이션 등 미식에서 뻗어나가는 다양한 갈래의 주제를 아우르며 취향과 소비, 경제의 관계에 관해 살펴본다. 유튜브 콘텐츠의 경쾌하고 감각적인 매력은 그대로 살리되, 방송에서는 다 다루지 못했던 취재기를 속속들이 담았다. 저자..

세줄요약 독서 2024.03.22

DroidCon 2024 - AI Pull Request reviewer using ChatGPT and GitHub Actions

https://www.droidcon.com/2024/03/14/automate-pull-request-reviews-using-chatgpt-and-github-actions/?ref=dailydev https://youtu.be/t9hleFcIWQ8?si=eWwzMBgHdcRAd5FG 인터넷 돌아다니다가 찾은 영상인데, 재미있어 보여서 정리함. Android Codebase에 rookie수준의 mistake를 만들고 나서 code review를 받아보는 형태로 시연. Repository: https://github.com/Nerdy-Things/chat-gpt-pr-reviewer GitHub - Nerdy-Things/chat-gpt-pr-reviewer Contribute to Nerdy-Thin..

학습일지/AI 2024.03.21

Knative의 Eventing Prometheus 고쳐서 동작하게 만들었던 히스토리

Knative Eventing을 활용해서 CloudEvent 기반 event-driven 구조를 도입해 서비스 간 결합도를 낮추는 작업을 하고 있던 중 knative 진영에서 개발 중단된, prometheus query를 주기적으로 호출해서 CloudEvent를 생성하는 프로덕트를 찾았다. 조금만 고쳐쓰면 사용할 수 있을 것 같아서 수정했고, 지금은 잘 사용 중이다. 무얼 고쳐서 어떻게 동작하도록 만들었고, 쓰려면 어떻게 해야 하는지를 기록으로 남기기 위한 포스트. 원본 https://github.com/knative-extensions/eventing-prometheus GitHub - knative-extensions/eventing-prometheus: Prometheus integration wi..

LangChain - Advanced RAG Technique for Better Retrieval Performance 정리

아래 유튜브 영상을 정리하였음. https://youtu.be/KQjZ68mToWo?si=09NX4cfbE9lYTJ9l 일반적인 RAG StepIndexing Step: Data Load -> Split -> Embedding -> Store in VectorDBRetrieval Step: Ask Question -> Embedding Question -> Retrieve Similar Documents -> add as a prompt -> LLMLangchain이 Vector Store에서 필요한 데이터를 더 잘 가져올 수 있도록 하는 기법MultiQueryRetrieverContextual CompressionEnsemble RetrieverSelf-Querying RetrieverTime-weig..

학습일지/AI 2024.03.14

해결할 프로덕트

개발자 리뷰어로 선정되어, 길벗출판사로부터 도서를 받아본 뒤 작성하는 글입니다. 개발자가 소프트웨어 디자인 패턴 보듯이 스타트업의 단계별 전략 패턴을 접할 수 있는 책. 제품 회사를 아이디어 / 스타트업 / 성장 / 확장 / 성숙이라는 다섯 단계로 구분한 뒤, 각 단계별로 취해야 할 필드 메뉴얼을 소개한다. 모든 세부전략의 핵심은 ‘마주한 상황에 맞게 고객, 제품, 비즈니스’ 카테고리를 끊임없이 학습하는 것. ‘사용 가능한 기법, 발전하기, 사례연구, 행동하기’가 포함되어 있어서, 응용하거나 활용하기 쉽게 쓰였다. 책을 관통하는 키워드는 ‘단순함’이었다. ‘끊임없이 학습해야 한다'는 원칙이 명확하고, 학습 대상을 무엇으로 할 것인지 결정하고, 어떤 방식을 사용할 수 있는지 알려준다. 이 패턴 하나가 50..

세줄요약 독서 2024.02.20

SK Tech Summit 2023 - 비즈니스에 실제로 활용 가능한 LLM 서비스 만들기

비즈니스에 실제로 활용 가능한 LLM 서비스 만들기SKT Data Application팀 김찬호님 개요 chatGPT 출시 전인 22년 9월 / 출시 이후인 23년 9월에 세콰이어 캐피털에 올라온 글. GPT-4한테 요약시킨 결과22.09: Gen AI가 창의성의 일부분에서 인간보다 우월한 성과를 내고 있다.23.09: Gen AI는 혁신적인 제품이었다. 유용성에 의문이 있었으나, 가치를 창출하는 시장이 출현하고 있다. 기대해볼 만하다. 22.09: foundation 모델 열거하고, 도메인 예시만 짤막하게 썼던 반면23.09: Stack 구조를 소개함. 도메인별 foundation 모델 / serving, management tool / framework / application / monitoring..

학습일지/AI 2024.02.17

Google Cloud Summit 2023 Seoul - Cloud Run으로 Fast, Scalable, Durable 앱 구축하기

Google Cloud Customer Engineer 권신중님. CloudRun: 완전관리형, 컨테이너 기반 애플리케이션 배포 / 운영 / 확장을 위한 서비스. 인프라 고민 필요없음. CloudRun 소개 크게 두 가지 형태로 쓰임. Service / Job. Service: public / private한 웹사이트 또는 Endpoint url endpoint 제공 autoscale 기준은 크게 두 가지 (or 조건으로 동작함) cpu 기준. default 60% request 개수 (concurrency) - default 80. canary deployment (traffic split) based on revision HTTP, WebSocket, gRPC, Event 등 다양한 조건으로 트리거 ..