🤖 AI/LLM

🤖 AI/LLM

[LLM] 텍스트 분할(TextSplit)

[LLM] 텍스트 분할(TextSplit) 문서 분할은 RAG 시스템의 두 번째 단계로, 로드된 문서들을 효율적으로 처리하고 시스템이 정보를 보다 잘 활용할 수 있도록 준비하는 과정이다.크고 복잡한 문서를 LLM이 받아들일 수 있는 효율적인 작은 규모의 조각으로 나누는 작업이다. 01. 문자 텍스트 분할(CharacterTextSplitter)기본적으로 \n\n을 기준으로 문자 단위로 텍스트를 분할하고 청크의 크기를 문자 수로 측정한다.텍스트 분할 방식 : 단일 문자 기준청크 크기 측정 방식 :  문자 수 기준  CharacterTextSplitter를 사용하여 텍스트를 청크(chunk)로 분할할 수 있다.# 패키지 설치pip install -qU langchain-text-splittersfrom la..

🤖 AI/LLM

[LLM] 도큐먼트 로더(Document Loader)

[LLM] 도큐먼트 로더(Document Loader)도큐먼트 로더 (Document Loader)01. 논문(arxiv)Arxiv는 200만 편의 학술 논문을 위한 오픈 액세스 아카이브다.ArxivLoader를 사용해서 논문을 로드할 수 있다.# 패키지 설치pip install -qU arxivpip install -qU pymupdf# 로더 importfrom langchain_community.document_loaders import ArxivLoader# ArxivLoader를 사용하여 arXiv에서 문서를 로드합# query - 검색할 논문의 arXiv ID# load_max_docs - 로드할 최대 문서 수를 지정합니다.docs = ArxivLoader(query="1605.08386", l..

🤖 AI/LLM

[LLM] RAG (Retrieval-Augmented Generation)

[LLM] RAG (Retrieval-Augmented Generation)AI와 자연어 처리(NLP) 기술이 발전함에 따라, 우리는 점점 더 정교하고 똑똑한 언어 모델을을 접할 수 있게 되었다.그중에서도 RAG는 대규모 언어 모델의 한계를 극복하기 위해 고안되었다. RAG란 무엇인가?RAG는 Retrieval-Augmented Generation의 약자로 "검색 기반 생성"을 의미한다. 이는 단순히 주어진 입력에 대해 답변을 생성하는 기존의 언어 모델들과는 달리,외부 데이터베이스나 지식 그래프에서 관련 정보를 검색한 후 이를 바탕으로 답변을 생성하는 방식을 취한다. 이를 통해 모델이 훈련 데이터에 없는 정보에 대해서도 더 정확하고 풍부한 답변을 제공할 수 있다. RAG의 작동 원리RAG의 작동 원리는 ..

🤖 AI/LLM

[LLM] 올라마 모델에 랭체인 적용하기

[LLM] 올라마 모델에 랭체인 적용하기Ollama 공식 문서의 튜토리얼python: https://github.com/ollama/ollama/blob/main/docs/tutorials/langchainpy.mdjava script: https://github.com/ollama/ollama/blob/main/docs/tutorials/langchainjs.md  llama2에서 호메로스의 오디세이아에 대해 정보를 요청하면 다음과 같은 답변을 얻을 수 있다. 💻 죄송합니다만 저는 언어모델이 큰 관계로 현실에 존재하지 않는 개인이나 가족에 대한 정보를 제공할 수 없습니다.Neleus는 실제 인물이나 캐릭터가 아니므로 가족이나 기타 개인 정보가 없습니다. 혼란을 드려 죄송합니다. 제가 더 도와드릴 일이..

🤖 AI/LLM

[LLM] 랭체인(LangChain)

[LLM] 랭체인(LangChain)랭체인(LangChaing)랭체인(LangChaing)은 언어 모델 기반의 애플리케이션을 개발하는 프레임워크다. 여러 LLM을 처리하는 작업은 복잡하며, 언어 모델을 사용한 프로그래밍은 어려울 수 있다.이때 사용하는 것이 랭체인이다. 랭체인을 사용해 문서 또는 구조화된 데이터에 대한 Q&A를 요약, 분석, 생성하고 이해하거나API와 상호작용하고 생성형 AI를 활용하는 여러 애플리케이션을 만들 수 있다. 랭체인의 주요 요소언어 모델은 랭체인을 통해 데이터 소스와 연결되고 상호작용한다.랭체인의 주요 요소는 모듈식 추상화 및 추상화 구현의 모음으로 구성된다. 랭체인은 추상화라는 것을 통해 LLM 애플리케이션의 프로그래밍을 간소화한다.💡 추상화사용자에게 불필요한 세부사항을 ..

🤖 AI/LLM

[LLM] 올라마(Ollama)

저번 포스팅에서 LM Studio에 대해서 간략하게 설명을 했었는데,또다른 로컬 LLM을 활용할 수 있는 툴인 올라마에 대해서 알아보고자 한다. 올라마(Ollama)올라마는 GUI인 LM Studio와 달리 CLI로 로컬 LLM을 구성하여 활용할 수 있다. Mistral, Llama 3 등 다양한 오픈소스 LLM을 지원한다. 올라마에서 지원하는 모델은 아래에서 확인 할 수 있다. libraryGet up and running with large language models.ollama.com+) Open WebUI도 지원한다. GitHub - open-webui/open-webui: User-friendly WebUI for LLMs (Formerly Ollama WebUI)User-friendly We..

🤖 AI/LLM

[LLM] LM Studio

[LLM] LM StudioLM Studio는 컴퓨터에서 로컬 LLM을 실행하기 위한 데스크톱 애플리케이션이다.localhost에서 실행되는 API 서버를 통해 LM Studio 내에서 로드한 LLM을 사용할 수 있다. 요청과 응답은 OpenAI의 API 형식을 따르며,현재 OpenAI를 사용하는 코드가 localhost:PORT 대신 로컬 LLM을 사용하도록 지정한다. 지원하는 EndpointGET /v1/modelsPOST /v1/chat/completionsPOST /v1/embeddings POST /v1/completions 로컬 서버 구성1. 공식 홈페이지에서 OS에 맞는 LM Studio를 설치한다. 👾 LM Studio - Discover and run local LL..

🤖 AI/LLM

[LLM] 프롬프트 엔지니어링

[LLM] 프롬프트 엔지니어링프롬프트란?프롬프트는 특정 작업을 수행하도록 생성형 AI에 요청하는 자연어 텍스트다.생성형 AI 시스템이 정확하고 연관성 있는 응답을 생성하기 위해서는 컨텍스트와 세부정보가 필요하다. 프롬프트를 체계적으로 설계하면, 보다 의미있고 유영한 결과물을 얻을 수 있기 때문에프롬프트 엔지니어링에서는 AI 시스템에서 원하는 결과를 얻을 때까지 프롬프트를 지속적으로 조정한다. 💡 프롬프트 엔지니어링의 핵심 - 사용자의 요청을 정확하게 파악하고 그에 맞는 질문을 AI 모델에 적용한다.- 사용자는 모델을 활용하여 사용자의 요청을 최적화된 프롬프트로 변환하는 능력을 갖추어야 한다.- 프롬프트를 효과적으로 설계하기 위해, 사용하는 LLM 모델의 강점과 약점에 대한 깊은 이해가 필요하다. 프롬프..

heywantodo
'🤖 AI/LLM' 카테고리의 글 목록