파이썬 32

[AI]RAG 기본 이론&실습(3)

https://hoooa.tistory.com/67 [AI]RAG 기본 이론&실습(2)https://hoooa.tistory.com/65 에서 정리했던 RAG의 기본 파이프라인(Data Load, Text Split, Indexing, Retrieval, Generation)을 한층 자세하게 들어가보자~ [AI]RAG 기본 이론&실습(1)RAG에 대해선 이전에 아주 짧게 다뤄hoooa.tistory.com에 이어서  마지막 RAG 정리글!4. Vector Store임베딩 벡터를 효육적으로 저장&검색하는 시스템(DB) - 벡터 저장: 고차원 임베딩 벡터(텍스트/이미지/소리 등)를 처리 가능한 데이터 저장 구조 필요- 벡터 검색: 저장벡터 중 사용자 쿼리에 가장 유사한 벡터를 찾는 과정, ex) 코사인 유사..

Coding/Study 2024.08.05

[error]ModuleNotFoundError: No module named 'pillow_heif'

https://hoooa.tistory.com/67 에서 UnstructuredPDFLoader 실습하던 중 만난 오류,,from langchain_community.document_loaders import UnstructuredPDFLoaderpdf = '/content/drive/MyDrive/재정정보경진대회/data/train_source/1-1 2024 주요 재정통계 1권.pdf'loader = UnstructuredPDFLoader(pdf, mode='elements')pages = loader.load()print(len(pages))pages[20].page_content[:10]pillow_heif 처음 들어보는 모듈인데 뭘까..찾아봐도 모르겠던 와..

Coding/Study 2024.08.01

[error]ValidationError: 1 validation error for ChatOpenAI

https://wikidocs.net/231375 랭체인 LLM 실습 도중 오류 발생Parameters {'presence_penalty', 'frequency_penalty', 'stop'} should be specified explicitly. Instead they were passed in as part of `model_kwargs` parameter. (type=value_error)# LLMfrom langchain_openai import ChatOpenAIparams = {# 기본 파라미터 "temperature": 0.7, "max_tokens": 100,}kwargs = {# 선택 파라미터 "frequency_penalty": 0.5, "presence_pena..

Coding/Study 2024.08.01

[AI]LangChain 기본 이론&실습(3)

LangChain이 제공하는 언어 모델 두 가지 ※ LLM단일 요청에 대한 복잡한 출력 생성 ex) 문서 요약, 질문 답변 생성, etc텍스트 문자열 in → 텍스트 문자열 out+표준화된 인터페이스 → 다양한 LLM 제공 업체 간 호환성 → 유연한 모델 전환/다중 LLM 통합 가 ※ ChatModel사용자와의 상호작용을 통한 연속적 대화 관리 ex) 챗봇메시지 리스트 in → 하나의 메시지 out대화의 맥락을 유지하며 적절한 응답 생성+다양한 모델 제공 업체/작동 모드※ LLM 모델 파라미터-Temperature: 생성된 텍스트의 다양성 조정- Max Tokens: 생성할 최대 토큰 수(텍스트 길이 제한)- Top P(Probability): 생성 과정에서 특정 확률 분포 내 상위 P% 토큰만 고려- ..

Coding/Study 2024.07.31

[프로그래머스]LV1-최소 직사각형(이중 리스트 최대최소)

명함을 모두 담을 수 있는 w(가로)*h(세로)가 최소인 카드 크기 구하기명함 사이즈가 이중 리스트로 주어짐구하는 건 w*h 값 ※ 이중 리스트에서 최대/최소 구하기단순 max(리스트) 하면 리스트가 나옴a = [[10, 7], [12, 3], [8, 15], [14, 7], [5, 15]]print(max(a)) # [14, 7]print(min(a)) # [5, 15]print(max(map(max, a))) # 15print(min(map(min, a))) # 3 ≫ max(max(x) for x in 리스트) ≫ max(map(max, 리스트)) / min(map(min, 리스트))# 다른 사람 풀이def solution(sizes): return max(ma..

Coding/Study 2024.06.19

[python]진수 변환

※ n진수 → 10진수int(n진수값, n)int('101', 2)  # 5int('202', 3)  # 20 ※ 10진수 → n진수 #프로그래머스 lv1 3진법 뒤집기#블로그 풀이 참고함def solution(n): n_3 = '' while n: n_3 += str(n%3) n //= 3 return int(n_3, 3) # 10진수 -> n진수answer = ''while num: answer += str(num % n) num //= nprint(num) # n진수 거꾸로 된 값print(num[::-1]) # n진수 변환값 cf) https://velog.io/@code_angler/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%..

Coding/Python 2024.06.16

[python]두 리스트 공통 인자 추출(프로그래머스 최대공약수/최소공배수)

※ List Comprehension리스트 a, b[x for x in a if x in b]  # a의 인자 중 b에도 있는 인자만 추출 #프로그래머스 lv1 최대공약수, 최소공배수#n, m 두 숫자를 받으면 [gcd, lcm] returndef divide(num): # num의 약수 리스트 return div_li = [] for i in range(1, int(num**(1/2))+1): if num%i == 0: div_li.append(i) if i != num//i: div_li.append(num//i) return div_lidef solution(n, m): answer = [] i..

Coding/Python 2024.06.15

[python]2차원 리스트 생성 및 접근, 값 추가

※ 2차원 리스트(배열)접근할 때 배열 틀 제대로 갖추지 않고 무턱대고 값을 저장하면 index error 남!!#프로그래머스 lv1 행렬의 덧셈def solution(arr1, arr2): answer = [] for i in range(len(arr1)): answer.append([]) # arr1, arr2와 같이 2차원 배열로 틀 갖추기 for j in range(len(arr1[i])): answer[i].append(arr1[i][j] + arr2[i][j]) return answer # 다른 사람 풀이 return [list(map(sum, zip(*x))) for x in zip(A, B)] return ..

Coding/Python 2024.06.13

[kaggle]Ubiquant Market Prediction

금융 데이터를 다뤄보고 싶던 중 Kaggle에서 이미 완료된 대회를 발견했다..!친절하게도 beginner(나같이 다 까먹은 전공자도,,^^)를 위한 코드와 설명이 돼있어서 복습할 겸 수행해보았다. https://www.kaggle.com/code/miingkang/ml-from-the-beginning-to-the-end-for-newbies/notebook ML from the beginning to the end (For newbies🐢)Explore and run machine learning code with Kaggle Notebooks | Using data from multiple data sourceswww.kaggle.com First. Big Picture -🏔To attempt ..

Coding/Study 2024.05.01