🤖 AI72 🔬자신의 데이터에 맞춘 임베딩 모델 만들기 : RAG 개선하기 - 언어 모델을 임베딩 모델로 보호되어 있는 글 입니다. 2025. 1. 20. 🔬임베딩 모델로 데이터 의미 압축하기 : 검색 방식 조합/ 하이브리드 검색 LLM을 활용한 실전 AI 애플리케이션 개발- 허정준🪧검색 방식 조합해 성능 높이기키워드 검색 방식 동일한 키워드가 많이 포함될수록 유사도를 높게 평가- 장 : 관련성이 높은 검색 결과가 나올 확률이 높음- 단 : 키워드를 포함하지 않는다면 의미가 상통하더라도 검색하지 못함 의미 검색 방식 의미가 가까우면 유사도를 높게 평가- 장 : 키워드를 포함하지 않아도 의미가 상통하면 검색 가능- 단 : 관련성이 낮은 검색 결과가 나올 확률이 있음 하이브리드 검색 방식 🎉키워드 검색 방식 +의미 검색 방식 🫔 키워드 검색 방식 (BM25)TF-IDF 와 유사한 통계 알고리즘(TF-IDF : 단어의 빈도를 이용해서 카테고리화 + 많은 문서에 등장하는 단어의 중요도를 작게 설정) 간단 / 적은 계산량 / 뛰어난.. 2025. 1. 20. 🔬임베딩 모델로 데이터 의미 압축하기 : 의미 검색 구현 LLM을 활용한 실전 AI 애플리케이션 개발- 허정준🪧의미 검색 구현하기의미 검색 (semantic search)Sentence-Transformers 라이브러리 + Faiss 라이브러리 => Sentence-Transformers로 임베딩 생성 / Faiss 라이브러리로 거리를 계산하고 가까운 임베딩 찾기 Faiss 라이브러리 - 메타에서 개발한 벡터 연산 라이브러리- 기본적 벡터 거리 검색 방법 (코사인 유사도, 유클리드 거리, 등) + 벡터 검색 속도 향상 ANN 알고리즘 등 제공🫔 의미 검색 구현하기예제 10.8 실습에 사용할 모델과 데이터셋 불러오기from datasets import load_datasetfrom sentence_transformers import SentenceTransf.. 2025. 1. 20. 🔬임베딩 모델로 데이터 의미 압축하기 : 문장 임베딩 LLM을 활용한 실전 AI 애플리케이션 개발- 허정준 🪧문장 임베딩 방식텍스트 활용 시 단어보다는 문장을 많이 사용함🫔 문장 사이의 관계를 계산하는 두 가지 방법Bert 모델 - 트랜스포머 인코더 구조 사용=> 입력 문장을 문장 임베딩으로 만드는 데 뛰어난 성능을 보임 1. 바이 인코더 bi-encoder- 문장 두 개를 각각 bert 모델에 입력- 모델의 출력 결과 (문장 임베딩 벡터) 사이의 유사도를 코사인 유사도를 통해 구함 2. 교차 인코더 Cross-encoder- 문장 두 개를 함께 bert 모델에 입력 - 모델이 두 문장 사이의 관계를 출력교차 인코더=> 계산량이 많지만 두 문장의 상호작용을 고려할 수 있어 더 정확한 관계 예측이 가능- 직접적으로 두 텍스트 사이의 관계를 모두 게산하.. 2025. 1. 17. 🔬임베딩 모델로 데이터 의미 압축하기 : 텍스트 임베딩 LLM을 활용한 실전 AI 애플리케이션 개발- 허정준🧭 임베딩 모델로 데이터 의미 압축하기지금까지 텍스트를 숫자로 표현하려던 다양한 시도들이 있었음.. - 원핫 인코딩 : 텍스트를 숫자로 표현하지만 의미를 담지는 못함- 문장 임베딩 : 문장을 벡터로 표현하는 임베딩- 하이브리드 검색 : 키워드 검색 + 의미 검색 ( 관련도 높이기)발전~!~! 텍스트를 의미를 담아 더 압축적인 임베딩 벡터를 만드는 방향으로 발전해 옴 기본적으로 사용할 임베딩 모델 : OpenAI의 text-embedding-ada-002젤유명한듯🗃️ 텍스트 임베딩 이해하기텍스트 임베딩 / 문장 임베딩 임베딩 : 데이터의 의미를 압축한 숫자 배열 컴퓨터는 숫자만 이해할 수 있기 때문에.. 밀집 임베딩 ( dense embedding.. 2025. 1. 17. 🔬LLM 어플리케이션 개발하기 : 데이터 로깅 LLM을 활용한 실전 AI 애플리케이션 개발- 허정준💴 데이터 로깅사용자의 입력과 LLM 생성 출력을 기록하는 데이터 로깅 동일한 입력에 대해서도 LLM의 응답이 매번 달라지기 때문에 기록 필요 🗒️ 대표적인 로깅 도구🗒️- W&B Weights & Biases: The AI Developer PlatformWeights & Biases는 모델을 학습 및 파인튜닝하고, 실험부터 생산까지 모델을 관리하며, LLM으로 구동되는 GenAI 애플리케이션을 추적 및 평가할 수 있는 선도적인 AI 개발자 플랫폼입니다.site.wandb.ai- MLflow" data-og-host="mlflow.org" data-og-source-url="https://mlflow.org/" data-og-url="http.. 2025. 1. 16. 🔬LLM 어플리케이션 개발하기 : 데이터 검증 LLM을 활용한 실전 AI 애플리케이션 개발- 허정준💴 데이터 검증적절하지 않은 사용자 요청 처리!적절하지 않은 LLM 응답 내용 처리!💶 데이터 검증 방식규칙 기반 : 문자열 매칭 / 정규 표현식 등 분류 또는 회귀 모델임베딩 유사도 기반: 요청 임베딩 벡터에서 부적절 벡터와 유사도가 높은 부분이 있다면 처리LLM 활용: 부적절한 부분이 있는지 체크 LLM 활용💶 데이터 검증 실습특정 주제에 대해 답변 피하기엔비디아 : NeMo-Guardrails 라이브러리 이용import osfrom nemoguardrails import LLMRails, RailsConfigimport nest_asynciocolang_content = """define user greeting "안녕!" "How.. 2025. 1. 16. 🔬LLM 어플리케이션 개발하기 : LLM 캐시 LLM을 활용한 실전 AI 애플리케이션 개발- 허정준💴 LLM 캐시LLM 생성(추론) => 많은 시간과 비용가능하면 최대한 줄여야 함 요청과 생성 결과를 기록하고 이후에 동일하거나 비슷한 요청이 들어오면 새롭게 텍스트를 생성하지 않고 이전의 생성 결과를 가져와 응답함으로써 LLM 응답 시간을 줄임 벡터 데이터베이스를 이용해서 LLM 캐시 직접 구현해 보기💶 LLM 캐시 작동 원리캐시 요청을 통해 기존에 동일하거나 유사한 요청이 있었는지 확인하고 만약 있었다면 LLM 캐시에 저장된 답변을 모델에 전달 💵 일치 캐시 (Exact match)문자열이 완전히 동일한 응답에 대한 캐시 사용딕셔너리 형식 자료구조에서 키가 동일한 프롬프트를 찾아 값을 반환 💵 유사 검색 캐시 (Similar search).. 2025. 1. 15. 🔬LLM 어플리케이션 개발하기 : RAG 검색 증강 생성 - llamaIndex LLM을 활용한 실전 AI 애플리케이션 개발- 허정준 🧭 LLM 어플리케이션 개발하기LLM 어플리케이션을 개발하기 위해서는 LLM 모델만이 아닌- 임베딩 모델과 벡터 DB- LLM 캐시- 데이터 검증 로직- LLM 모니터링 로직등등...도 추가적으로 필요함!LLM 오케스트레이션 도구LLM 애플리케이션을 위한 다양한 구성요소를 연결하는 프레임워크ex) 라마인덱스 / 랭체인 / 캐노피 등 🗃️ 검색 증강 생성 RAG모델이 모르는 건데 아는 척하는 할루시네이션(환각) 현상을 해결하기 위한 기법모델은 그냥 제일 확률이 높은 말을 하는 애기 때문에 없는 정보에 대한 처리가 어려움 RAG로 해결하기=> 답변에 필요한 정보도 요청과 같이 전달하는 것=> 검색을 통해 보충한 생성 워크플로우 임베딩 대상 데이터를 .. 2025. 1. 14. 📬️ OpenAI Capabilities : Function calling https://platform.openai.com/docs/guides/function-calling Function callingConnect models to external data and systems. connect language models to external data and systemsdefine a set of functions as tools that the model has access to,execute those functions on the application side, and provide results back to the model from openai import OpenAIclient = OpenAI()tools = [ { "type": "function.. 2025. 1. 13. 이전 1 2 3 4 ··· 8 다음