1. robots.txt 설정- robots.txt 파일을 통해 크롤러의 접근을 차단* robots.txt는 웹사이트 루트 디렉토리에 위치하는 텍스트파일, - 하지만 robots.txt는 강제성이 없고, 직접 만든 python 크롤러(requests 등)들은 무시할 수 있다.User-agent: *Disallow: /admin/Disallow: /private/Allow: /public/2. HTTP 헤더 및 User-Agent 차단- 웹 서버에서 특정 User-Agent(봇 식별자)를 감지하고 차단- 예를 들어, scrapy, selenium, python-urllib과 같은 크롤링 관련 User-Agent를 차단 if ($http_user_agent ~* (Scrapy|Selenium|Python-u..

1. 기계어- 0과 1로 이루어진(2진수) 컴퓨터(CPU)가 별다른 해석(컴파일) 없이 읽을 수 있는 프로그래밍 언어- code 작성 → 인터프리터/컴파일러(기계어 번역) → 컴퓨터 인식- low level(기계와 더 가까운 언어, ↔ high level): 속도가 더 빠르지만, 작성이 어렵고 실수하기 쉽다 1) 인터프리터 (변환+실행)- 소스 코드를 한 줄씩 읽어가며 변환하고 즉시 실행하는 프로그램- Python은 인터프리터 언어이기 때문에 파이썬 코드를 실행하려면 인터프리터가 필요하다- Python에서 가장 많이 사용되는 인터프리터는 CPython이다.* CPython은 파이썬 소스 코드를 바이트코드로 컴파일한 후, 이 바이트 코드를 PVM(Python Virtural Machine)에서 실행 2) ..
1. 기존의 GPT의 한계1) 할루시네이션 - 잘못된 정보를 자신감 있게 제시2) 최신 정보 반영이 안됨 - 학습 데이터의 컷오프3) 도메인특화 - 고유 정보는 없음4) 지식의 불분명한 출처 2. RAG- 기존의 LLM 답변 생성하는 과정에 검색을 추가하여 답변에 참고할만한 정보를 제공 (문맥 제공) 1) Naive RAG: 검색-실행 [사전단계]- Indexing: PDF, Word, Markdown 등에서 텍스트 데이터를 추출- Chunking: 작은 단위로 분할- Embedding: vector로 인코딩- database: 임베딩된 vector를 저장 [실행단계]- Retrieve: database에서 질문에 답변하기 위한 정보 검색- Generation: 검색된 정보를 문맥(Context)에 추..
1. Reasoning(추론)- 일반 모델(GPT-4o) : 질문 → 답- 추론 모델(GPT-O1): 질문 → 생각 → 답 1) 특징- 통계적 패턴에 기반해, 논리적으로 일관성 있는 응답을 생성하는 능력- 정답보다는 과정을 생성하는 능력- 대표적인 추론: Chain-of-Thought- LLM은 암산이 어렵다- Transformer 디코더 구조: 확률적인 단방향- Dependency가 앞에만 존재(순차적으로 생성하면서 생각을 구성하는 구조) 2) 어떻게 문제를 풀까? OpenAI-o1의 출력은 6개의 패턴으로 분류된다.- 전체적인 구조 파악- 알려진 문제 해결법 적용- 하위 문제 분할- 자체 평가와 수정- 추가 문맥 활용- 제약 조건 강조=> 6개의 능력을 발휘하려면 출력이 길어야 한다. 모델에게 생각..
1. ICT- 정보통신기술, Information and Communication Technology- 컴퓨터, 휴대폰 등을 활용하여 사람과 사람, 기계와 기계를 연결해주는 기술2. DX- 디지털 전환, Digital Transformation (=DT)- 기존의 비즈니스 모델과 업무 프로세스를 디지털화하는 경영 전략- 디지털 인프라를 구축 3. AX- AI Transformation- AI 기술을 사용하여 조직의 문화와 제품을 변화시키며, 나아가 산업 구조를 AI 중심으로 재구성하는 경영전략- 디지털 인프라 위에 AI를 활용해 비즈니스 전반을 지능화- 내부적: 업무 프로세스 개선- 대외적: AI를 활용해 제품/서비스 혁신 ※ 참고자료 : https://inblog.ai/letsur/ax%EC%97%9..
1. RAG 파이프라인의 구성1) 데이터 로드(Load Data)- 외부 데이터 소스에서 정보를 수집하고, 필요한 형식으로 변환하여 시스템에 로드- 공개 데이터셋, 웹 크롤링을 통해 얻은 데이터, 또는 사전에 정리된 자료from langchain_community.document_loaders import WebBaseLoader# 크롤링 하고 싶은 urlurl = 'https://wikidocs.net/231393'loader = WebBaseLoader(url)docs = loader.load()print(len(docs)) # 1print(len(docs[0].page_content)) # 15735print(docs[0].page_content) 2) 텍스트 분할(Text Split)- 불러온 데..
1. 그리디 알고리즘 이란?현재 상황에서 지금 당장좋은 것만 고르는 방법단순히 가장 좋아 보이는 것만 반복적으로 선택해도 최적의 해를 구할 수있는지 검토예: 루트 노드부터 시작해 거쳐가는 노드의 값을 최대로 하고 싶은경우→ 단순히 매 상황에서 가장 큰 값만 고르는 방식일반적인 상황에서 최적의해를 보장할 수 없을 때가 많다- 500 100 50 10 → N가장 큰 화폐부터 돈을 거슬러준다⇒ 최적의 해를 보장하는 이유는?⇒ 큰 단위가 항상 작은 단위의 배수이므로, 작은 단위의 동전들을 종합해 다른 해가나올 수 없기 때문!500, 400, 100원인 경우 500원이 400원의 배수가 아니므로 다른 해법이 나올 수 이다.화폐의 종류가 K라고 할때, 소스코드의 시간 복잡도는 O(K)이 알고리즘의 시간 복잡도는 거..
정수형양의 정수, 음의 정수, 0a = 777print(a) # 777 2. 실수형소수점 아래의 데이터를 포함하는 수 자료형e나 E를 이용한 지수 표현 방식 사용 가능IEEE754 표준에서는 실수형을 저장하기위해 4바이트 혹은 8바이트의 메모리를 할당하므로, 컴퓨터 시스템은 실수 정보를 표현하는 정확도에 한계를 가진다10진수 → 0.3 + 0.6 = 0.92진수 → 0.9와 최대한 가깝게 표현하지만, 미세한 오차 발생round를 이용해 특정 자리까지 반올림을 하는 것으로 문제 해결나머지(%), 몫 (//), 거듭제곱(**)3. 복소수형복소수: 실수와 허수로 이루어진 숫자z = a +bj(a는 실수부, b는 허수부, j는 허수 단위, i^2=-1)complexz1 = 3 + 4j # 실수부 3, 허수부 ..
- Total
- Today
- Yesterday
- 운동
- 갓생
- 티스토리챌린지
- Ai
- 오픽
- 아침운동
- 습관
- 기초
- 스크랩
- Python
- 오블완
- 영어회화
- 고득점 Kit
- 경제
- 아침
- 줄넘기
- 프로그래머스
- SQL
- 루틴
- 빅데이터 분석기사
- 뉴스
- llm
- 30분
- C언어
- 다이어트
- IH
- 미라클모닝
- 실기
- opic
- ChatGPT
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |