분류 전체보기

· 💬 회고
마지막 여름방학의 첫 회고어느덧 4학년 여름방학이라 대학 생활의 마지막 여름방학을 맞이하게 되었습니다. 이번 달에 대해서도 기록해 보겠습니다. 종강 및 첫 전공 4.06월 13일부로 학교에서 4학년 1학기가 종료되었고, 이후 성적이 나왔습니다. 전체 학점은 3.82, 전공 학점은 인생 처음으로 4.0이 나왔습니다. 저번 학기에 우아한테크코스 준비를 하며 처음으로 2점대를 찍은 후 깎아져 있던 전체 학점 (3.39)을 3.45까지 끌어올리는 데 성공해서, 기회가 된다면 마지막 학기도 최대한 준비하여 평균 평점 3.5로 복구해 두고 졸업하고 싶네요. 사실 이번 학기도 학교 공부에는 많이 신경 쓰지 못했었는데, 끝까지 포기하지 않고 시험 기간에 공부를 한 게 효과 있었던 것 같아 다행이었습니다. 부트캠프를 시..
안녕하세요 dev_writer입니다. 오늘은 저번에 말씀드린 대로 Spring AI에서 지원하는 PromptTemplate과 프롬프트의 근본적인 종류를 알려드리겠습니다. 프롬프트란이제 프롬프트 (Prompt)라는 단어는 일상생활에서 쉽게 접할 수 있는 말이 되었습니다.위키백과에서는 프롬프트를 생성형 AI 모델로 해석되고 이해할 수 있는 명령, AI가 수행해야 하는 작업을 설명하는 자연어 텍스트라 정의하고 있습니다. 효과적으로 프롬프트를 적용할 수 있는 사례를 정리한 글도 참고하시면 좋을 듯합니다. Prompt 클래스기본적으로 Spring AI에서 프롬프트를 나타내는 Prompt 클래스의 인스턴스를 생성할 때, 생성자를 보면 UserMessage로 생성됨을 보실 수 있습니다. 그리고 그 이외에도 Messa..
· 세미나
개요안녕하세요 dev_writer입니다. 오늘은 지난번 당근 ML 밋업에서 발표한 LLM을 프로덕션에 적용하며 배운 것들을 주제로 어떤 내용이 들어있는지를 정리해보고자 합니다. 제 글을 이전부터 봐오신 분들은 Spring AI에 대해서 제가 공부를 하고 있는 것을 아실 텐데요. Spring AI를 이용하여 학교에서 캡스톤 프로젝트를 한 뒤 동상을 얻는 등 좋은 성과가 있었습니다. 하지만 마주쳤던 문제점들이 있어서 이번 방학부터 진행할 부트캠프에서도 이 주제를 기반으로 다시 만들어보려고 하는데요, 접했던 문제 중 하나인 LLM이 원치 않는 데이터를 반환해 주는 문제를 어떻게 해결할 수 있을까에 대한 고민이 있어 위 세션을 들어보고 정리하였습니다. 당근에서의 LLM 사용 예당근에서는 LLM을 어떻게 사용하고..
· 💬 회고
너무 회고할 게 많았던 달이번 달은 이래도 되나? 싶을 정도로 좋은 이벤트가 많았던 달이었습니다. 하나씩 기록해 보겠습니다. Spring AI를 뜯어보다 - 이벤트 발생의 원인 (05.02)5월 2일에는 스프링에서 파이썬 진영에 있는 랭체인에 대항하기 위해 만든, Spring AI의 내부 원리를 분석한 글을 작성하였습니다. Spring AI를 쓰게 되면서 ChatGPT 등 AI의 API를 호출하기 위해 작성해야 했던 번거로운 HTTP 커넥션 코드를 상당 부분 제거할 수 있었기에 시작해 본 글이었습니다. (그러나 후술 하듯이, 이 과정이 다른 이벤트들을 연속적으로 부를 줄은 몰랐습니다.) Spring AI로 얻게 된 인생 첫 커피챗 (05.09)저는 이번 달부터 제가 공부하며 성장하는 과정을 단순히 블로그..
이전 Spring AI에 대한 글을 작성한 후, 감사하게도 생각보다 많은 분이 글을 찾아주셨습니다. 그러던 도중, 갑자기 Spring AI 메인 README에 다음과 같은 내용이 올라왔습니다. Spring AI의 변경 사항 공지  핵심 먼저 말씀드리면, 아래와 같이 바뀌게 되었습니다.1️⃣ 새로운 ChatClient는 ChatModel 인스턴스를 취합니다. 이것은 RestClient, WebClient, JdbcClient 등과 같은 스프링 생태계의 클라이언트들과 유사한 방식으로 프롬프트를 실행할 수 있도록 fluent API 방식을 지원합니다.2️⃣ ChatClient, ImageClient 등 ...Client로 끝났던 파일들이 이제는 ...Model로 이름이 변경되었습니다.따라서 이전에는 ChatC..
· 세미나
개요5월 16일에는 데보션에서 글또 커뮤니티를 운영 중이신 변성윤 (카일)님이 실용주의 기술 블로그 글쓰기를 주제로 강연을 해 주셔서, 청강 후 느낀 점을 공유드리고자 합니다.  성장에는 저항이 수반된다.개발자로 취업을 하는 과정에서 남들보다 경쟁력을 갖추기 위해, 지식 공유를 하기 위해, 또는 공부한 것을 잊지 않고자 기술 블로그를 쓰는 경향이 있습니다. 하지만 비단 기술 블로그 뿐 아니라, 일상적인 블로그 등 어떤 글을 창작하는 과정에 있어서 저항 (하기 싫어하는 마음)이 들 때가 있습니다. 그래서 연사님께서는 이 저항에 저항하는 것부터가 기술 블로그를 운영함에 있어서 필요한 첫 번째 과정이라고 이야기하셨습니다. 저희가 공부를 하기 위해 책상에 앉았을 때 침대에 눕고 싶은 마음을 이겨내는 것 또한 저..
소개이번 시간에는 깃허브를 제대로 활용할 수 있는, 이슈 & PR 자동화 스크립트를 알려드리고자 합니다. 깃허브를 사용하고 계신 분들은 대부분 아실 개념들일 텐데요, PR이 merge 되면 관련 이슈가 자동으로 닫히도록 하는 것에 중점을 두겠습니다. Issue깃허브에서 이슈 (Issue)란, 모든 종류의 문제를 의미합니다. 예시로 Spring AI의 이슈를 보면 아래와 같이 여러 개가 있습니다. 깃허브의 공식 문서에서는 이슈를 다음과 같이 설명하고 있습니다.GitHub Issue란?우리 모두는 우리의 작업을 계획하고, 문제를 추적하고, 우리가 구축하는 것들을 논의할 수 있는 방법이 필요합니다. 이 보편적인 질문에 대한 우리의 대답은 깃허브 이슈이며, 그것은 모든 저장소에 내장되어 있습니다. 깃허브의 이슈..
안녕하세요 devwriter입니다. 오늘은 [자바 잘 읽는 법] 책에 대한 리뷰를 작성하겠습니다.  책은 크게 트러블슈팅 기본 테크닉, 트러블슈팅 고급 테크닉, 대규모 시스템의 트러블슈팅, 부록으로 나뉘어 있습니다. 트러블슈팅 기본 테크닉먼저 트러블슈팅이란 무엇일까요? 위키백과에 따르면 트러블슈팅은 다음과 같이 정의되어 있습니다. 트러블슈팅(troubleshooting)은 문제 해결의 일종으로, 망가진 제품, 또는 기계 시스템의 망가진 프로세스를 수리하는 일에 주로 적용된다. 문제 해결을 위해 문제의 원인을 논리적이고 올바르게 찾는 일이며 제품이나 프로세스의 운영을 재개할 수 있게 한다. 트러블슈팅은 증상 식별에 필수적이다. 이렇듯 트러블슈팅은 문제를 해결하는 과정의 일종이며, 실제 서비스가 돌아가는 상..
개요프로젝트를 하면서 Call to 'list.containsAll(collection)' may have poor performance 문제가 발생하였는데, 원인이 무엇이고 개선할 수 있는 방법은 무엇인지 공유하고자 합니다. containsAll 메서드는?먼저, containsAll 메서드는 자바의 컬렉션 (Collection)에 내장되어 있는 메서드입니다.  메서드를 호출한 컬렉션이 지정된 컬렉션의 모든 원소를 포함하고 있다면 true를 반환합니다.파라미터 c: 컬렉션에 포함되어 있는지 여부를 확인할 컬렉션반환: 컬렉션이 지정된 컬렉션의 모든 원소를 포함하고 있을 경우 true를 반환반환되는 예외ClassCastException: 지정된 컬렉션이 가지고 있는 하나 이상의 원소가 메서드를 호출한 컬렉션..
본 내용은 24.05.22 Spring AI에 대해 변경점이 생긴 이유로 최신 버전과 호환되지 않습니다. 대략적인 원리는 같으나, 변경점에 대해 아시고 싶으신 분들은 해당 글도 참고 부탁드립니다. 개요요새 ChatGPT 등 생성형 AI를 서비스에 접목시키는 기업들이 늘어나고 있고, 이러한 차원에서 생성형 AI를 프로젝트에 넣어보고자 하는 분들이 많은 기류를 느끼고 있습니다. 스프링에서는 아래의 영상을 통해 자체 기술인 Spring AI를 소개하는 영상을 만들기도 하였죠. 나온 지 얼마 되지 않은 기술이다 보니, 아직 이 기술을 블로그에 기록하신 분이 많이 없는 것 같아 프로젝트 상황에서 적용한 과정을 공유하고자 합니다. 본 글에서 진행할 예시는 OpenAI의 ChatGPT를 결합하여 스프링 애플리케이션에..
dev_writer
'분류 전체보기' 카테고리의 글 목록