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

학습일지 199

Advanced RAG with Llama 3 in Langchain | Chat with PDF using Free Embeddings, Reranker & LlamaParse

https://youtu.be/HkG06wBbTPM?si=-UFRBpyWJ_tZMohJ   RAG Architecture  Knowledge Basepdf text를 받아서 parse -> chunk 단위로 분할embedding vector로 변환 -> vector DB에 저장user query와 유사한 document를 찾는다 Reranker (ranker) Reranker로 pairwise ranking, filter out irrelevant docs, sort LLM with Custom Promptwith prompt engineering실습코드 관련 정보 테스트에 사용할 pdftext, table가 혼합된 형태.https://docs.llamaindex.ai/en/stable/module_gu..

학습일지/AI 2024.05.21

Gemini Multimodal RAG Applications with LangChain

https://www.youtube.com/live/vxF8-ay9Bzk?si=n9uDkQSpvdr1gkbJ 맨 앞부분의 langchain 소개 내용, langchain으로 단순히 구글 LLM 써서 결과 얻는 실습은 내용에서 제외함.multiModal 관련 내용만 정리.  Vertex AI Integration with LangChain 대충 우리 구글모델도 langchain에서 쉽게 쓸 수 있다는 내용들. embedding, vectorstore search도 된다. 다양한 종류의 input을 받을 수 있는 multiModal retriever도 가능함.MultiModal RAG Google사전 세팅from langchain_google_vertexai import VertexAI, ChatVertex..

학습일지/AI 2024.05.10

우아콘 2023 - Kafka를 활용한 이벤트 기반 아키텍처 구축

https://youtu.be/DY3sUeGu74M?si=tDHw0pmczIcrHuLQ 딜리버리시스템 임준수배차담당시스템 송인태왜 적용했는가? 두 시스템이 하는 일: '배달을 잘 한다'배달기능이 늘어가면서 복잡도 증가.알림: 배달상황이 변경됐을 때 (ex. 라이더가 음식 픽업했을 때) 제공배달시간통계: 배달상황이나 지표 추출을 위한 기능쿠폰: 배달 지연됐을 때 고객에게 제공배달이 아닌 기능을 분리할 필요가 생김.하지만, 배달에 관련된 다양한 기능은 배달에 엮여서 잘 동작해야 함.배달이 변경되었을 때, 관련 기능이 '동시에' 변경될 필요가 없는 것들이 있다. (Eventual Consistency)배달 '이벤트'가 발생하면, 나중에라도 관련 기능이 동작하면 됨.배달은 배달만 잘 수행하고, 이벤트를 발행한다..

Simple LangChain Agent with OpenAI, Wikipedia, DuckDuckGo

LangChain Agents (2024 update)https://youtu.be/WVUITosaG-g?si=M6fkM-NlUM6XeMJb  duckduckgo, wikipedia를 langchain agent로 사용하는 방법!pip install duckduckgo-search wikipedia langchain langchainhub langchain_openaiimport osos.environ['OPENAI_API_KEY'] = "your api key"from langchain_openai import ChatOpenAIfrom langchain import hubfrom langchain.agents import create_openai_functions_agentfrom langchain...

학습일지/AI 2024.04.26

MultiModal RAG With GPT-4 Vision and LangChain 정리

https://youtu.be/6D9mpFCPeI8?si=P45ND9OjfPKsdaUq    LLM의 기능을 강화시키는 RAG는 Something to Vector 동작이 근간을 이루고 있다.텍스트의 경우는 EmbeddingModel 써서 간단히 벡터로 변환할 수 있음.그러나 PDF의 경우... 고려할 게 많다.Text, Table, Images...등장 순서나 구성방식도 정보를 포함하고 있다. 텍스트는 ChatModel을 활용하고, 이미지는 GPT-4 Vision 모델을 활용하면, pdf에 있는 데이터를 벡터화할 수 있다pdf의 text, table, image 내용을 SummarizeRaw Document도 DocumentStore에 저장하고 값을 받아온다영상에서는 제작자가 '아직 image + te..

학습일지/AI 2024.04.12

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

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