[Spring AI] 챗봇 만들기 (Kotlin)
·
Spring
스프링 AI 시리즈[Spring AI] 준비 (기본 개념, OpenAI API Key, 크레딧 충전) [Spring AI] 챗봇 만들기 (Kotlin)[Spring AI] Vector Store와 RAG를 이용한 할루시네이션 방지[Spring AI] OpenAI 비용을 절감하는 방법이제 본격적으로 OpenAI과 Spring AI를 활용한 챗봇을 만들어보자. 전체 파일 구조build.gradle.ktsplugins { kotlin("jvm") version "1.9.25" kotlin("plugin.spring") version "1.9.25" id("org.springframework.boot") version "3.3.3" id("io.spring.dependency-managem..
[Spring AI] 준비 (기본 개념, OpenAI API Key, 크레딧 충전)
·
Spring
스프링 AI 시리즈[Spring AI] 준비 (기본 개념, OpenAI API Key, 크레딧 충전)[Spring AI] 챗봇 만들기 (Kotlin)[Spring AI] Vector Store와 RAG를 이용한 할루시네이션 방지 [Spring AI] OpenAI 비용을 절감하는 방법 스프링 AI란?Spring AI는 인공지능(AI) 기능을 Spring 애플리케이션에 통합하기 위한 라이브러리이다. 기존에는 거의 파이썬으로만 AI를 활용했지만, 이제 Spring AI를 통해 Java에서도 AI를 활용할 수 있다. 기본 개념 (더보기를 눌러주세요)더보기모델AI 모델은 텍스트, 이미지, 오디오 등 다양한 입력을 처리하여 결과를 생성하는 알고리즘이다. Spring AI는 언어, 이미지, 오디오 입력과 출력을 지원..
OAuth2.0이란?
·
Knowledge/Security
OAuth 2.0이란 무엇인가?OAuth 2.0은 인터넷 애플리케이션이 사용자의 자원에 안전하게 접근할 수 있도록 돕는 인증 및 권한 부여 프레임워크다. 이 프레임워크는 사용자의 민감한 인증 정보를 직접 공유하지 않고, 대신 액세스 토큰을 통해 애플리케이션이 자원에 접근할 수 있게 한다. 이 방식은 특히 클라우드 서비스나 API 통합에서 자주 사용된다. 주요 개념예:1. 사용자가 구글 드라이브 API를 사용하는 A라는 서비스에 OAuth2를 통해 가입했다. 2. 사용자는 OAuth2 인증을 거쳐 로그인한 후, 권한 요청 팝업이 표시되었고, 사용자는 구글 드라이브의 자원 접근을 허가했다.  3. 그 결과, A 서비스는 구글 드라이브에서 사용자의 사진을 다운로드할 수 있었다.1. Resource Owner ..
해싱(Hashing)과 일반 해시 함수(non-cryptographic hash function)
·
Knowledge/Data Structure
해싱해싱(Hashing)은 가변 길이의 입력 데이터를 받아서 고정 길이의 출력 값으로 변환하는 과정을 의미한다. 이때 생성된 고정된 크기의 값은 해시 값 또는 다이제스트(digest)라고 불리며, 원본 데이터와는 크기나 형식이 다르다. 해싱은 데이터의 무결성 검증, 빠른 데이터 검색, 비밀번호 저장 등 다양한 목적으로 사용된다. 특징단방향성: 해싱은 단방향 함수이다. 즉, 원본 데이터를 해시 값으로 변환할 수는 있지만, 반대로 해시 값에서 원본 데이터를 복원하는 것은 불가능하다. 이 때문에 해싱은 암호화와는 다르며, 주로 데이터의 무결성을 확인하는 데 사용된다.고유성(충돌 저항성): 서로 다른 입력값이 동일한 해시 값을 생성할 확률은 매우 낮다. 이를 충돌 저항성이라고 하며, 이 특성 덕분에 해싱은 데이..
[K8S] labels, selector, matchLabels에 대하여
·
Infra/Kubernetes
개인적으로 공부한 내용을 작성한 게시글입니다. 잘못된 내용이 있을 수 있습니다. 틀린 부분을 알려주시면 바로 고치겠습니다.감사합니다.쿠버네티스 리소스의 Manifest 파일들을 작성하다보면 많은 labels, matchLabels, selectors 필드들을 볼 수 있다. 이번 포스팅을 통해 이들을 정리해보려고 한다. Selector Deployment우선 Deployment의 Manifest 파일을 살펴보자apiVersion: apps/v1kind: Deploymentmetadata: name: hello labels: app: hellospec: selector: matchLabels: app: hello track: stable matchExpressions:..
[K8S] 쿠버네티스를 이용하여 Elasticsearch, Kibana, Logstash 배포 (with helm)
·
Infra/Kubernetes
개인적으로 공부한 내용을 작성한 게시글입니다. 잘못된 내용이 있을 수 있습니다. 틀린 부분을 알려주시면 바로 고치겠습니다. 감사합니다. 이제 K8S 이용하여 Elasticsearch를 배포해 보자. Helm이라는 패키징 툴을 이용해서 배포할 것이다.Helm 이란쿠버네티스를 통해 애플리케이션을 배포하기 위해서는 많은 리소스들이 필요하다. 대표적으로 Pod, Deployment, Statefulset, DaemonSet, Service, ConfigMap, Secret, PersistentVolume, PersistentVolumeClaim, Ingress 등등위의 리소스들의 템플릿은 비슷한데, 배포하기 위해서는 애플리케이션마다 모두 yaml파일을 만들어야 하고, 관리를 해줘야 한다.그에 반해 helm을 이..