오블완 18

TIL 48

팀 프로젝트를 진행하면서 각자 코드를 짜보는 식으로 초반에 진행했다. 그러나 다른 팀원의 코드를 내가 실행할 때, 환경 차이로 인해 코드가 실행되지 않는 상황이 계속됐다. 나는 Chroma를 사용하지 않았다. 그러나 팀원은 Chroma를 사용했고, 내가 그 코드를 실행하면서 나의 하루가 시작되었다. 오늘은 원래 내가 맡은 부분인, 챗봇과의 대화를 저장하고 불러오는 부분을 시작하려고 했다. 그러나 기본 코드로 참고하기로 한 팀원의 코드를 내가 실행하는 과정에서 문제가 시작됐다. 하루가 다 지나고, 모든 것이 해결된 지금, 정리해보니 가장 문제된 부분은 바로 Chroma를 불러오는 부분인 것 같다. 팀원의 코드를 실행시키니, 설치되지 않은 프로그램들이 많았다. 그래서 그 프로그램들을 실행시키기 위해서 설치하..

TIL 47

강의 외부에서 추가로 알게 된 내용re.sub() 함수정규 표현식을 사용해 문자열에서 특정 패턴을 찾아 원하는 값으로 대체하는 데 사용된다. 문법은 아래와 같다.re.sub(pattern, replacement, string, count=0, flags=0)pattern: 찾고자 하는 정규 표현식(패턴).replacement: 대체할 문자열 또는 함수.string: 패턴을 찾을 대상 문자열.count: 대체할 횟수(기본값은 0으로, 제한 없음).flags: 정규식 플래그로, 대소문자 구분 등 옵션을 지정.예시를 통해 자세히 알아보자.예시 1) 단순한 문자열 대체문자열에서 숫자를 공백으로 대체하는 예시다.import retext = "딥러닝의 발전은 2010년대부터 시작되었습니다."result = re.s..

TIL 46 팀 프로젝트

팀 프로젝트데이터셋 로드하기1. NotionDirectoryLoader로 노션 파일 읽어오기노션의 API를 활용하는 방법도 있지만, API를 활용하는 방법을 사용하지 않고 싶어서 노션 파일을 html, md, pdf 형식으로 각각 저장해서 읽어오는 방법을 선택했다.from langchain_community.document_loaders.notion import NotionDirectoryLoader위의 코드는 langchain_community 패키지의 document_loaders.notion 모듈에서 NotionDirectoryLoader 클래스를 가져오는 코드다.패키지/라이브러리: langchain_community이 패키지는 LangChain이라는 자연어 처리(NLP) 프레임워크와 관련된 커뮤니..

TIL 45

수준별 수업 - 베이직반파이썬 코딩테스트 복습캐릭터의 좌표문제 설명문제 설명머쓱이는 RPG게임을 하고 있습니다. 게임에는 up, down, left, right 방향키가 있으며 각 키를 누르면 위, 아래, 왼쪽, 오른쪽으로 한 칸씩 이동합니다. 예를 들어 [0,0]에서 up을 누른다면 캐릭터의 좌표는 [0, 1], down을 누른다면 [0, -1], left를 누른다면 [-1, 0], right를 누른다면 [1, 0]입니다. 머쓱이가 입력한 방향키의 배열 keyinput와 맵의 크기 board이 매개변수로 주어집니다. 캐릭터는 항상 [0,0]에서 시작할 때 키 입력이 모두 끝난 뒤에 캐릭터의 좌표 [x, y]를 return하도록 solution 함수를 완성해주세요.[0, 0]은 board의 정 중앙에 위..

TIL 44

강의 외부에서 추가로 알게 된 내용리스트 컴프리헨션에서 사용하지 못하는 것들할당 연산자+=, -=, *=, /=, %=, 등 변수나 객체의 값을 직접 변경하는 연산은 허용되지 않는다.예: [arr[i] += 1 for i in range(10)]는 문법 오류다.더보기리스트 컴프리헨션에서는 +=, -=, *=, %=와 같은 할당 연산자를 사용할 수 없다. 리스트 컴프리헨션은 새로운 리스트를 생성하기 위한 구문이며, 기존 데이터를 수정하거나 부수적인 효과(side effect)를 발생시키는 작업에는 적합하지 않다. 리스트 컴프리헨션은 값을 생성해서 반환하는 것이 목적이지, 기존 데이터를 수정하는 작업에는 설계되지 않았기 때문이다. 따라서 arr[i] += 1처럼 기존 리스트를 수정하려는 시도는 문법적으로 허..

TIL 43 도전 과제

도전 구현 과제LangSmith의 Prompt Library를 참고하여 prompt engineering을 수행해보자.  RAG의 성능은 prompt 의 품질에도 많은 영향을 받는다. 이번 도전 구현과제는 prompt engineering을 해보고, prompt 실험 결과를 외부에서 잘 비교 정리할 수 있도록 코드를 고쳐보는 것이다.LangSmith의 Prompt Library 를 참고하여 프롬프트를 3개 이상 아래와 같은 파일 구조로 저장하자.예시).├── main.jupynb└── Prompts/ ├── prompt1.txt ├── prompt2.txt └── prompt3.txt 각 프롬프트를 외부에서 불러와서 실행할 수 있도록 코드를 고쳐보자.실행 결과는 자동으로 Result 디렉..

TIL 42

강의 외부에서 추가로 알게 된 내용 DATE_ADD 함수 DATE_ADD 함수는 SQL에서 날짜 또는 시간을 더하는 데 사용하는 함수다. 기준 날짜에 특정 간격(일, 월, 년 등)을 더한 결과를 반환한다. 기본 문법은 아래와 같다.DATE_ADD(date, INTERVAL expression unit)date는 기준이 되는 날짜 또는 시간이다. expression는 더할 숫자(정수)다. unit는 더할 단위로, DAY, MONTH, YEAR 등 다양한 값이 가능하다. 주요 시간 단위는 DAY(일), MONTH(월), YEAR(년), HOUR(시간), MINUTE(분), SECOND(초) 등이 있고, YEAR_MONTH, DAY_HOUR 등으로 두 단위를 동시에 다룰 수도 있다. 예시를 통해 자세히 알아보..