개발 (102) 썸네일형 리스트형 RAG 도전 - 서버 구축 ### 서버생성 1. GCP 구글 계정 생성 => 300 $ 무료 바우처 사용 2. GCP 인스턴스 생성=> 서버스펙 hw : n1-standard-8 (vCPU 8개, 메모리 30GB)os : c0-deeplearning-common-cpu-v20250325-debian-11cpu : Intel Skylake 3. ssh 키생성=> ssh 키 설정을위하여 구글에서 제공해주는 웹 쉘로 서버 접근# 키생성ssh-keygen -t rsa -b 4096 -C "user@example.comcd ~/.sshls -al/home/user/.ssh/id_rsa/home/user/.ssh/id_rsa.pub=> 웹 쉘에서 다운로드활용하여 두개 파일 다운로드 4. ssh 키 등록=> gcp 메타데이터에 id_r.. 요구사항 프로젝트 목표 : 다수의 증권사의 기업별 pdf 리포트를 크롤링하여 RAG에 저장이를 기반으로 해당 기업의 주요 전략, 현재 상황등 전문가 의견 제시 챗봇 요구사항 : 클라우드기반 서비스 ( PC 가 없음, gpu 제공 안되는 환경 )3개의 증권사 리포트 자동 크롤링 ( daily ) 카카오톡을 통한 쉬운 요청LLM, RAG, LangChain, MCP 활용비용 최소화 오픈소스 활용성능 보다는 가능성 ! 가볍게 RAG 스케치만 해놓고 시작 python pyQt5활용하여 fastapi 로그 찍기 소개 안녕하세요 오늘은 fastAPI 로그를 pyQt5 ui를 사용하여 표시하는 작업을 진행할 예정입니다. 기존에는 pyinstaller를 사용하여 command.exe 와 log파일에 로그기록을 남겨서 사용하고있었습니다. cmd 에 로그를 남기는 이유는 실시간으로 로그를 확인하고 , 프로그램 종료또한 cmd 가 종료되면 종료할수 있게 하기 위해서 였지만 여러가지 문제로 cmd 를 숨긴 상태로 배포하기로 하여 진행 하게 되었습니다. 구현 하면서 가장 힘들었던점은 pyQt5 gui 에 log를 표시할때 충돌이 발생하여 프로그램이 죽는 점이였습니다. 위 문제를 pyQt 커스텀 시그널을 사용하여 해결하였습니다. 간단하게 리뷰 진행할게요 코드 app.py : 최초 실행을 담당하는 main 역활 webServer.. python 에서 .exe 배포- 3 ( s3 ) 안녕하세요 ! pyupdater 배포 관련 하여 세번째 글남깁니다 이전까지는 SCP 를 사용하여 특정 웹서버에 upload 하는 방법을 사용해봤엇는데 이번에 cloud를 aws로 옮기면서 S3 를 사용하기로하여 진행해보게되었습니다. 기본 셋팅은 이전과 같습니다. 아래 방법까지 됫다는 가정하에 scp 를 s3로 변경해볼게요 https://programmerk.tistory.com/67 python 에서 .exe 배포- 2 ( pyinstaller ,pyupdater,scp ) 이글에 이어서 작성합니다. 아래글은 약 6개월전을 회상하면서 작성한글입니다. 이글은 현재 시점의 글입니다. https://programmerk.tistory.com/66 잘쓰던 프로그램이 결국 문제가생겻다. 서버 버전과 현 progr.. vue - electron - github releases - ( 3 ) https://programmerk.tistory.com/56 vue - electron - github release - ( 2 ) 지난 시간에 github release 배포하는부분 까지 진행했습니다 https://programmerk.tistory.com/55 vue - electron - github release - ( 1 ) electron 의 경우 build 시 page를 가져올때 외부 url 에서 가져오는.. programmerk.tistory.com 일전에 작성햇던 위 글에서 조금 추가할 계획입니다. 기존에는 아래 로직처럼 electron 이 실행후 상태가 ready 상태가 되면 autoUpdate.checkForUpdates() 가 실행되도록 개발되었습니다. app.on('ready',.. aws cloudwatch log 사용하기 최근 클라우드 서버를 aws로 변경하면서 이것저것 작업을 하고잇다. 지난번에는 가비아에 등록된 도메인을 aws 로 이전하는 작업을 하였고 또 이전한 도메인에 ssl 인증을 하여 front-end/back-end 에 추가하였다 ( 원래 front-end에만 진행하려고하였지만 frontend에 ssl을 설정할 경우 backend에도 반드시 해줘야함 ) 이번에는 filebeat + logstash + elasticsearch + kibana 를 사용하던 구조를 aws cloudwatch로 통합하는 과정을 진행해보려고한다. 기본 설정은 docker container를 4개 사용중입니다 4개의 container는 volume 설정으로 /var/lib/docker/volumes/_data 밑에 저장됩니다. * 추가.. docker 커스텀 이미지 생성시 arg 활용 도커에서 이미지를 만들때 크게 두가지 방식을 사용한다. 1. docker build 명령어를 사용 2. docker-compose 사용 1번의 경우 각각의 도커 이미지를 만들때 주로 사용되고 2번의 경우 한개의 호스트에서 여러 이미지/컨테이너를 관리할때 사용되는 방법이다. 이미지를 만드는 방법은 다루지않고 arg사용하느부분만 자꾸 잊어버려 기록해 놓을 예정이다. 이미지를 만들떄 Dockerfile 을 통해 이미지를 만드는데 이때 변수를 사용할 경우가 종종 생긴다. (예를들면 서버 주소나 , 아이디 ,포트번호 등등 운영서버와 테스트서버 구분 하는 여러가지 경우) 이런경우 Dockerfile 에 ARG ENV 라고 선언하고 사용하면된다. 1번을 통해서 빌드할 때에는 docker build -t [image_.. docker 로그 보는방법 도커의 이미지를 컨테이너로 생성할떄 사용하는 docker run 명령어의 기본 동작 방식을 foreground 방식이다. 그렇게 때문에 docker run 으로 실행하면 해당 콘솔은 컨테이너가 종료될 때 까지 다른 행동을 할 수없다. 이런경우 해당 컨테이너의 로그가 출력되는 것을 볼 수 있다. 반면 background 방식으로 실행 시키려면 옵션에 -d 를 주어야한다. -d 옵션은 detached 를 의미하며 background 방식으로 동작하여 , 해당 콘솔이 run 이후 다른 동작을 할수있게 해준다. 만약 이미 실행한 컨테이너의 로그를 보는 방법은 아래와 같다. 1. docker attach [container_id] : 이후에 발생하는 로그를 실시간으로 확인할수 있다. 단 ) 해당 컨테이너가 res.. 이전 1 2 3 4 5 6 7 8 ··· 13 다음