example(20)
-
LangGraph) LangGraph에 대한 개념과 간단한 예시 만들어보기
LangGraph 가 나온 이유LLM을 통해서 FLOW를 만들다 보면, 이전 LLM 결과에 대해서 다음 작업으로 넘길 때, LLM이 생성되는 결과에 의해 실패하는 경험들을 다들 해보셨을 것입니다.개인적으로 분기 처리나 후처리 로직을 담는데, Output Parser에서 제어하려 했지만, 이러면 전반적인 구조나 결과를 보기가 쉽지 않았습니다. LangGraph는 LangChain 생태계 내에서 이러한 문제를 직접 해결하기 위해 설계된 강력한 라이브러리입니다. 이 라이브러리는 여러 LLM 에이전트(또는 체인)를 구조화된 방식으로 정의, 조정 및 실행할 수 있는 프레임워크를 제공합니다. LangGraph란 무엇인가요?LangGraph는 LLM을 사용하여 상태를 유지하고 여러 에이전트를 포함한 애플리케이션을 쉽..
2024.06.29 -
React) Nomad 실전형 리액트 훅(Custom) 내용 정리해보기
Nomad 선생님의 강의를 듣고 예시와 각각의 개념에 대해서 정리해보기로 하였습니다. https://nomadcoders.co/react-hooks-introduction/lobby 해당 영상을 통해 유용한 Hook들을 알게 되었고, 기존에 많이 사용하는 useRef, useState, useEffect 에 대한 개념을 더 잘 이해하게 된 것 같습니다. 기존에 이러한 내용을 모르고 만든 부분들에서 개선점을 확인할 수 있었고, 초보자에게 유용한 내용이였습니다. 그래서 관련 내용에 대한 개념이랑 예시 코드들을 정리해봤습니다. Custom Hook 이란 정의 Custom Hook은 React에서 제공하는 기본 Hook을 조합하거나, 특정 작업을 위한 추가 로직을 포함하여 사용자가 직접 만든 재사용 가능한 Ho..
2024.03.16 -
React 기반 나만의 ToDoList 앱
ToDoList React를 기반으로 ToDoList를 만들어 봤습니다. 해당 투두리스트에서 추가로 해보고 싶은 것은 특정 기간안에 얼마가 남았는 지를 progress bar를 통해 시각적으로 보여줘서 얼마 안남았음을 표시해주고, 장기간으로 설정할 경우, 시간에 따라서 점점 색깔을 변화시켜서 일이 얼마나 남았는 지를 표시하고자 하였다. 기능 할 일 추가 할 일에 대한 디테일한 내용 추가 tag task start_date content 할 일에 대한 남은 기간 추가 할 일에 대한 남은 시각 시각화 추가 calendar gantt chart gauge chart 할 일에 대해서 시간 변환 기능(일,시,분,초) 할 일들에 대한 다운로드 및 불러오는 기능 추가 달력을 통해 전체적으로 일정 추가 특정 Task ..
2024.02.03 -
ChatGPT Prompt(프롬프트) 잘 작성하는 방법)
ChatGPT 프롬프트란? ChatGPT 프롬프트는 응답을 얻기 위해 인공지능(AI) 인터페이스에 입력하는 지침이나 쿼리입니다. 프롬프트는 응답을 유도하기 위한 키워드와 문구로 구성됩니다. ChatGPT에 질문이나 지침을 제공하면 마치 대화하는 것처럼 응답합니다. 아래 그림처럼 응답을 기반으로 하는 다른 쿼리나 지시문을 제공하여 대화를 계속할 수 있습니다. How to Write Prompts for ChatGPT (& Expert Tips) 프롬프트는 ChatGPT의 출력을 지시합니다. 따라서 도움이 되는 답변을 원한다면 유용한 문구와 지침을 제공하는 방법을 알아야 합니다. 이를 프롬프트 엔지니어링이라고 합니다. ChatGPT에 제공하는 메시지가 대화를 형성합니다. 프롬프트가 좋을수록 응답도 좋아집니다..
2024.01.22 -
[LangChain] Prompt Template 사용 방법 정리
langchain에서 사용하는 prompt에 대해서 정리해보고자 합니다. 이런 식으로 굉장히 다양한 promptTemplate가 있기 때문에 정리하고자 한다. 모든 것을 커버할 수는 없지만 최대한 자주 사용할 것 같은 것들을 기준으로 정리해보고자 한다. 버전 0.1.1 버전을 기준으로 정리해서, 추후에 이 template은 의미가 없어질 수 있지만 큰 개념으로 이해하면 좋을 것 같다. 프롬프트 함수 정리 아래에는 langchain에서 사용하는 prompt를 정리한 내역을 보면 다음과 같다. 전체 from langchain.prompts import ( PromptTemplate, PipelinePromptTemplate, MessagesPlaceholder, ChatPromptTemplate, Human..
2024.01.20 -
DVC 설명 및 필수 활용 방법 정리
소개 모든 머신 러닝(ML) 개발자들은 ML 프로젝트의 성공에 있어서 데이터가 얼마나 중요한지 잘 알고 있습니다. 아주 조금의 데이터 변경도 결과에 극적인 변화를 가져올 수 있습니다. 그래서 데이터에 발생하는 모든 변화를 추적하는 것이 매우 중요합니다. 우리가 이야기하는 것은 'data versioning'라고 불립니다. data versioning란 무엇인가? data versioning(버전 관리)는 프로젝트의 다양한 시점에서 스냅샷을 유지하는 행위입니다. 이 방법은 수십 년 동안 소프트웨어 공학에서 흔히 알려져 있으며, 현대 소프트웨어 개발 과정에서 매우 중요해졌습니다. 버전 관리를 하는 것은 프로젝트 소유자에게 두 가지 주요 이점을 제공합니다: 가시성: 작업의 버전을 유지함으로써 소유자는 시간이 ..
2023.12.08 -
ChatGPT) 여행 계획 관련 Prompt 84개 예시
여행 계획 관련해서 Prompt 예시 https://passport-photo.online/blog/chatgpt-prompts-for-travel/#gref 84 ChatGPT Prompts for Travel [2023] A categorized, curated, and vetted list of 84 ChatGPT prompts for travel. Use it to become the ultimate explorer. passport-photo.online 곧 여행 갈일이 있는데, 여행 계획짜기가 쉽지가 않으니 ChatGPT에게 물어보려고 자료를 정리해본다. 자세히 적은 만큼 좋은 결과가 나올 수 있으니, 자세히 적어보고 후기 말해주겠다... CASE Prompt 1. Create a travel..
2023.04.22 -
Python) AVLTree Search를 통해서 특정 값의 범위 찾기 (ChatGPT와 함께)
FastAVLTree는 AVL 트리 데이터 구조의 구현을 제공하는 파이썬 라이브러리입니다. AVL 트리는 자체 균형 이진 검색 트리의 일종으로, Georgy Adelson-Velsky와 Evgenii Landis에 의해 1962년 처음 소개되었으며, 이들의 이름을 따서 명명되었습니다. AVL 트리는 모든 노드의 왼쪽과 오른쪽 서브트리의 높이 차가 최대 하나 이하인 이진 검색 트리입니다. 이는 트리가 항상 균형을 유지하므로 트리의 높이가 노드 수에 대해 로그 적이라는 것을 보장합니다. 이 속성은 AVL 트리가 검색, 삽입 및 삭제 작업을 빠르게 수행할 수 있도록 보장하며, 최악의 경우 시간 복잡도는 노드 수에 대해 O(log n)입니다. FastAVLTree는 Python에서 AVL 트리의 빠르고 메모리 ..
2023.03.22 -
MongoDB Atlas가 기계 학습에 적합한 4가지 이유
MongoDB가 그러면 내가 자주 사용하는 기계 학습과 어떻게 연관될 수 있는 지를 찾아봤다. MongoDB를 머신러닝에 적합한 이유를 찾을 때 보통 아래와 같은 이유들을 말하는 것 같다 Reason Number 1: Flexible Data Model MongoDB는 여러 가지 이유로 기계 학습을 위한 최고의 데이터베이스 중 하나입니다. 첫 번째 이유는 MongoDB가 JSON 문서를 저장하고 유연한 스키마를 가지고 있기 때문입니다. 열 정의가 있는 스키마와 테이블을 정의해야 하는 관계형 데이터베이스와 달리 MongoDB를 사용하면 사전 스키마 설계 없이 데이터를 직접 로드할 수 있습니다. 즉, 새로운 소스에서 데이터를 로드하고 즉시 작업을 시작할 수 있습니다. 이러한 기본적인 유연성 때문에 가스 가격..
2023.03.03 -
python) metaflow 파이썬 스크립트에서 실행해보기
metaflow를 이용해서 python script를 실행하는 방법에 대해서 공유 subprocess를 실행하고, 대기 상태를 건 다음에 다음 flow를 실행하게 해 봤다. import subprocess import time print("first") p = subprocess.Popen(['python', './metaflow/tutorials/02-statistics/stats.py','run']) while p.poll() is None: print('.', end='', flush=True) time.sleep(1) print('returncode', p.returncode) print("second") p = subprocess.Popen(['python', './metaflow/tutoria..
2023.02.10 -
Python) Catboost 모델링 및 Shap으로 분석해보기
In [1]: from IPython.core.display import display, HTML display(HTML("")) /tmp/ipykernel_2227596/3510566465.py:1: DeprecationWarning: Importing display from IPython.core.display is deprecated since IPython 7.14, please import from IPython display from IPython.core.display import display, HTML In [2]: import shap # train XGBoost model X,y = shap.datasets.adult() In [5]: import pandas as pd import ..
2022.11.27 -
Catboost & Shap) 예시 코드
catboost와 shap 관련 예시 코드 catboost를 사용할 때, shap.Explanation을 잘 사용해야 함. cat_features = list(train_x.select_dtypes("category")) train_dataset = cb.Pool(train_x, train_y,cat_features=cat_features) test__dataset = cb.Pool(test_x, test_y,cat_features=cat_features) model = cb.CatBoostRegressor(loss_function='RMSE',random_state=1234, custom_metric=['RMSE', 'MAE', 'R2']) grid = {'iterations': [100, 150, 2..
2022.11.16