| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- Python
- 알고리즘
- Ai
- langchain
- rust
- 코어 이더리움 프로그래밍
- 이더리움
- Ethereum
- fluent python
- function
- Container
- AWS
- 파이썬
- 정리
- Fast API
- 블록체인
- docker
- 러닝 랭체인
- dockerfile
- 백준
- 러스트
- 전문가를 위한 파이썬
- BlockChain
- 랭그래프
- Kubernetes
- guru
- Algorithm
- langgraph
- RabbitMQ
- BAEKJOON
- Today
- Total
| 글쓰기 | 방명록 | 관리 |
목록분류 전체보기 (108)
Victoree's Blog
자율성과 신뢰성 간의 트레이드 오프를 극복하는 방법 LLM 결과의 예측 가능성을 높이고, 긴 지연 시간을 효과적으로 관리하며 자율성 높은 시스템의 신뢰성을 확보하는 방법 동시 입력처리 같은 문제 대응 전략LLM 어플리케이션이 갖추어야 할 주요 목표지연 : 최종 답변 도출에 소요되는 시간을 최소화스트리밍/중간 출력 → 진행 상황과 중간 출력 결과가 지속적으로 공유되면 지연이 길더라도 수용하기 쉬움자율성 : 작업 중 인간 입력이 필요한 상황을 최소화분산 : 호출 간의 변동을 최소화구조화된 출력미리 정해진 형식의 출력물을 생성하도록 LLM에 요청하면, 기대에 부합하는 결과물이 나올 가능성이 높아진다.특정 스키마에 근거한 형식을 요구해 출력을 후속 처리하면 완전히 자유로운 텍스트 출력이 발생할 변동성을 줄일 수..
멀티 에이전트 시스템과 성찰 기법에 대해 이야기한다. 멀티 에이전트 시스템은 복잡한 문제를 여러 전문 에이전트가 협력해 해결할 수 있도록 하며, 랭그래프로 서브 그래프를 구성하는 내용이 나온다.1. 성찰→ LLM 어플리케이션이 기존 출력 및 선택 과정을 분석하고 이전 반복 단계의 성찰을 기억한다.성찰은 창작 프롬프트와 수정 프롬프트 사이의 반복적인 과정을 통해 형성되는데, 인간의 사고방식에는 시스템1(반응적 or 본능적) 과 시스템2(체계적이며 성찰적)라는 두 양상이 존재한다.시스템1 → 빠름, 무의식적, 자동적, 일상적 결정, 오류 발생 쉬움시스템2 → 느림, 의식적, 노력이 필요함. 복잡한 결정, 신뢰 가능성찰을 올바르게 활용하게되면, LLM 어플리케이션이 시스템2의 행동을 닮아가는 방향으로 발전하는..
에이전트는 외부 환경과 상호작용하며 스스로 판단해 행동하는 AI 시스템 계획-실행 반복 패턴을 통해 목표를 달성에이전트행동하는 존재행동하려면 행동을 취할지 결정할 판단력이 필요하다어떤 행동을 취할지 결정한다는 말은 여러 실행 가능한 대안이 존재한다는 의미를 내포한다. 선택의 여지가 없는 결정은 진정한 결정이라고 할 수 없다.에이전트는 의사결정을 위해 내부에 국한되지 않고, 외부 환경에 대한 정보에 접근해야 한다.에이전트 LLM 어플리케이션현재 상태나 바람직한 차기 상태에 관한 일정 컨텍스트를 바탕으로 두 가지 이상의 행동 중에서 선택을 해야한다툴 호출: 프롬프트에 LLM이 활용할 수 있는 외부 함수 목록을 포함하고, 생성된 출력에서 선택을 어떤 형식으로 표기할지 지침을 제공사고의 연쇄(CoT): 연구 결..
LLM 어플리케이션은 자율성(독자적으로 행동할 능력)과 신뢰성(결과물에 대한 신뢰도) 간의 트레이드 오프가 존재한다.인지 아키텍처란인간 추론 과정을 모델링한 체계와 이를 컴퓨터에 구현한 방식을 지칭인간의 마음이 정보를 처리하고, 기억하고, 배우고, 의사결정하는 방식에 대한 구조적인 모델자율성의 범위에 따라 LLM 어플리케이션 구축에 쓰는 다양한 레시피를 분류할 수 있음1) LLM 호출텍스트 번역이나 요약과 같이 특정 작업을 수행하는데 LLM을 활용하는 어플리케이션에서 LLM 호출 기능은 아주 유용함.EX) 4장에서의 챗봇2) 체인 - 플로우 엔지니어링미리 정해진 순서에 따라 여러번의 LLM 호출로 구현.서로 다른 어플리케이션 호출이 같은 순서로 LLM 호출을 수행하지만 입력 및 결과는 각각 다르게 나타남..
AI 챗봇에 메모리 기능을 추가해 이전 대화 내용을 기억하고 참조할 수 있게 하는 방법LLM의 무상태 특성을 극복하기 위해 랭그래프를 활용한 상태 저장 시스템 구축방법을 배운다.그래프 기반 아키텍처로 대화 흐름을 관리하고 상태를 추적하는 방법을 소개채팅 기록의 효율적인 관리를 위한 테크닉 학습챗봇 메모리 시스템 구축→ 이는 상태 저장 방식과 상태 쿼리 방식 두가지 설계적 결정이 있다.가장 간단한 챗봇 메모리 시스템 구축 방법은 사용자와 모델간 모든 채팅 대화 기록을 저장해 재활용하는 것메시지 목록 형태로 저장턴마다 최근 메시지를 추가해 업데이트메시지를 프롬프트에 추가 → 토큰이 많이 소모됨.최대 토큰 수(컨텍스트 윈도우) 제한이 있어서 어느 시점부터 가장 오래된 메시지를 강제로 잘라내야(Truncatio..
사용자 질의를 임베딩하고 벡터 저장소에서 관련 문서를 찾아 프롬프트에 컨텍스트로 제공하는 방법을 설명 쿼리 변환, 쿼리 라우팅(다양한 데이터 소스 활용을 위해), 자연어를 구조화된 쿼리로 전환하는 방법검색 증강 생성사용자 질의를 임베딩하고 데이터 소스에서 유사 문서를 검색한 후, 이를 프롬프트에 컨텍스르로 활용하는 과정을 검색 증강 생성이라고 부름→ 외부에서 얻은 컨텍스트를 제공해 LLM의 생성 정확도를 높이는 기법Rag 시스템 단계인덱싱외부 데이터 소스를 전처리한 후, 데이터를 나타내는 임베딩을 손쉽게 조회하도록 벡터 저장소에 저장검색질문을 바탕으로 벡터 저장소에 보관된 관련 임베딩 및 데이터를 추출생성원래 프롬프트와 검색 증강생성에서 활용한 관련 문서를 종합해 하나의 최종 프롬프트를 구성한 후, 이를..
LLM 이 학습하지 않은 지식이 필요한 경우, 모델 지식의 한계로 인해서 프롬프트를 수정해도 부정확한 정보를 내놓는 환각 현상이 발생된다. LLM 활용에 한두 페이지 분량의 텍스트가 필요하다면, 프롬프트에 해당 텍스트를 포함하면 충분하다.하지만 입력 크기 제한으로 인해 이로 해결하기 어려울 확률이 더 높다데이터 인덱싱어플리케이션이 질문에 적합한 자료를 손쉽게 탐색할 수 있도록 문서를 전처리검색LLM이 데이터를 바탕으로 정확한 답변을 내도록 인덱스에서 외부 데이터를 가져와 컨텍스트로 전달RAG = retrieval augmented generation인제스천 : 문서를 전처리하고 변환하는 과정문서에서 텍스트를 추출텍스트를 처리할 수 있도록 적절한 단위로 분할컴퓨터가 이해할 수 있는 숫자 체계로 변환문서에서..
LLM 어플리케이션을 만들 때, 가장 어려운 지점은?→ 프롬프트를 효과적으로 작성하여 LLM에 전달하고 그 예측 결과를 처리해 정확한 출력으로 반환하는 것왜 랭체인을 이용하는 것이 좋은가?사전 구현한 공통 패턴LLM 활용을 시작하는 가장 빠른 방법상호 교환 가능한 구성 요소LLM 메세지 컨텐츠 유형의 역할시스템 : 사용자 질문에 답변하는 데 사용하는 지시사항유저 : 사용자의 쿼리와 사용자가 생성한 그밖의 모든 컨텐츠어시스턴트 : 채팅 모델이 생성한 컨텐츠from langchain_core.messages import HumanMessage, SystemMessagefrom langchain_openai.llms import OpenAIOPEN_AI__KEY =""model = OpenAI(model="g..
LLM이란?: 거대 언어 모델(large language model) ⇒ 자연어를 이해·생성(또는 다중 모달 입력·출력까지 확장)하는 대규모 신경망 모델large :: GPT3 모델약 1750억개의 파라미터를 가짐45테라바이트 분량의 텍스트 데이터를 학습파라미터는 신경망 모델 내부의 연결 가중치(weight)를 제어하는 수치언어 모델 → 신경망의 일종영어나 기타 언어로 작성된 텍스트 입력을 받아 동일하거나 다른 언어로 작성된 텍스트 결과물을 생성훈련 데이터의 예시를 반영하면서 독창적인 텍스트 단락이나 그림 같은 새로운 컨텐츠를 생성하는 문제에 사용하기 시작됨텍스트를 입력 받아 인간과 유사한 텍스트 출력을 예측하고 생성하도록 훈련된 알고리즘특정 질문을 받으면, 이전 단어열을 받았을 때 단어나 단어열의 발생..
들어가며.. 평소 유저향 서비스 개발을 5년째 해오고 있는 나는 API 서버 개발, CICD 배포 관리나 인프라 리소스 관리 등등을 해오곤 했는데, 아직 검색 엔진을 기반으로 한 검색 기능이나 추천 기능을 구현해 볼 기회가 없었다. 이번 프로젝트는 아직 경험해보지 못한 검색/추천 기능들을 직접 해볼 기회가 있고, 이를 대상으로 할 데이터 셋도 크고 사용자 트래픽도 꽤 받아볼 수 있는 기회라고 판단해서 현재 열심히 출시 준비를 하고 있다. 검색과 관련한 기능을 곧 맡아서 개발해야 하기 때문에, 요즘 검색엔진 공부를 하고 있고 이렇게 글을 적게 되었다 🙂 이 글은 말이죠~ Elasticsearch(검색 엔진)가 어떤 역할을 하는 녀석인지 감이 안 오는 사람, Elasticsearch에서 해주는 기능들이 어떤..