전체 글 146

LCEL로 간단한 LLM Application 구축하기

https://python.langchain.com/docs/tutorials/llm_chain/  RAG로 졸업프로젝트를 진행했었는데, 깊이 없이 부랴부랴 개발했던 것 같아서 제대로 다시 공식문서부터 읽어보면서 공부하려고 한다.LangChain외에도 LlamaIndex, Spring AI가 있는데 일단 대중적이고 한번 써본 LangChain부터 실습했다.모든 실습은 VSCode, Jupyter Notebook을 통해 이뤄진다.만들 app : 영어에서 다른 언어로 텍스트를 번역하는 애플리케이션언어 모델 사용PromptTemplates 및 OutputParsers 사용LangChain Expression Language(LCEL)를 사용하여 컴포넌트 연결하기LangSmith를 사용한 애플리케이션 디버깅 및..

인공지능 2024.11.12

SpringBatch(2) : 코드 설명 및 아키텍처 알아보기

스프링 배치 3.0 이상 버전을 이용하므로 @EnableBatchProcessing이 필요하지 않다기본 배치 어플리케이션지난번에 만든 스프링배치 프로젝트 활용lombok 설정과정Tasklet 구현체 생성@Configuration 을 통해서 생성할 Batch Bean을 스프링에 등록한다.Job, Step을 생성하고 빈에 등록실행 결과 확인Tasklet 구현체 생성Tasklet → Step 내에서 구성되고 실행되는 도메인 객체, 단일 task를 수행하기 위해 사용된다.import lombok.extern.slf4j.Slf4j;import org.springframework.batch.core.StepContribution;import org.springframework.batch.core.scope.cont..

Spring/Spring Batch 2024.10.30

PAM 알아보기

PAM(Pluggable Authentication Modules)리눅스 시스템에서 사용자의 인증을 담당하는 모듈사용자의 서비스 접근 통합 관리네가지 모듈(auth, account, password, session)로 구성됨각 모듈을 활용해 root 접속 제한, 비밀번호 강도 설정, 비밀번호 만료 일자 등을 설정함 → 사용자 계정 보안 강화모듈 설명authentication비밀번호, 공개키를 이용하여 사용자의 신원을 확인하는 모듈account계정 만료, 시간, 특정 서비스 접근 권한 등 인증 조건을 검사하는 모듈password비밀번호 갱신, 복잡도 등을 설정하는 모듈session사용자 세션의 시작부터 끝까지 가능한 작업을 정의하는 모듈PAM을 통한 접근 제어로그인 시도PAM이 /etc/pam.d 에 있는..

시스템 해킹 2024.10.22

생선 분류하기

Fish-market dataset생선 중 도미 분류하기30cm 이상 크다면 도미라고 판단하는 프로그램 작성, 30cm 이하 도미가 있다면 잘못 판단머신러닝을 이용하면 가지고 있는 도미의 정보를 이용해서 도미를 판단. 다른 종류의 생선들과 섞여 있어도 판단 가능함.도미 데이터 준비하기도미(bream)와 빙어(smelt) 구분하기 - 길이, 무게 feature 선정class : 머신러닝 데이터셋의 종류classification : 머신러닝에서 분류binary classification : 이진 분류## 도미 30, 빙어 14bream_length = [25.4, 26.3, 26.5, 29.0, 29.0, 29.7, 29.7, 30.0, 30.0, 30.7, 31.0, 31.0, ..

인공지능 2024.10.16

1강. 개인정보 영향평가 개요

1. 개인정보 영향평가란? 소관기관 : 개인정보보호위원회 법률 : 개인정보보호법관련 조항 : 개인정보영향평가(제33조) Privacy by Design사후 조치가 아닌 사전예방 개인정보 보호의 기본 설정 : IT 시스템과 업무 관행에서 이용자가 아무런 일을 하지 않아도 자동으로 개인정보가 보호되도록 기본 설정개인정보 보호의 내재화 : 시스템 설계에 내재화 -> 핵심 기능의 필수 요소 (not add-on)개인정보 보호와 서비스 목표 둘 다 추구개인정보 라이프사이클 전체 보호가시성 및 투명성 유지이용자 개인정보 보호 존중 - 이용자 중심주의지정 요건최근 5년간 영향평가 업무, 유사 업무, 정보보호컨설팅 업무, 주요 정보통신기반시설 취약점 분석 평가 또는 보호대책 수립 업무 수행의 대가로 받은 금액의 합계액..

개인정보보호 2024.10.16

PPAP 개발기 (3)

제목을 3으로 할지 번외로 할 지 매우 고민했다. 아무래도 개발 내용이니까 .. 3으로 ACK 2024지난 9월 12일 한국정보처리학회에 논문을 투고했다. 병원에서 마지막까지 초안 수정하고 투고하느라 개고생했는데 팀원들이 마무리를 잘 도와줬다. 우리 학교는 논문이나 sw등록, 특허 이 3가지 중 하나가 있어야 졸업 요건중 일부를 충족할 수 있다. 사실 작년에 이브와 프로젝트하면서 4저자로 논문을 내긴했는데 이때 논문은 ai 파트 팀원들이 다 쓴거라 플러터 화면 개발만 했던 나는 내용을 모른다. 그러나 이번엔 RAG 모델 도입과 전반적인 프로그램 설계를 내가 다 했기 때문에 논문도 일단 내가 다 썼다. 캐리했음 이번엔 논문 낼거면 제대로 1저자로 내보고 싶었던 마음이 컸던 것 같다. 사실 기술만 나름 최신..

카테고리 없음 2024.10.10

HTTP 완벽 가이드 스터디 (6)

https://drive.google.com/file/d/1NuuJ8Y75yRWTbgVeXqWZ3rCvdz83TsG1/view 6장.drawio drive.google.com웹 프락시 서버 = 중개자클라이언트에겐 서버 역할, 서버에겐 클라이언트처럼 동작함. 개인 프락시와 공유 프락시개인 전용 프락시흔하진 않지만 꾸준히 사용되고 있음.브라우저 기능 확장, 성능 개선무료 isp 서비스를 위한 광고 운영용 작은 프락시를 사용자의 컴퓨터에서 직접 실행함.공유 프락시대부분 공용이며 공유된 프락시중앙 집중형 프락시 관리가 더 비용 효율이 높고, 쉬움.캐시 프락시 서버 → 이용자가 많을수록 유리함. ⇒ 공통된 요청에서 이득을 취하기 때문.프락시 대 게이트웨이프락시 : 같은 프로토콜 사용게이트웨이 : 서로 다른 프로토..

HTTP 2024.10.08

Spring Batch (1) : 스프링 배치 빠르게 시작하기

지난번 Devocean OpenLab Kotlin SpringBoot 스터디에 이어서 이번엔 Spring Batch 스터디를 시작하게 되었다. 이번엔 멘토님이신 KIDO 님의 DEVOCEAN 연재글을 보면서 직접 실습, 글 정리하고 매주 화요일마다 랜덤으로 발표한다.[SpringBatch 연재 01] SpringBatch 빠르게 시작하기 [SpringBatch 연재 01] SpringBatch 빠르게 시작하기 devocean.sk.com깃허브 : https://github.com/kchabin/spring-batch/tree/main GitHub - kchabin/spring-batch: Devocean 스프링 배치 스터디Devocean 스프링 배치 스터디. Contribute to kchabin/spr..

Spring/Spring Batch 2024.10.08

Mac M2 UTM에 Kali Linux 설치하기

시스템 보안 수업 들으면서 학교 데스크탑 쓰기 불편해서 UTM에 칼리를 설치해보기로 했다.https://www.kali.org/docs/virtualization/install-utm-guest-vm/ Kali inside UTM (Guest VM) | Kali Linux DocumentationTo install and set up a UTM VM it is pretty straightforward. We first download UTM and then launch the app. After this we can click create VM and start the short process: We will select Virtualize, as we will be using a Kali Apple M..

시스템 해킹 2024.10.08