본문 바로가기

AI

8/8~9 학습일지 | Github랑 Git이 다른 거였어?! 컴퓨터 무지랭이는 Git과 Github가 다른 것이라는 걸, 이번 수업을 듣고 깨달았습니당이번 학습일지는 최주호 강사님의 강의를 듣고 배운 것 중에서 내 머릿 속에 남아 있는 것들(얼마 안되는 것 같은데..)이 더 사라지기 전에 먼저 정리해보려는 것이므로. 그다지 유용한 정보는 없을 것이라는 걸 미리 알려드림1. Git은 버전을 관리해주는 아주 유용한 도구(?)이다. 2. Github는 git을 손쉽게 쓸 수 있게 해주는 플랫폼이자, 정답지들이 모여있는 막강한 코드 공유 플랫폼이다. MS는 똑똑했다.3. 리눅스를 만든 사람 리누스 토르발스는 성격이 더럽다 (?)이 사람에 대해 궁금해졌다. 4. 사람들이 함께 일을 하려면 규칙이 필요하다. git이 이렇게까지 유명해지고 널리 사용될 수 있었던 배경에는 아마.. 더보기
패스트캠퍼스 Upstage AI Lab 부트캠프 4기, "지원부터 OT까지, 초반부 진행 후기" 며칠 전에 살면서 단 한번도 꿔본 적 없는 꿈을 꿨다. 컴퓨터에서 VS code를 띄워놓고 무슨 코딩 문제를 끙끙거리면서 풀고 있던 꿈이였다. 솔직히 대학생때 전공 공부할 때에도 이렇게까지 공부를 열심히 하지 않았다. 꿈에 나올 정도로 요즘 몰두하고 있는 공부. 패스트캠퍼스에서 하고 있는 AI 부트캠프 4기 이야기이다.  사실 인공지능은 꽤(?) 오래 전부터 관심이 많았고, 공부를 해보려고 깔짝거리기도 했었다. 사실 작년 9월에도 한번 크게 고민한 적이 있었다. 그때 지원을 할까말까 엄청 고민하고, 자기소개서를 쓰다가 결국은 지원을 안하고 다른 선택(?)을 했었다. 하지만 올해 5월에 다시 4기 공고를 봤을 때에는 지나칠 수 없었다. 한 일주일정도 진지하게 고민했던 것 같다. 왜냐하면 이번 길을 건너면 .. 더보기
라마 인덱스에서 빠르고 간편하게 RAG 수행하기 "라마 인덱스 라이브러리에서도 openai를 임포트할 수 있어요."LlamaIndex 라마 인덱스가 뭔데!!LlamaIndex (또는 llama_index) 라이브러리를 말함. 대규모 언어 모델(LLM)을 사용하여 구조화되지 않은 데이터를 쉽게 처리할 수 있게 해주는 데이터 프레임워크. 문서 인덱싱, 쿼리 처리, 데이터 구조화 등의 기능을 제공. 아! 그냥 라이브러리 이름이였구나. 인덱스가 붙어서 뭔가 했네.  어쨌든 라마 인덱스를 써서 RAG도 해야하는데...from llama_index.llms.openai import OpenAIfrom llama_index.core.llms import ChatMessageclient_llama = OpenAI(model = 'gpt-3.5-turbo')messa.. 더보기
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.. 더보기
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에게 넘겨준다. "사용자.. 더보기