본문 바로가기

공부방/Upstage AI Lab 4기

8/6 학습일지 | 파이썬에서 RAG 구현하기 오픈ai에서 api를 받아오는데 첨에 분명 무료라 했는데 계속 오류떠서 5달러 결제했다. 근데 결제하고 바로 안되고, 한참 뒤에 오류 없이 실행됨.  오늘 한 것: 파이썬으로 챗지피티 3.5랑 얘기하는데 위키피디아 문서 주고 그거 기반으로 답변받기 코드 하나하나 뜯어보자import osapi_key = " "os.environ["OPEN_API_KEY"] = api_keyos.environ.get("OPEN_API_KEY")os.environ은 환경 변수에 접근할 수 있게 해주는 매핑 객체이고, 환경 변수를 쓰면 보안이나 관리가 쉽기 때문이 쓰는 거라도 한다. (솔직히 이해 못했지만) 랭체인에서 중요한 파트는 아니니 일단 패스.OpenAI 라이브러리를 임포트 해주는 것으로 시작!from openai i.. 더보기
네이버 증권 데이터 크롤링 | f-string이 중요하네!! 디버깅 힌트 아래 코드에서 틀린 점은?! import requestsfrom bs4 import BeautifulSoupdef crawl(code): url = "https://finance.naver.com/item/main.naver?code={code}" res = requests.get(url) bsobj = BeautifulSoup(res.text, "html.parser") #주가 뽑기 div_today = bsobj.find("div", {"class":"today"}) em = div_today.find("em") price = em.find("span").text #회사이름 뽑기 h_company = bsobj.find("div", {".. 더보기
RAG 발전에 중요한 영향을 끼친 3가지 논문 KNN-LM (2019), REALM (2020), RAG (2020)위 세 논문들은 RAG 기술의 기초를 다지고, 발전시키며, 현재의 형태로 정립하는 데 중요한 역할을 했다. 각각의 연구가 이전 연구의 한계를 보완하고 새로운 아이디어를 제시하면서 RAG 기술은 빠르게 발전해왔는데 (...) 이 논문들에 대해서 간략하게 살펴보자!  KNN-LM (2019)주요 아이디어: 언어 모델에 k-최근접 이웃(k-Nearest Neighbors) 검색을 결합했습니다.영향: 대규모 데이터셋에서 관련 정보를 검색하여 언어 모델의 성능을 향상시킬 수 있음을 보여주었습니다.의의: 검색과 생성을 결합하는 아이디어의 초기 형태를 제시했습니다.inference 시에 explicit memory 사용사용자가 질문을 하거나 모델이.. 더보기
Langchain과 RAG에 관한 찍먹 기본 지식 RAG는 언제, 어떨 때 쓰려고 만들어진 것일까?미리 준비된 지식 베이스에서 관련 정보를 찾아서 정확하고 신뢰할 수 있는 답변을 생성하고 싶을 때.  대충 RAG가 돌아가는 시나리오(RAG pipeline)1) 인공지능 관련 지식을 모아서 [지식 베이스?]에 저장해둔다. (Vector DB에 저장)2) 사용자가 질문을 한다. "인공지능에 대해서 알려줘"3) RAG : 질문을 벡터로 변환(임베딩이라고 부름)한다. (질문 처리는 RAG 시스템의 일부인 특별한 모델이나 컴포넌트가 수행.)4) RAG : 질문과 연관된 정보를 [지식 베이스?]에서 찾는다. 질문 벡터와 가장 유사한 문서 벡터를 찾아낸다. 5) RAG : 가장 관련성이 높은 부분을 추출해 하나의 컨텍스트로 만든다.6) LLM에게 넘겨준다. "사용자.. 더보기
파이썬 클래스 연습문제 3 - 도서관 관리 시스템 만들기 문제: 도서관 관리 시스템을 만들어보자.도서관에 책을 추가하고, 도서관 회원들이 책을 대출하고 반납하는 프로그램을 작성해보세요. 책 클래스를 생성한다. 이 클래스는 제목, 저자, isbn를 속성으로 가진다.도서관 클래스를 생성한다. 도서관은 책을 추가하거나 제거할 수 있고, 책을 찾아볼 수도 있다. 모든 책을 확인하고, 대출 중인 책은 리스트를 만들어서 관리한다. 회원 클래스를 생성한다. 회원은 이름 정보를 받는다. 회원이 책을 빌리고, 다시 되돌려주는 메서드를 만든다.  1. Book 클래스먼저 Book이라는 클래스를 만든다. Book 클래스로 책을 찍어낼 거고(=객체를 만든다), 찍어낸 책(객체)에는 제목, 저자, isbn, 그리고 대출여부를 판단할 수 있는 값(속성들)을 가지고 있게 만든다. cla.. 더보기
파이썬 클래스 연습문제 2 - 이제 조금은 알 것 같기도 하다 2024.08.02 - [공부] - 파이썬 클래스에서 2차 멘붕, 다시 개념 잡기... 에 이어서문제3. 학교 관리 시스템학교에는 여러 학생들이 있고, 각 학생은 다양한 과목의 성적을 가집니다. 학교 관리 시스템을 구축하여 학생들의 정보를 관리하고, 특정 기준에 따라 우수 학생을 선별할 수 있는 프로그램을 작성하세요.요구 사항:Student 클래스를 생성합니다. 이 클래스는 학생의 이름, 학번, 그리고 성적(과목명과 점수의 딕셔너리)을 속성으로 가집니다.School 클래스를 생성합니다. 이 클래스는 학생 객체의 리스트를 관리하며, 학생을 추가하고, 전체 학생 정보를 출력하는 메서드를 포함해야 합니다.School 클래스에는 평균 점수가 특정 기준 이상인 학생들만을 선별하여 그 목록을 반환하는 메서드도 포함.. 더보기
파이썬 클래스에서 2차 멘붕, 다시 개념 잡기... 어제 이해가 된 둥 마는둥 했더니 역시나 이해가 안됐던 것... 그래서 어제 풀었다고 생각했던 그 문제를 다시 해부했다. 2024.08.01 - [Upstage AI Lab 4기 학습일지] - 7/31 학습일지 | 파이썬 클래스 연습문제 1 문제 2. 음식 주문 시스템 만들기이 시스템은 메뉴를 관리하고, 주문을 받아 처리하는 기능을 가집니다. 여기서는 메뉴 클래스(Menu), 주문 클래스(Order), 그리고 주문 관리 클래스(OrderManager)를 구현합니다.Menu 클래스: 음식 이름과 가격을 관리합니다.Order 클래스: 특정 메뉴 항목에 대한 주문을 담습니다. 주문 번호와 주문한 메뉴 항목의 리스트를 포함합니다.OrderManager 클래스: 모든 주문을 관리합니다. 새 주문을 추가하고, 모든.. 더보기
7/31 학습일지 | 파이썬 클래스 연습문제 1 문제 2. 음식 주문 시스템 만들기이 시스템은 메뉴를 관리하고, 주문을 받아 처리하는 기능을 가집니다. 여기서는 메뉴 클래스(Menu), 주문 클래스(Order), 그리고 주문 관리 클래스(OrderManager)를 구현합니다.Menu 클래스: 음식 이름과 가격을 관리합니다.Order 클래스: 특정 메뉴 항목에 대한 주문을 담습니다. 주문 번호와 주문한 메뉴 항목의 리스트를 포함합니다.OrderManager 클래스: 모든 주문을 관리합니다. 새 주문을 추가하고, 모든 주문을 보여주는 기능을 가집니다.위의 3가지를 기능을 아래 템플릿에 맞춰서 클래스로 구현해보세요.클래스 구현이 완료되면, 아래 실행 예시가 올바르게 실행되어야 합니다! 1. Menu 클래스 만들기class Menu: def __init.. 더보기