개발일지 15

[LLM] ChatGPT vs. Gemini vs. Claude 비교하기 (논문, 전문지식)

논문 작성, 코드, 전문지식에 대한 질문에 ChatGPT와 claude.ai를 비교하면서 더 나은 것을 사용하고 있었다. 최근 구글의 Gemini가 Bard를 대체하면서 성능비교를 하고 있는데, 개인적으로 Gemini의 성능이 기대 이상이라 간단한 예제로 3개 언어모델을 비교해보고자 한다. - 2024년 2월 23일 기준 ChatGPT: https://chat.openai.com/ - OpenAI. GPT 3.5 무료 기준. 워낙 사용성이 다양하고 범용적으로는 가장 만족도가 높음. 단, 문체를 고정하거나 논문 작성시 추가적인 내용을 논리적으로 보충하거나 없는 내용을 작성하는 것은 다소 성능이 낮음. GPT-4의 경우 성능이 훨씬 좋다고 하지만, 유료 버전은 사용해보지 않음 Gemini: https://g..

개발일지 2024.02.23

[Ubuntu] 우분투 서버(ubuntu server) 글자 크기 CLI로 변경

우분투 20.04 환경 사용하는 모니터가 해상도가 높아서 글자크기가 너무 작게 보임 방법을 찾아보니, UI로 configure를 수정하는 방법을 알려주지만 최대 8X16이라 다른 방법을 찾아봄 https://ko.linux-console.net/?p=2441 Ubuntu Server에서 콘솔 글꼴을 변경하는 방법 Ubuntu Server에서 콘솔 글꼴을 변경하는 방법 기본적으로 Ubuntu 서버 소프트웨어는 그래픽 환경 없이 실행되도록 설계되었습니다. 따라서 Ubuntu 서버를 새로 설치하는 것은 콘솔(검은색 배경과 흰색 ko.linux-console.net 스택오버플로우 참고해서 찾은 방법 https://askubuntu.com/questions/173220/how-do-i-change-the-font..

개발일지 2024.02.05

[3d-force-graph] 3D 그래프 시각화 - 관광지 그래프 예제

3D Force Graph를 이용한 시각화 예제 3D Force Graph는 3D 공간에 노드와 링크를 표현하는 시각화 라이브러리이고, 원본 깃헙에 예제가 다양하게 존재함 CSV 파일을 읽어와서 3D Force Graph에 사용하는 JSON으로 변환하는 코드 포함 노드를 클릭하면 해당 관광지의 정보를 보여주는 infoBox 구현 사용 데이터: 전국관광지정보표준데이터 모든 코드는 Github 레포지토리에 공개되어있습니다 데이터 정제 import pandas as pd import numpy as np import json df = pd.read_csv('data.csv', encoding='cp949') # 공공데이터는 주로 cp949로 인코딩 되어있음 # null값 처리 df = df.replace({n..

개발일지 2023.12.14

[postgreSQL] 원격으로 shp 파일 넣기

넣으려는 데이터베이스에 접속하고 익스텐션 꼭 설치 1. CREATE EXTENSION postgis; shp2pgsql 사용해서 shp 파일 업로드 2. shp2pgsql -c -D -s 5179 -W cp949 {file_path} {table_name} | psql -U {user_name} -d {db_name} -c: 테이블 생성 -a: 이미 테이블이 있는 경우면 -c대신 -a사용 결과 geom 컬럼이 내가 보던 geometry 형식이랑 달라서 당황했는데, 관련 블로그 글을 보니 다른 표준 형식이라고 함 보통 polygon((0 0, 1 0, 1 1, 01, 0 0)) 이런 형태는 WKT라고 부름 애초에 shp2pgsql로 업로드 할때 WKT로 할 수 없나? "-w"를 넣으면 된다고 하는데 똑같이..

개발일지 2023.10.18

[postgreSQL] 모든 테이블의 행 수(row), 열 수(column) 조회하기

조회 전 통계 테이블의 업데이트를 위해 VACUUM 또는 ANALYZE 실행 VACUUM ANALYZE; ANALYZE VERBOSE; DB의 크기에 따라 시간이 소모됨. SELECT schemaname, relname, n_live_tup AS row_count, (SELECT count(*) FROM pg_attribute WHERE attrelid = pg_stat_user_tables.relid) AS column_count FROM pg_stat_user_tables ORDER BY n_live_tup DESC; n_live_tup는 행 수를 나타냄 attrelid는 테이블과 연결된 카탈로그 엔트리를 가리키는데, 이를 이용하여 해당 테이블의 열 수를 세어 출력함 참고) [Postgresql] 전..

개발일지 2023.09.20

[postgreSQL] 한글 TXT 또는 CSV 데이터 import하기

Ubuntu 20.04의 터미널 환경에서 직접 실행하는 경우 DB서버 내 경로를 인식할 수 있음 postgres@ubuntu:~$ export PGCLIENTENCODING='uhc' postgres@ubuntu:~$ psql test_db test_db=> set client_encoding='UHC'; #일회용 세션 # 우분투 서버 내의 파일경로 입력 test_db=> \copy test FROM '/home/data/test.txt' CSV DELIMITER '|'; # 헤더 없는 경우, 헤더 있을 시에는 `HEADER` 추가 >> COPY 193765 # 결과 set client_encoding 영구 설정 postgreSQL의 configration 수정해야함 우분투에서 apt로 설치한 경우, /..

개발일지 2023.09.15

[postgreSQL] 우분투(Ubuntu 20.04)에서 dbf파일 import 하기

서버환경 우분투 20.04 postgreSQL 12 postgreSQL 설치 (원격) sudo apt-get update sudo apt-get install postgresql 관련 설정 경로) /etc/postgresql/12/main shp 파일을 다루려면 postGIS과 shp2pgsql을 사용함 참고) - 한글이 들어간 데이터를 업로드할 예정이라 우분투의 locale을 ko_KR.UTF-8로 변경함 DB 생성 postgres(superuser)로 접속 sudo -u postgres psql DB 생성 시 인코딩 설정함 CREATE DATABASE address WITH ENCODING 'UTF-8' LC_COLLATE='ko_KR.UTF-8' LC_CTYPE='ko_KR.UTF-8' TEMPLA..

개발일지 2023.09.14

[postgreSQL] 원격 서버(Ubuntu)와 pgAdmin4 연결하고 접속하기

원격 서버에 postgreSQL이 설치만 되어있는 상황 서버환경 우분투 20.04 postgreSQL 12 로컬환경 window 10 postgreSQL 설치 (원격) sudo apt-get update sudo apt-get install postgresql 관련 설정 경로) /etc/postgresql/12/main 방화벽 & 외부접근 허용 설정 우분투) sudo ufw allow 5432 # 방화벽 열기 sudo systemctl enable postgresql #재시작 postgreSQL) - postgresql.conf # vim으로 편집할 경우 vim /etc/postgresql/12/main/postgresql.conf listen_addresses = '*' # 모든 접근 허용 - pg_h..

개발일지 2023.09.14

[Elasticsearch] 검색 쿼리 단어 중 특정 단어에 가중치 - multi_match, match, should

1. 사람들이 검색을 할 때 "바나나와 사과의 차이점" 이라고 검색을 하면, 키워드 추출로 "바나나", "사과"를 탐색하도록 하는 코드가 이전에 적었던 키워드 추출 관련 게시물이다 2. 키워드를 가지고 검색을 할 때, elasticsearch를 사용하고 쿼리문을 아래와 같이 작성하였다. 3. 보통 가장 먼저 나오는 단어에 가까운 검색결과를 원한다고 생각하기 때문에 첫 단어에 가중치를 더 주고 싶었다. chatGPT와 elastic 공식 문서를 참고하여 작성하였다. from elasticsearch_dsl import Search, Q, MultiMatch, Match search_query = ["바나나 사과 딸기"] s = Search(using=es, index="인덱스명") \ .query( Q('..

개발일지 2023.05.01