llm4 FAISS vector db search (with custom filter) FAISS vector db의 자료의 최소단위인 chunk는 page_content(내용)과 metadata(chunk 정보)로 구성된다.기본적으로 vector db에서 search를 진행하면 입력된 문장과 page_content의 내용을 비교하여 유사한 chunk 순으로 반환을 해준다. 하지만 metadata에 필터링을 걸어 검색을 하고 싶을 때가 있다. 예를 들어 특정 출처의 자료에서만 내용을 검색한다던지 특정 시기의 자료에서 검색을 위해 요구될 수 있다. 기본적인 metadata 필터링과 맞춤형으로 custom 필터 함수를 만들어 사용하는 방법에 대해 알아보자0. vector db loadfrom langchain_community.vectorstores import FAISSfrom langcha.. 2024. 8. 16. langchain에서 VLLM 사용하기 (with lora) langchain 라이브러리와 VLLM을 함께 이용하는 방법을 소개한다.현재 langchain_community 0.2.6 버전 기준으로 lora adapter 적용 및 stop token이 작용하지 않는 것으로 확인된다.이를 위한 class 처리 방법도 함께 소개한다. langchain VLLM class 사용법1. 모델 선언langchain_community 에서 VLLM class 를 불러와 사용할 수 있다.일반 적인 파라미터들을 바로 설정 할 수도 있고 vllm_kwargs 에 dict 형태로 vllm에서 사용하던 파라미터들을 모두 사용할 수 있다.import torchfrom langchain_community.llms import VLLMmodel_path = "model_path"vllm_k.. 2024. 8. 12. vLLM 사용방법 with LoRA vLLM은 LLM 모델의 간단한 GPU 병렬처리등을 제공하며 허깅페이스 대비 최대 24배 빠른 추론 속도를 높일 수 있는 라이브러리다.1. 설치방법pip install vllm2. 모델 로드로컬 모델 및 허깅페이스 모델 모두 사용가능사용할 GPU의 개수를 입력하여 병렬처리 가능from vllm import LLMimport torchmodel_path = 'mymodel/mymodel'llm = LLM( model=model_path, # 로드할 모델 path dtype=torch.float16, # dtype tensor_parallel_size=2, # 병렬처리 GPU 개수 enforce_engaer=True # CUDA 그래프 사용여부 )3. quantizationvllm에서 .. 2024. 6. 18. llama.cpp 설치 방법 및 사용방법 with LoRA llama.cpp는 LLM 모델을 quantization을 통하여 필요한 메모리의 양을 크게 감소시켜고성능 GPU가 없는 환경(m1 mac 등)에서도 동작하며 빠른 추론 결과를 얻을 수 있게 해주는 packege이다.cpp를 이용하면 cpu 만으로도 동작하지만 GPU를 함께 사용하면 더 빠른 결과를 얻을 수 있다.모델을 cpp로 이용하는 순서는 다음과 같다. llama.cpp 환경 구축llama.cpp code clonepackege install사용할 LLM 모델 다운로드LLM 모델 convert (ggml, gguf 파일로 만들기)python packege llama_cpp를 이용하여 모델 로드모델 추론각 단계별 자세한 내용은 다음과 같다.1. llama.cpp 환경 구축모델을 convert 하기 위.. 2024. 2. 22. 이전 1 다음