본문 바로가기
반응형

전체 글205

ChatGPT-4 무엇이 다를까? 사용법은? ChatGPT - 4 ! 무엇이 다를까? ChatGPT 3.5가 나온 이후로 근 6개월만에 ChatGPT-4가 나왔습니다. 그렇다면 새로나온 버전에서는 무엇이 얼마나 다를까요? OpenAI의 홈페이지를 보면 GPT-3.5와 GPT-4의 차이는 복잡한 작업일수록 차이가 나타날 것이라고 말했습니다. 두 모델의 차이점을 확인하기 위해 다양한 모의 시험 테스트를 치렀습니다. (해당 시험에 관한 특별한 훈련은 따로하지 않았다고 합니다.) 비교를 위해 미국 모의 변호사 시험, SAT 수학 시험 등의 여러 시험을 치뤘고 모의 변호사 시험에서는 GPT-4는 상위 10%의 성적을 받았다고 합니다. 반면에 GPT-3.5는 하위 10%의 성적을 받았었죠. 또한 GPT-4는 SAT 수학시험에서도 상위 10%의 성적을 받았습니.. 2023. 3. 20.
[AWS] RDS에서 Lambda 함수 호출 방법 * MySQL 8.0 호환 클러스터용 Aurora Mysql 3.01 버전 사용. 1. Aurora에 Lambda 엑세스 권한 부여 a. Lambda 리소스 엑세스를 위한 IAM 정책 새로 생성 또는 AWS 관리형 정책 아래 처럼 IAM정책을 직접 만들거나 기본 AWS 관리형 정책 (AWSLambdaRole)을 사용하여 엑세스를 부여할 수 있다. { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAuroraToExampleFunction", "Effect": "Allow", "Action": "lambda:InvokeFunction", "Resource": "arn:aws:lambda:::function:" } ] } b. IAM 역할 생성 및 정책 적.. 2022. 7. 4.
[AWS RDS] Proxy Endpoint 설정 AWS 콘솔의 RDS로 가면 위와 같이 메뉴가 보인다. 프록시 엔드포인트 설정을 하려면 우선 데이터베이스에 가서 rds인스턴스를 하나 만들어야한다. 그 다음 프록시 탭으로가서 프록시 생성을 해주면 되는데 연결할 데이터베이스에 만든 인스턴스를 넣고 Secret Manager를 생성하여 연결하면 된다. Secret Manager는 프록시 엔드포인트를 사용하여 rds에 연결할 때 사용하게 되는 유저네임과 비밀번호이다. 프록시 리더 엔드포인트를 추가하려면 체크하여 추가하면 된다. 보안그룹은 rds 인스턴스 보안그룹과 동일하게 한다. 이렇게 생성하여 나오는 엔드포인트 주소로 rds 연결을 하면 되는데 하나 더 해야될 것은 rds와 프록시가 동일한 보안그룹일 경우 vpc보안그룹에 들어가서 인바운드 규칙을 추가해야되.. 2022. 6. 9.
HTTP/3 란? HTTP/3는 HTTP와 HTTP/2와 더불어 월드 와이드 웹상의 정보를 교환하기 위해 사용되는 HTTP의 차기 주요 버전이자 3번째 프로토콜이다. HTTP 시멘틱스는 이 버전들 모두 동일하다. 요청 메소드, 상태 코드, 메시지 필드가 일반적으로 모든 버전에 적용된다. 시멘틱스 매핑 내에서의 차이점은 기반이되는 트랜스포트이다. HTTP와 HTTP/2는 TCP를 자신들의 트랜스포트로 사용하지만 HTTP/3는 사용자 공간 혼잡 제어를 사용자 데이터그램 프로토콜(UDP)를 경유하여 사용되는, 구글이 개발한 전송 계층 통신 프로토콜의 하나인 QUIC를 사용한다. QUIC로의 전환은 헤드 오브 라인 블로킹(HOLB)이라는 HTTP/2의 주된 문제를 해결하는 것이 목적이다. 헤드 오브 라인 블로킹(HOLB)란 TC.. 2022. 3. 21.
[API] Ingest APIs 인덱싱을 하다보면 필요에 따라 데이터를 가공해야될 때가 있다. 인덱스 별로 가공해야 될 필드가 다르고 필드명 또한 다른 경우 매번 인덱스에 해당하는 프로세스를 만들고, 배포하는 과정은 불편하기 마련이다. 이런 경우 Pipeline을 설정하여 데이터를 가공할 수 있다. 우선적으로 Pipeline을 설정하기 위해서는 Ingest Node가 활성화 되어있어야 한다. // pipeline 설정 기본 구성 예시 PUT _ingest/pipeline/{id} { "description" : "A description for your pipeline", "processors" : [ { "set" : { "field": "field-name", "value": "value" } } ] } 위에 processors는 .. 2022. 3. 18.
[API] Index APIs 1. Index Exist Path and HTTP methods HEAD / ** https://opensearch.org/docs/latest/opensearch/rest-api/index-apis/exists/ 2. Delete Index Path and HTTP methods DELETE / ** https://opensearch.org/docs/latest/opensearch/rest-api/index-apis/delete-index/ 3. Get Index Path and HTTP methods GET / ** https://opensearch.org/docs/latest/opensearch/rest-api/index-apis/get-index/ 4. Close Index Path and HT.. 2022. 3. 18.
[15] 스냅샷 생성 및 복원 스냅샷은 클러스터 인덱스 및 상태의 백업을 의미한다. 상태에는 클러스터 설정, 노드 정보, 인덱스 메타데이터 ( 매핑, 설정, 템플릿 등 ) 및 샤드 할당이 포함된다. 스냅샷은 크게 두 가지 용도로 사용된다. 복구 시 - 예를 들어 클러스터 상태가 빨간색이 되면 스냅샷으로 복원할 수 있다. 한 클러스터에서 다른 클러스터로 마이그레이션 - A에서 B인 프로덕션 클러스터로 이동하는 경우 전자의 스냅샷을 만들어 후자에 적용할 수 있다. 스냅샷은 즉각적이지 않고 완료하는데 시간이 걸리며 클러스터의 완벽한 시점을 나타내지 않는다. 스냅샷이 진행되는 동안 여전히 문서를 인덱싱하고 클러스터에 다른 요청을 할 순 있지만 일반적으로 새 문서와 기존 문서에 대한 업데이트는 스냅샷에 포함되지 않는다. 스냅샷에는 OpenSe.. 2022. 3. 18.
[14] 샤드 인덱싱 backpressure (인덱싱 작업 부하에 대한 조정) 클러스터에 부담이 있을 때 인덱싱 요청을 동적으로 거부하는 샤드 당 스마트 거부 메커니즘입니다. 부하가 높은 노드나 샤드에서 요청을 다른 노드나 아직 정상 상태인 샤드로 전송하는 작업을 합니다. 느린 노드, 중단된 작업, 리소스 집약적인 요청, 트래픽 급증, 왜곡된 샤드 할당 등으로 인한 성능 저하로 인해 클러스터의 노드가 계단식 오류로 실행되는 것을 방지할 수 있습니다. 이 방법은 하나의 기본 매개변수와 하나의 보조 매개변수가 위반된 경우에만 적용됩니다. :: 기본 매개변수 기본 매개변수는 클러스터가 긴장 상태에 있다는 초기 지표입니다. 샤드 메모리 제한 위반 : 샤드의 메모리 사용량이 할당된 메모리의 95%를 초과하면 위반. 노드 메모리 제한 위반 : 노드의 메모리 사용량이 할당된 메모리의 70%를 .. 2022. 3. 18.
[13] OpenSearch Logs OpenSearch 로그에는 클러스터 작업을 모니터링하고 문제를 해결하는데 유용한 정보가 포함되어 있습니다. 로그 위치는 설치 유형에 따라 다릅니다. Docker에서 OpenSearch는 대부분의 로그를 콘솔에 쓰고 opensearch/logs/ 안에 저장합니다. tarball 설치 또한 같은 폴더를 사용합니다. 대부분의 리눅스 설치에서는 /var/log/opensearch/에 로그를 저장하게 됩니다. 보다 자세한 내용은 : https://opensearch.org/docs/latest/opensearch/logs/ 참고. 어플리케이션 로그 슬로우 로그 (slow log) 지원하지 않는 로그 2022. 3. 18.
[12] 검색 템플릿 Full-text 검색들을 검색 템플릿으로 만들어 사용자의 입력을 받아 쿼리에 동적으로 적용하도록 할 수 있습니다. 예를 들어, 웹 사이트나 어플리케이션의 검색 엔진으로 백엔드 OpenSearch를 사용한다면, 사용자가 직접 입력하게 검색어를 입력하게 하여 검색 템플릿의 파라미터로 보낼 수 있습니다. 사용자의 입력값을 OpenSearch의 쿼리 코드로 변환해야하는 작업을 할 때 검색 템플릿을 사용하여 코드를 단순화할 수 있습니다. 검색 쿼리에 필드를 추가해야 하는 경우, 코드를 변경하지 않고 템플릿을 수정하기만 하면 됩니다. 아래 기능 예시 : https://opensearch.org/docs/latest/opensearch/search-template/ 검색 템플릿 만들기 검색 템플릿 저장 및 실행 검.. 2022. 3. 18.
[11] 쿼리 DSL (Domain-Specific Language) HTTP 요청 파라미터를 사용하여 간단한 검색을 수행할 수 있지만 더 넓은 범위의 검색 옵션을 제공하는 쿼리 DSL을 사용할 수 있습니다. 쿼리 DSL은 HTTP 요청의 request body를 사용하므로 쿼리를 보다 쉽게 사용자 지정하여 원하는 결과를 얻을 수 있습니다. 참조: https://opensearch.org/docs/latest/opensearch/query-dsl/index/ OpenSearch는 데이터를 검색할 때 term-level 쿼리와 full-text 쿼리, boolean 쿼리라는 세 가지 유형의 쿼리를 지원합니다. term-level 쿼리 : 쿼리와 일치하는 문서를 반환합니다. ( https://opensearch.org/docs/latest/opensearch/query-dsl.. 2022. 3. 18.
[10] 데이터 재인덱싱 인덱스를 만든 후 모든 문서에 새 필드를 추가하거나 여러 인덱스를 결합하여 새 필드를 구성하는 등 광범위한 변경 작업을 수행해야 할 수 있습니다. 인덱스를 삭제하고 오프라인으로 변경한 다음 데이터를 다시 인덱싱하는 대신에 reindex 작업을 사용할 수 있습니다. 이 reindex작업 쿼리를 통해 선택한 문서 전체 또는 하위 집합을 다른 인덱스에 복사할 수 있습니다. 가장 기본적인 형식은 source index와 target index를 지정합니다. 재인덱싱은 source index의 크기에 따라 비용이 많이 드는 작업일 수 있습니다. number_of_replicas를 0으로 설정하여 복제본을 비활성화하고 재인덱싱 프로세스가 완료되면 복제본을 다시 활성화하는 것이 좋습니다. 데이터 재인덱싱 기능 목차 .. 2022. 3. 18.
[9] 집계 - 버킷 집계 버킷 집계 버킷 집계는 문서 세트를 버킷으로 분류합니다. 버킷 집계 유형은 주어진 문서가 버킷에 속하는지 여부를 결정합니다. :: terms terms 집계는 각 고유한 terms필드에 대한 버킷을 동적으로 생성합니다. // 아래 예시는 웹 로그 데이터의 응답 코드 별 문서의 수를 찾아서 집계합니다. GET opensearch_dashboards_sample_data_logs/_search { "size": 0, "aggs": { "response_codes": { "terms": { "field": "response.keyword", "size": 10 } } } } // 응답 예시 ... "aggregations" : { "response_codes" : { "doc_count_error_upper_.. 2022. 3. 13.
[8] 집계 - 메트릭 집계 메트릭 집계를 사용하면 필드의 최소값 최대값 및 평균값 찾기와 같은 간단한 계산을 수행할 수 있습니다. 메트릭 집계에는 단일 값 메트릭 집계와 다중 값 메트릭 집계의 두 가지 유형이 있습니다. 단일 값 메트릭 집계 단일 값 메트릭 집계는 단일 메트릭을 반환합니다. 예를 들어, sum, min, max, avg, cardinality, value_count가 있습니다. 다중 값 메트릭 집계 둘 이상의 메트릭을 반환합니다. 예: stats, extended_stats, matrix_stats, percentile, percentile_ranks, geo_bound. top_hits, scripted_metric :: sum, min, max, avg // taxful_total_price 필드의 총 합계를 .. 2022. 3. 10.
[7] 인덱스 템플릿 인덱스 템플릿을 사용하면 이미 정의된 mappings와 settings 그대로 새 인덱스를 초기화할 수 있다. 예를 들어, 지속적으로 인덱싱하는 log data라면, 이런 모든 index가 동일한 수의 샤드와 복제본을 갖도록 인덱스 템플릿을 정의할 수 있다. // Index Template 생성 예시 PUT _index_template/daily_logs // daily_logs라는 이름을 가진 템플릿 생성 { "index_patterns": [ "logs-2022-01-*" ], "template": { "aliases": { "my_logs": {} }, "settings": { "number_of_shards": 2, "number_of_replicas": 1 }, "mappings": { "pro.. 2022. 3. 2.
반응형