본문 바로가기

반응형

전체 글

(284)
[LLM] LangChain 1. LangChain 이란?LnagChain 은 LLM agent 나 애플리케이션 개발을 편리하게 해주는 프레임워크이다. OpenAI, Anthropic, Google 등 다양한 LLM provider 와 연동할 수 있는 인터페이스를 제공하여 agent 를 개발하는데 사용할 수 있다. 이 외에도 HTTP API 호출, 데이터베이스 연동 등 다양한 tool 을 호출하여 사용할 수 있고, vector store, retriever 등을 사용하여 RAG 도 구현할 수 있다.2. LangChain 장점LangChain 을 사용하는 이유는 LLM 을 사용하는 agent 나 application 의 개발을 위한 다양한 기능들을 제공해주기 때문이다. 만약 LangChain 을 사용하지 않으면 OpenAI 나 Gem..
[LLM] RAG (Retrieval-Augmented Generation) 1. RAG 란?RAG (Retrieval-Augmented Generation) 은 LLM 이 새로운 정보를 검색하고 통합할 수 있도록 하는 기술이다. LLM 이 외부 데이터 소스에서 정보를 검색한 뒤, 그 결과를 기반으로 응답을 생성하는 구조로 구성된다. LLM 을 단독으로 사용했을 때 없는 사실을 생성하는 Hallucination 문제나, 최신 데이터 부족으로 인한 문제 등이 발생한다. RAG 를 사용하면 모델의 학습에 사용된 데이터 이외에 새로운 추가 정보를 제공함으로 이러한 문제들을 해결할 수 있다. 또한 응답 생성에 참고해야 하는 내용을 제공함으로 사용자가 원하는 내용을 더 정확하게 얻을 수 있다.2. RAG 핵심 개념 및 동작 흐름1) Indexing사전 준비 단계로 RAG 를 구성하기 위해..
[LLM] Vector, Embedding LLM 서비스를 개발하면 Embedding 이라는 키워드를 만나게 된다. 자연어 문장을 이해하고 문맥간의 관계를 위해서 필요한 과정인데, 간단하게 생각하면 사람의 말, 자연어를 컴퓨터가 이해할 수 있는 디지털, 숫자 형식 Vector 로 변환하는 것이다. 이 글에서는 Vector, Embedding 에 대한 개념과 자연어를 Embedding 하는 예제, 그리고 Embedding 한 Vector 와 Vector DB 를 사용하여 데이터 저장과 검색하는 것까지 정리해보겠다.1. Vector, Embedding 개념- VectorVetor 는 수학에서 크기와 방향을 동시에 가지는 물리량을 의미한다. 이는 곧 n 차원 공간의 좌표로 이해할 수 있는데, 아래 예시와 같이 특정 차원의 숫자 배열로 표현된다. ex)..
[로그 모니터링] Grafana Alerting [로그 모니터링] 시리즈를 통해 로그 모니터링을 위한 시스템을 구축했다. 이제 그라파나 대시보드를 통해 실시간으로 로그를 확인할 수 있다.이번 글에서는 Grafana 의 alert 기능을 사용하여 Error 로그가 출력될 때마다 알림이 발생하도록 해보겠다. 예제는 Grafana 의 예제문서를 참고했다. (https://grafana.com/tutorials/create-alerts-with-logs/)1. Contact point 설정Alert 설정을 하기에 앞서 먼저 알림이 발생하는 경우, 알림을 전송할 Contact point 를 생성해준다. Contact point 는 email, Slack, webhook 등 다양한 방식으로 알림을 전달할 수 있는데, 이 글에서는 Webhook 방식으로 알림을 전..
[로그 모니터링] Fluent Bit 설치와 시스템 연동 이전 글들에서 Grafana 와 Loki 까지 구성을 완료했다.이번 글에서는 Fluent Bit 를 설치하고 로그를 출력할 샘플 app 과 연동해서 Grafana 대시보드에 로그가 출력되는 것까지 완료해보겠다.1. Fluent Bit 설치Fluent Bit 공식 문서의 Docker 설치 방법을 참고하여 Docker 컨테이너로 Fluent Bit 서비스를 실행시켜 보겠다.- installation > download and install fluent bit > docker Download and install Fluent Bit | Fluent Bit: Official Manual docs.fluentbit.io- docker-compose.yaml공식 문서에서 docker run 명령어로 Fluent B..
[로그 모니터링] Loki 설치와 Grafana 연동 지난 글 (https://jammdev.tistory.com/284) 에서는 로그 모니터링 시스템의 Grafana 를 설치했다. 이번 글에서는 Loki 를 설치하고 Grafana 에 연동하는 과정을 정리해보겠다.1. Loki 설치 및 환경설정Grafana Loki 의 공식 문서를 참고하여 Loki 설치와 환경설정을 진행하려고 한다. Loki 는 여러 컴포넌트들로 구성되어 있는 microservice architecture 를 가지고 있다. Loki 를 실행시킬 때 deployment mode 를 설정하여 시스템을 monolithic 하게 구성할 것인지, micro 하게 구성할 것인지 결정할 수 있다. 이 글에서는 아래 링크의 예제와 같이 simple scalable deployment 구조로 read, ..
[LLM] OpenAI SDK Quickstart 여러 LLM Provider 들의 SDK 를 사용해보면서 공부를 하려고 한다. 가장 먼저 제일 많이 사용되고 있는 OpenAI 로 시작해보려 한다. OpenAI API 공식문서의 Quickstart 를 기반으로 OpenAI SDK 설치, Response API 를 사용한 채팅, 이미지 분석, agent build 등 다양한 예제를 정리해본다.1. OpenAI API Key 발급OpenAI API 를 사용하기 위해서는 먼저 API Key 를 발급받아야 한다. OpenAI 계정을 만들고 billing 을 등록하는 등 과정을 거친 후 API Key 를 발급받을 수 있다. 자세한 과정은 아래 링크를 참고하자. - https://developers.openai.com/api/docs/quickstart#creat..
[로그 모니터링] Garafana 설치 앞선 글 (https://jammdev.tistory.com/282) 에서 로그 모니터링 시스템의 구조를 설계했다. 이어서 설계한 구조대로 로그 모니터링 시스템을 구성해 볼 것이다. 간단한 로그를 출력하는 app 을 두고 로그를 대시보드에서 모니터링 할 수 있도록 Fluent-bit, Loki, Grafana 를 설치할 것이다. 시스템 구성을 간편하게 하기 위해 호스트에 직접 설치하기 보다는 docker compose 를 사용하여 시스템을 구성할 것이다. 가장 먼저 Grafana 를 설치 과정을 정리해보았다.GrafanaGrafana 는 오픈 소스 소프트웨어로 여러 방식으로 설치할 수 있다. Debian, Ubuntu, Windows, macOS 등 다양한 OS 와 Docker, k8s 등 다양한 환경을..

반응형