| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- DIP
- 스프링 부트 입문
- thymeleaf
- 스프링 빈
- Agent
- assertThat
- llmops
- mybatis
- 생성자 주입
- 스프링 컨테이너
- Effective Java
- sqld
- 필드 주입
- springboot
- Rag
- JPA
- SQL
- LLM
- 스프링 프레임워크
- assertThrows
- db
- 스프링 부트
- Javascript
- 스프링 부트 기본
- jdbc
- java
- @Configuration
- 스프링
- 스프링부트
- spring
- Today
- Total
목록전체 글 (326)
선 조치 후 분석
들어가며"키워드 검색"이라고 하면 보통 active라고 입력하면 active라는 글자가 들어 있는 글만 찾아 준다고 생각한다. 나도 그렇게 이해하고 있었다. 그런데 PostgreSQL의 전문 검색(Full Text Search)으로 active를 조회했더니 activities, activity가 들어 있는 글까지 같이 나왔다. LIKE 검색이 아닌데 어떻게 이런 결과가 나오는지, 그 내부 동작을 정리해본다.1. 먼저 결론LIKE 검색은 글자가 들어 있는지만 본다. %active%는 active라는 글자 덩어리가 있으면 찾는다.전문 검색은 문장을 단어로 쪼개고, 각 단어를 어간(stem) 으로 줄여서 저장해 둔 뒤, 검색어도 같은 방식으로 줄여서 비교한다.그래서 전문 검색은 active, activity,..
들어가며노코드·로우코드 에이전트 빌더로 복잡한 흐름을 만들어야 하는데, 참고할 사례가 부족하다는 이야기를 들었다. 그러면 LangGraph, LangFlow의 Best Practice에서 비슷한 사례를 찾아보라는 조언을 받았다. 문제는 세 이름(LangChain, LangGraph, LangFlow)이 너무 비슷해서 무엇이 무엇인지부터 헷갈린다는 것이다. 먼저 셋의 차이를 정리하고, 그다음 "그래프로 흐름을 짠다"는 게 무슨 뜻인지, 어떤 패턴을 참고하면 되는지 정리해본다.1. 한 줄 비교이름한 줄 정의만드는 방식LangChainLLM 앱을 만들 때 쓰는 부품 모음 라이브러리코드LangGraphLangChain 계열의 복잡한 흐름(분기·반복) 전용 라이브러리코드LangFlow컴포넌트를 화면에서 선으로 연..
들어가며요즘 회의나 사업 문서에 "AX 추진", "DX를 넘어 AX로" 같은 말이 자주 나온다. 둘 다 뭔가를 바꾼다는 뜻인 건 알겠는데, 정확히 무엇이 다르고 어떤 관계인지 설명하려니 막혔다. 용어부터 차근차근 정리해본다.1. 한 줄 정의용어풀네임한 줄 정의DXDigital Transformation (디지털 전환)디지털 기술로 일하는 방식과 사업 방식을 바꾸는 것AXAI Transformation (AI 전환)AI로 일하는 방식과 사업 방식을 바꾸는 것DX: 종이·수작업·흩어진 데이터를 시스템과 데이터 중심으로 바꾼다AX: 그렇게 쌓인 데이터와 시스템 위에서 AI가 판단·생성·처리까지 맡도록 바꾼다둘 다 핵심은 기술 도입이 아니라 "Transformation(전환)", 즉 조직이 일하는 방식 자체가 ..
들어가며Langfuse와 LangChain은 이름도 비슷하고 같이 언급되는 경우가 많아서 비슷한 도구인 줄 알았다. 정리해보니 LangChain은 LLM 애플리케이션을 "만드는" 도구이고, Langfuse는 만든 애플리케이션이 "어떻게 동작했는지 기록하고 평가하는" 도구였다. 경쟁 관계가 아니라 같이 쓰는 관계다.(Langfuse 자체는 Langfuse와 LLM 관측성 정리 글에 자세히 정리해뒀다.)1. 한 줄 비교 LangChainLangfuse한 줄 정의LLM 애플리케이션 개발 프레임워크LLM 애플리케이션 관측·평가 플랫폼하는 일모델 호출, 프롬프트, 검색, 도구, 에이전트를 코드로 조립실행 과정을 기록하고, 품질을 평가하고, 프롬프트 버전을 관리형태내 코드에 import하는 라이브러리 (Python..
들어가며"Langfuse를 도입해서 워크플로 엔진과 통합한다"는 얘기를 듣고 처음엔 감이 안 왔다. Langfuse는 에이전트를 만드는 도구가 아니라, 에이전트가 일한 과정을 기록하고 평가하는 도구다. 이걸 이해하려면 "관측성(Observability)"이라는 개념부터 알아야 해서, 같이 알아야 할 것들을 묶어서 정리한다.(LLM 기초는 LLM 기본 개념 정리, 프롬프트·Few-shot은 Fine-tuning vs Few-shot·Many-shot vs RAG 글 참고)1. 왜 LLM 서비스는 "관측"이 따로 필요한가일반 웹 서비스는 같은 입력이면 같은 결과가 나온다. LLM 서비스는 그렇지 않아서 문제가 생겨도 원인을 찾기 어렵다.결과가 매번 다를 수 있다: 같은 질문에도 답이 달라진다. "그때 왜 그..
들어가며RAG 시스템 구조도를 보면 "원본은 S3, 메타데이터는 PostgreSQL, 검색용은 Vector DB" 같은 말이 한 줄에 같이 나온다. 그런데 S3는 DB가 아니고, 벡터 DB는 PostgreSQL로도 만들 수 있다. 헷갈리던 저장소 종류를 한 번에 정리해본다.1. 큰 그림 - DBMS와 스토리지는 다르다데이터 저장소├─ DBMS (데이터베이스 관리 시스템): 데이터를 구조화해서 조회·검색·트랜잭션 관리│ ├─ 관계형 (RDBMS) : PostgreSQL, Oracle, MySQL, Tibero, CUBRID│ └─ 비관계형 (NoSQL)│ ├─ 문서형 : MongoDB│ ├─ 키-값형 : Redis│ ..
