-
챗GPT (Chat GPT)의 동작원리와 발전단계
챗GPT(Chat Generative Pre-trained Transformer)는 자연어 처리 기술을 사용하여 대화를 이어나가는 모델로, 입력된 문장의 다음 단어를 예측하는 언어 모델이다. 이것은 대규모 데이터셋을 학습하여 생성되었으며, 이를 통해 자연스러운 대화를 이어나갈 수 있다. 챗GPT가 학습한 데이터의 크기는 570GB 정도이며, 단어로 치면 3,000억 개가 넘는다. 여기에는 책 위키백과, 보고서, 웹사이트 등에서 긁어모은 다양한 유형의 데이터가 포함되며, 언어 또한 특정언어에 국한되지 않는다. 챗GPT의 동작 원리는 그림과 같이프롬프트 (Prompt)라는 질의를 입력하면 챗GPT가 그에 대한 대답으로 컴플리션 (Completion)을 보여 준다. 구글은 2017년에 트랜스포머라는 것을 발표..
-
[파이썬] 파워포인트 / 워드 문서를 PDF 파일로 변환하는 방법 ( ppt to pdf / doc to pdf ) - 자동화
comtypes를사용하면 순수 Python에서 사용자 지정 및 디스패치 기반 COM 인터페이스를 정의, 호출 및 구현할 수 있습니다. Windows, 64 비트 Windows 및 Windows CE에서 작동합니다. ▶ 파워포인트 문서를 PDF 파일로 변환 ( ppt → pdf ) import sys import os import comtypes.client input_folder_path = "문서 읽어들일 폴더" output_folder_path = "PDF 출력 폴더" input_file_paths = os.listdir(input_folder_path) for input_file_name in input_file_paths: if not input_file_name.lower().endswith((..
-
[파이썬] PDF 문서 병합 / PDF 파일들을 하나로 합치기 - PyPDF2
※ PDF 문서를 병합하는 것은 PyPDF2 모듈을 이용한다. PyPDF2는 PDF 파일의 페이지를 분할, 병합, 자르기 및 변형 할 수있는 순수 Python PDF 라이브러리로, PDF 파일에 사용자 정의 데이터, 보기 옵션 및 암호를 추가 할 수 있다. PDF에서 텍스트와 메타 데이터를 검색하고 전체 파일을 함께 병합 할 수 있다. PyPDF2.PdfFileMerger (strict=True) : PdfFileMerger는 여러 PDF를 단일 PDF로 병합하며, 연결, 슬라이스, 삽입 또는 위의 조합이 가능하다. append (fileobj, bookmark = None, pages = None, import_bookmarks = True ) : 지정된 페이지 번호의 출력 파일로 병합 PyPDF2.P..
-
[파이썬] 유튜브 영상 / 자막 다운로드 - pytube
pytube는 YouTube 비디오를 다운로드하기 위한, 가볍고 종속성이 없는 라이브러리이다. pytube: 2.7 / 3.4 / 3.5 / 3.6 / 3.7 pytube3: 3.6 / 3.7 / 3.8 → pip install pytube3 ▶ 영상 다운로드 from pytube import YouTube url = 'https://www.youtube.com/watch?v=ecF1y2bI2T4' yt = YouTube(url) stream = yt.streams.all()[0] stream.download(output_path='C:/test') # 영상 다운로드 yt.streams.all() 실행 시, 해상도 관련 전체 목록을 볼 수 있으며, yt.streams.all()[0] 은 그중 첫 번째 항..
-
[파이썬] 이메일 보내기 - SMTP / MIME ( gmail )
smtplib은 SMTP를 사용하기 위한 모듈이고, MIMEText는 메일을 보낼 때 메시지의 제목과 본문을 설정하기 위한 모듈이다. ▶ SMTP 는 간이 우편 전송 프로토콜 (Simple Mail Transfer Protocol) 의 약자로, 이메일 전송에 사용되는 네트워크 프로토콜이다. 인터넷에서 메일 전송에 사용되는 표준이다. SMTP는 보안과 호환성의 문제로 그대로는 사용하지 않는 경우가 많다. 일반적으로 쓰이는 확장 프로그램은 SMTP-AUTH (송신자 인증 서비스), ESMTP (SASL을 이용한 보안 연결), MIME (non-ascii 데이터 전송 포맷)가 있다. SMTP는 25/tcp 와 587/tcp 포트를 사용하며, SMPTS는 465/tcp 포트를 사용한다. SMTP는 연결지향적이고..
-
[파이썬 ] 데이터프레임 엑셀 시트 / 차트 만들기 - pandas / xlsxwriter 모듈
import pandas as pd data = {'name' : [ 'Jerry', 'Riah', 'Paul'], 'java' : [ 91, 98, 85], 'basic' : [ 81, 63, 83], 'c++' : [ 65, 83, 98], } df = pd.DataFrame(data) df.set_index('name', inplace=True) # name 열을 인덱스로 지정 print(df) #--------------------------------------------------------------------------------- # 데이터 작업 writer = pd.ExcelWriter('test_chart.xlsx', engine='xlsxwriter') df.to_excel(writ..
-
[파이썬] 문자열 정리 함수 - strip / split
strip() 함수 : 문자열 앞뒤의 공백 또는 특별한 문자 삭제. lstrip() 함수 - 문자열 앞에 있는 데이터만 처리 (문자열 왼쪽)rstrip() 함수 - 문자열 뒤에 있는 데이터만 처리 (문자열 오른쪽)text = ' 안녕 ' text = data1.strip()text = '####안녕####' text = text.strip('#') ▶ 결과 : '안녕' split() 함수 : 문자열 내부에 있는 공백 또는 특별한 문자를 구분해서, 리스트 아이템으로 만듦. text = '사과 배 포도 오렌지' text = text.split() ▶ 결과 : ['사과', '배', '포도', '오렌지'] text[1] ▶ 결과 : '배'
-
[블록체인] NTF와 스마트 컨트랙트 (smart contract)
'2세대 암호화폐'라고 불리는 이더리움(Ethereum)은 러시아계 캐나다 사람인 비탈릭 부테린(Vitalik Buterin)에 의해 처음 만들어졌다. 재미난 점은 사토시 나카모토와 달리 비탈릭 부테린은 암호화폐보다는 블록체인 기술 자체에 훨씬 더 많은 관심을 가졌다. 그는 블록체인에 암호화폐 거래기록만 저장하지 말고, 소프트웨어도 함께 저장하자는 재미있는 아이디어를 내었다. 블록체인에 소프트웨어, 즉 컴퓨터 프로그램을 저장하면 해당 프로그램은 투명하게 모두가 볼 수 있을 것이며, 구성원들의 동의없이 함부로 이를 수정하거나 삭제하는 것은 불가능하다. 이렇게 블록체인 상에 등록된 컴퓨터 프로그램을 '스마트 컨트랙트(smart contract)'라고 한다. 부테린은 기존 비트코인의 소스코드를 일부 수정하여 ..