분류 전체보기 17

[LLM] Function Calling과 Agent의 차이

1. Function Calling (함수 호출) : ‘무엇을 할지 알려주는 능력’Function Calling은 LLM 모델 자체의 내장 기능이다.LLM이 사용자의 요청을 이해하고, 해당 작업을 수행하기 위해 어떤 함수(도구)를 어떤 인자(argument)로 호출해야 하는지 구조화된 데이터(주로 JSON)로 요청하는 능력이다.핵심 특징:모델의 능력Langchain 같은 프레임워크 등의 기능이 아닌, Gemini나 GPT-4, Cluade 처럼 LLM 모델 자체가 가진 고유 능력이다.실행은 안함LLM은 직접 함수를 실행하지 않는다. 어떤 함수를 어떤 값으로 실행해야 할지 전달해줄 뿐이고, 실제 실행은 어플리케이션이 담당한다.단일 작업일반적으로 한 번의 요청에 대한 한 번의 함수 호출을 제안한다.출력물최종..

AI/LLM 2025.06.26

[CS 기초] 객체 지향 프로그래밍(OOP)의 4가지 속성

객체 지향 프로그래밍(Object-Oriented Programming):컴퓨터 프로그램을 여러 '객체(Object)'들의 모임으로 보고, 이 객체들이 서로 상호작용하도록 만드는 프로그래밍 패러다임(설계 사상) → 기능별로 각 컴포넌트(부품)을 만들고, 해당 컴포넌트들을 조립하는 프로그래밍 방식. [ 캡슐화, 상속, 다형성, 추상화 ] 이 네 가지 속성을 가지고 있음.캡슐화:관련된 데이터와 기능을 하나로 묶고, 외부의 직접적인 접근을 막아 정보를 은닉하는 것 특징:- 데이터의 기능과 통합: 객체라는 하나의 캡슐 안에 관련된 데이터(속성, 변수)와 그 데이터를 처리하는 기능을 포함시킴- 정보 은닉: 객체 내부의 중요한 데이터는 외부에서 직접 접근하지 못하도록 막고(private), 공개된 메서드(publi..

Programming 2025.06.19

[RAG] RAG(검색 증강 생성)란?

RAG(검색 증강 생성)는 기존 LLM의 한계를 기존 LLM의 한계를 극복하고자 고안된 기술로, LLM이 학습하지 못한 데이터 뭉치를 손에 쥐어주고, 사용자의 질문이 들어왔을 때 이를 오픈북처럼 활용할 수 있게 만들어주는 기술임. 더보기ex)A회사의 직원이 LLM에게 A회사의 프로젝트 일정에 대해 질문하는 상황. 기존 LLM :사전 학습된 데이터만 가지고 있어서 답변하지 못함(검색 엔진을 활용할 수 있어도 'A회사의 프로젝트 일정'은 공공연한 정보가 아니기에 결과는 동일함.) RAG 체인으로 호출된 LLM :'A회사의 프로젝트 일정'이 포함된 문서를 전달 받았기에, 사용자의 질문이 들어오면 해당 정보가 포함된 문서를 읽고 그에 맞는 답변을 출력함. Embedding이란, 우리가 사용하는 자연어를 컴퓨터가..

AI/LLM 2025.06.13

[Langchain] 구글 코랩에서 간단한 RAG 시스템 구축하기

별도의 환경 설정 없이 간단한 RAG (검색 증강 생성) 시스템을 구축해보고 싶다면 구글 코랩(https://colab.research.google.com/)을 이용할 수 있다. 먼저, Google Gemini API key와 HuggingFace Token을 발급받아야 한다. 1. 구글 AI Studio에서 API key 발급https://aistudio.google.com/apikey 로그인 - Google 계정이메일 또는 휴대전화accounts.google.com 2. 허깅페이스 Access Tokens 발급※ 프로필의 Settings를 클릭하면 Access Tokens 항목을 찾을 수 있다.https://huggingface.co/ Hugging Face – The AI community buil..

카테고리 없음 2025.06.13

[Error : HTML] 패턴 속성 값이 올바른 정규식이 아닙니다 / Pattern attribute value is not a valid regular expression

[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}본래 코드, 이메일 주소의 형식을 검사하기 위한 패턴이다. Pattern attribute value [a-zA-Z0-9.%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,} is not a valid regular expression: Uncaught SyntaxError: Invalid regular expression: /[a-zA-Z0-9.%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}/v: Invalid character in character classUnderstand this errorAI그리고 에러 메시지. 패턴 속성 값이 올바른 정규식이 아니라는 의미였다.[a-zA-Z0-9._%+\-]..

카테고리 없음 2025.03.24

[Spring] Gmail SMTP를 이용하여 이메일 인증 구현 - 인증코드 검증

// EmailServicepublic boolean checkAuthCode(String email, String authCode) { String storedAuthCode = service.getAuthCode(email); return storedAuthCode != null && storedAuthCode.equals(authCode);}사용자에게 입력받은 인증코드와 DB에 저장된 인증코드가 일치하는지 확인하는 메서드이다.두 문자열의 데이터가 일치하는지 확인하고 싶을 때엔 == 연산자가 아닌 equals()를 사용한다. == : 객체의 주소를 비교하여 일치 여부를 확인equals() : 객체 내부의 데이터를 비교하여 일치 여부를 확인// MemberServicepublic String getAu..

Programming/Java 2025.03.24

[Spring] Gmail SMTP를 이용하여 이메일 인증 구현 - 이메일 발송 프로그램(2)

DROP TABLE authCode CASCADE CONSTRAINTS;CREATE TABLE authCode ( authCodeNo NUMBER GENERATED ALWAYS AS IDENTITY PRIMARY KEY, -- 자동 증가 기본 키 email VARCHAR2(255) NOT NULL, authCode VARCHAR2(6) NOT NULL, expireTime DATE NOT NULL -- 만료 시간);DB에 authCode 테이블을 생성한다. 인증코드가 DB에 저장되어 있어야 입력받은 데이터와 실제 인증코드가 일치하는지 확인이 가능하다.@Service@Log4jpublic class MemberService { @Autowired private SqlSess..

Programming/Java 2025.03.21

[Spring] Gmail SMTP를 이용하여 이메일 인증 구현 - 이메일 발송 프로그램(1)

@Service@Log4j@Datapublic class EmailService { @Autowired private MemberService service; @Autowired private JavaMailSender mailSender;해당 클래스에는 인증코드를 생성하고, 이메일을 발송하고,발송한 인증코드를 DB에 저장해 검증해주는 등 프로그램의 핵심 메서드들이 포함되어있다.@Service : Spring에게 해당 클래스가 Service 클래스임을 알려주는 어노테이션@Log4j : log.info(), log.error() 등 로그를 출력해주는 어노테이션@Data : setter(), getter(), toString()을 자동으로 생성해주는 Lombok 라이브러리..

Programming/Java 2025.03.21

[Spring] Gmail SMTP를 이용하여 이메일 인증 구현 - 데이터의 흐름

STS4Legacy ProjectJAVA 1.8Oracle SQLTomcat9Mybatis jdbc SqlSessionFactory 사용** Gmail SMTP 설정을 모두 끝마쳤어야함.  1. 회원가입 페이지에서 이메일 인증 요청사용자 액션: 회원가입 폼에서 이메일 입력 후 "인증 코드 발송" 버튼 클릭데이터 흐름:signUpForm.jsp의 Ajax 요청MemberController의 requestEmailAuth()EmailService의 authCodeSendEmail()랜덤 인증코드 생성(authCode())이메일 발송(sendEmail())MemberService의 insertAuthCode()memberMapper.xml의 insertAuthCode 태그DB의 AUTHCODE 테이블에 저장 ..

Programming/Java 2025.03.21

[Spring] Gmail SMTP를 이용하여 이메일 인증 구현 - 설정

이메일 인증 코드 발송 프로그램을 구현하기 위해서는 SMTP 설정이 필요하다.이번에는 Gmail SMTP를 통해 구현했지만, 기회가 된다면 네이버나 다음 등 다른 SMTP 또한 다뤄볼 예정이다.순서대로만 진행한다면 큰 어려움 없이 설정을 끝마칠 수 있을 것이다.* STS4 Legacy Project로 진행  1. Gmail 톱니바퀴 아이콘 -> 모든 설정 보기  2. 전달 및 POP/IMAP -> 사진과 동일하게 설정  3. 보안 -> 2단계 인증 4. 앱 비밀번호 클릭  5. 앱 비밀번호 생성 6. pom.xml에 dependency 설정 javax.mail mail 1.4.7 org.springframework spring-context-support 5.3.30 7. src/main/res..

Programming/Java 2025.03.21