[백준] BOJ1316, 그룹 단어 체커
·
IT, Computer
서론오늘부터 차근차근 백준 문제를 풀어보고자 한다. 오늘 풀어볼 문제는 백준 1316이다. 이 문제는 실버 5에 해당하고 정답률은 현재 기준 58.855%다. 리스트를 사용한 문제로 리스트 관련 포스팅은 여기로 가면 되며, 문제를 직접 보고 싶다면 여기로 가면 된다. 백준 링크를 걸어 놓았다. 이번 포스팅에서는 어떻게 접근했고, 코드는 어떻게 했는지 적을 예정이다.  백준 1316 풀이과정 연속해서 나타나는 경우에서 연속의 정의가 애매해서 처음에 뭐지 싶었는데 여기서 연속이라함은 a,b,c와 같은 알파벳의 연속이 아니라(하지만 이 역시 문제로 충분히 나올법하다.) 기존에 사용된 알파벳이 있는지에 대한 연속 여부다. 그래서 abd인 경우는 연속, aaza는 불연속이다. 아무튼 난 이 문제를 보고 크게 세가..
리스트 컴프리헨션 List Comprehension
·
IT, Computer
서론이번 포스팅에서는 리스트 컴프리핸션에 대해서 알아보고자 한다. 배열이면 배열이지 뒤에 컴프리핸션은 뭐냐? 할텐데, 리스트 컴프리핸션은 단순히 선언하는 것이 아니라 계산식, if문 등을 넣어서 새로운 리스트를 만드는 방법이다. 대표적으로 ㅇ가지가 있는데 거기에 대해서 설명하고자 한다.1. 단순 리스트 컴프리헨션단순 리스트 컴프리헨션은 arr = [ 표현식 for 변수 in ]이다. 표현식에는 식이나, 간단한 함수를 넣을 수 있다. 예를들어 arr= [int(input() for _ in range (5)] 가 있다. iteration만큼 input을 받아 리스트를 만드는 것이다. int(input()) 대신에 x**2 같은 함수를 넣을 수도 있다.2. if문을 활용한 리스트 컴프리헨션if문을 활용하는 ..
Retrieval Augmented Generation(RAG) 복습 (6) 사전을 사용해서 질문 바꾸기
·
IT, Computer
서론우리가 제대로 LLM을 만들었음에도, 대답이 썩 만족스럽지 않은 경우가 있다. 물론 제대로의 제대로가 진정한 의미에서의 제대로가 아닐수도 있지만, 어느정도 검증된 모델을 향연으로 코드가 제대로 돌아가는 걸 확인한 이상 가장 떠오르는 변수는 바로 '사용자의 질문'이다. 개떡같이 물어도 찰떡같이 알아듣는다는 속담이 괜히 있는게 아니다. 그만큼 개떡같이 물어보는 사람이 많다는 것이고, 대답하는 사람은 그걸 알아듣고 찰떡같이 대답해야된다. 특히 대답해야되는 사람이 을의 입장이라면... 사용자가 개떡같이 말했을 때 잘 알아들어야된다. 이번 포스팅에서는 이러한 상황때 잘 알아들을 수 있게 dictionary를 작성하는 과정을 가질 것이다.어떤식으로 문제가 발생하는가서론에서 얘기하는 상황에 대해서 알아보도록 하자..
카멜 포터블 휴대용 모니터 프리즘 CPM1610IQ 구매기 (2)
·
IT, Computer
서론지난 포스팅에서는 어떤 기준으로 카멜의 포터블 휴대용 모니터 프리즘 CPM1610IQ를 구매했는 지 언급을 했다. 이번 포스팅에서는 배송이 얼마나 걸렸는 지 말할것이며, 잠깐 써보고 난 사용기에 대해서 적겠다. 지난 포스팅 내용에 대해서 궁금한 사람은 아래 링크로 들어가면 되겠다. 카멜 포터블 휴대용 모니터 프리즘 CPM1610IQ 구매기 (1)목차서론 나는 27인치 모니터를 쓴다. 그리고 11인치 아이패드를 세로로 세운 다음 미러링해서 사용한다. 이건 무엇을 의미하냐하면 미러링해서 사용하기에 아이패드에 OTT를 띄울 때 안보이는quiseol.com 카멜 프리즘 CPM1610IQ 배송주문은 11월 24일에서 25일 넘어가는 자정에 했다. 이건 엄밀히 말하면 택배사 관련 내용이니 관심 없으면 생략해도 ..
카멜 포터블 휴대용 모니터 프리즘 CPM1610IQ 구매기 (1)
·
IT, Computer
서론 나는 27인치 모니터를 쓴다. 그리고 11인치 아이패드를 세로로 세운 다음 미러링해서 사용한다. 이건 무엇을 의미하냐하면 미러링해서 사용하기에 아이패드에 OTT를 띄울 때 안보이는 경우가 많다는 것이다. 단순 OTT를 볼때면 그냥 무시할 수 있겠지만 인강을 볼때 안 될 때 불편함이 엄청컸다. 화면을 27인치에 띄우고 코드를 11인치로 보는것은 미친짓이었다. 그렇다고 27인치를 하나 더 추가하자니 30만원이라는 거금이 필요했고, 또 전원 케이블 설치나.. 공간차지가 마음에 걸렸다. 또한 27인치를 가로로 놓느냐, 24인치로 해서 세로로 놓느냐도 고민이 많았는데, 전자로 설치하면 세로로 바꿀때 제약이 크고 후자로 놓으면 가로로 놓았을나 세로로 놓았을때나 균형이 깨지는게 꼴보기 싫었다. 그래서 포터블 모..
Retrieval Augmented Generation(RAG) 복습 (5) Pinecone
·
IT, Computer
서론이전에는 chroma를 활용해서 진행을 했다. 이번에는 Pinecone을 어떻게 활용하는지에 대해 포스팅을 하려고한다. Pincone의 장점은 무엇이며, Chroma랑 비교되는 부분을 알아보고, 이후에 코드를 통해 어떤식으로 구현하는 지 알아보겠다.Chroma , Pinecone 차이가장 큰 차이는 Chroma는 in-memory 방식을 사용한다는 것이고 Pinecone은 cloud를 이용한다는 것이다. cloud를 사용함으로써 llm 서버를 이전할 때 용이하다고 볼 수 있다. 즉, pinecone을 사용함으로써 database를 클라우드에다가 만드는 것이다. 그러므로 우리가 해야될건 기존 코드에서 database 부분을 수정하는 것이다.Chroma를 사용할때는 아래 코드와 같이 database를 선..
Retrieval Augmented Generation(RAG) 복습 (4) Langchain Hub
·
IT, Computer
서론지난 포스팅에서는 LangChain을 어떻게 활용하는지에 대해 알아보았다. 이번 포스팅에서는 LangChain-Hub를 쓰는걸 실습하고자 한다. 우선 왜 langchain hub를 쓰는가?에 대해 알아보고 이후에는 이것을 어떻게 쓰는지 알아볼 것이다. 지난 포스팅을 보면 유사도 검색 과정에서 페르소나를 주기 위해 prompt를 작성했다. 그런데 Langchain hub는 이러한 prompt를 다양하게 갖고있기에 코드를 짜는 사람이 prompt를 짜지 않아도 된다는 강점이 있다. 그럼 지난 포스팅에서 사용한 것과 이번 포스팅에서 사용하는 것을 비교해보자.similarity_search 이용순서상 RetrivalQA, Langchain-hub가 먼저와야 될 것 같지만 이 부분은 지난 포스팅과 완전히 같으..