목록All Contents (143)
Code&Data Insights
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/XXTHf/btsHBrIf5CB/aSRlyqy9YhJQQLQ40G3gS0/img.png)
문제상황- git pull 안하고(다른사람이 변경한거 체크안하고..ㅋㅎ: 내실수) 커밋해서 conflict 남 - 다시 commit했는데 처음꺼 그대로 남아있고 내가 올리고 싶지않은 다른 파일로 다시 커밋이 되버림 [ 해결방법 ] 1) 리베이스 시작:git rebase -i HEAD~2 : 최근 두개 커밋을 보여줌, 내가 삭제하고 싶은 커밋 pick -> drop으로 수정 -> esc 안먹힘, 그냥 :wq 치고 (write(저장)와 quit(종료)) 엔터 누르면 된다 -- 푸시하기 전에 잘 없어졌는 지 확인 가능! -- 2) 리베이스 OK, 원격 저장소에 변경사항을 푸시하기git push origin master --force 완료!!
아주 기본적인 실수지만,그래도 기록하기..! 커밋할 때, vscode에서 staged에 올려야 되는데, 일부 수정 반영 필요 없는 파일들을 올리지 않을 경우 commit해도 바로 push 버튼이 활성화가 안된다! -> 명령어로 push 해도 되는데 처음이라 여러 방법을 찾다가 파일을 다 삭제해버림.. ㅋㅎ 문제가 된 명령어 git rm --cached . -rf 인덱스에서 모든 파일을 제거하기 때문에, 잘못 사용하면 다음 커밋에서 모든 파일이 삭제된 것으로 나타날 수 있음! 사용시 주의.. [해결 방법] (1) 내가 커밋한 내용들도 같이 사라졌기 때문에, git init 하기전에 저장해야 함 (따로 저장해놓기) (2) 깃 초기화 하기 git init (3) 기존 저장소 다시 연결git remot..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bOnZwZ/btsHzaySCRz/KaMb74ujViBqCCTjOozK8k/img.png)
[ git pull vs git pull rebase ] git pull : git fetch + git merge 두 명령어의 조합 - git fetch : 원격 저장소의 변경사항을 로컬로 가져옴 - git merge: 가져온 변경사항을 현재 브랜치에 병합 1) cd 다이렉토리 들어가기 frontend면 frontend, server면 server 2) git reset --hard로 하고 -> git pull git reset 하면 잘 안됨 -> git reset --hard로 하고=> git pull 하기! 3) 해당 파일에서 다시 dev 실행하기 git pull --rebase: git fetch + git rebase 두 명령어의 조합 - git fetch : 원격 저장소의 변경사항을 ..
Chat Prompt Template 이란? : 대화형 상황에서 여러 메세지 입력을 기반으로 단일 메세지 응답을 생성하는 데 사용됨 => 대화형 모델이나 챗봇 개발에 주로 사용 Message 유형- SystemMessage : 시스템의 기능- HumanMessage: 사용자의 질문- AIMessage : AI 모델의 응답- FunctionMessage : 특정 함수 호출의 결과- ToolMessage : 도구 호출의 결과 튜플 형태의 메세지 리스트 : ChatPromptTemplate 인스턴스를 생성하는 방식 -> 대화형 프롬프트를 생성=> 2-tuple 형태의 메세지 리스트를 입력받아 메세지의 역할(type)과 내용(content)를 기반으로 프롬프트를 구성 LangChain - ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/5Q2d0/btsHuJQkCIw/Mkv2ShiQZ5aZ7Drv4rCrB0/img.png)
멀티 체인(Multi-Chain) 이란 ? : 각기 다른 목적을 가진 여러 체인을 조합하여, 입력 데이터를 다양한 방식으로 처리하고 최종적인 결과를 도출=> 복잡한 데이터 처리, 의사 결정, AI 기반 작업 흐름을 설계할 때 유용 Multi-Chain 연결하기 1. 두 가지의 Prompt Template 객체 생성 2. chain 1 생성 3. chain 2 생성 출력 파서(Output Parser) 란?: 모델의 출력을 처리하고, 그 결과를 원하는 형식으로 변환 [ 출력 파서의 주요 기능 ]1) 출력 포맷 변경: 모델의 출력을 원하는 형식으로 변환 JSON -> 테이블 형식 2) 정보 추출 : 원시 텍스트 출력에서 필요한 정보(날짜, 이름, 위치) 등을 추출 => 복잡한 텍스트..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/nm4xA/btsHtYOekZc/MdK6fSriqS8hAUmCkMkhMk/img.png)
1. Google Colab 초기 세팅 2. OpenAI API 키 받아오기 & 입력 import os# OpenAI API 키 설정os.environ['OPENAI_API_KEY'] = "your_key" 3. 모델 설정 ** " model = " 객체 생성 시 옵션 값 지정 할 수 있음 => temperature | max_tokens 4. Chain 실행 & PromptTemplate 객체 생성 ( input : 유저의 질문 ) # chain 실행llm.invoke('한국에서 가장 좋은 신용카드는?') # ChatPromptTemplate.from_template() - 문자열 형태의 템플릿을 인자로 받아 해당 형식에 맞는 프롬프트 객체를 생성from langchain_core.p..
동기(Synchronous) vs 비동기(Asynchronous)동기(Synchronous) 프로그래밍- 코드가 작성된 순서대로 차례대로 실행- 각 작업이 완료될 때까지 다음 작업이 시작되지 않습니다. 비동기(Asynchronous) 프로그래밍- 코드가 작성된 순서와 상관없이 실행- 한 작업이 완료될 때까지 기다리지 않고 다른 작업을 동시에 수행할 수 있습니다. 비동기를 사용하는 주요 이유? => 멀티태스킹을 구현하여 시스템 자원을 효율적으로 사용하기 위해서! => 여러 스레드나 프로세스가 동시에 실행됨 비동기 프로그래밍 (Asynchronous)의 발전 순서 1) Callback 함수: 초기 비동기 프로그래밍에서는 콜백 함수를 사용하여 비동기 작업을 처리=> 특정 작업이 완료되면 콜백 함수를 호출..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bmhnir/btsGY0Fpu3f/ARrOUK96AxubTh5qLyeFA1/img.png)
Redux - 상태 관리 라이브러리-> 컴포넌트끼리 상태를 공유할때 여러 컴포넌트를 거치지 않고 전달 할 수 있음 Reducer? -> state 값 변경이 필요하면 action 발생 -> 변경하는 객체를 dispatch()의 parameter로 넘겨줌=> Reducer 함수 실행 Action → Dispatch → Reducer → Store 순서로 데이터가 흐름 => 위 코드에서 Action 객체를 생성하고, Dispatch 함수로 전달한 뒤, Reducer 함수에서 Action 객체를 확인하여 상태를 변경하고,이를 store에 저장 (state 업데이트) => useSelector를 사용하여 store의 상태를 가져와 화면을 렌더링 Context API가 Redux 보다 나은점? 전체 stor..