[Linux] 사용자에게 sudo 권한 부여리눅스 시스템에서 시스템 관리 작업을 수행하기 위해 root 권한이 필요하다.일반 사용자에게 sudo 권한을 부여하는 방법을 알아보자 sudoers 파일 수정 /etc/sudoers 파일을 편집하여 세부적인 sudo 권한 설정이 가능하다.파일을 잘못 편집하면 시스템에 문제가 생길 수 있으므로, visudo 명령어를 사용하여 편집하는 것이 좋다.sudo visudo위 명령어를 사용하면 /etc/sudoers 파일이 열리는데, 다음과 같은 형식으로 사용자에게 sudo 권한을 부여할 수 있다.사용자명 ALL=(ALL:ALL) ALL또는 특정 그룹 전체에 대해 권한을 부여할 수도 있다.%그룹명 ALL=(ALL:ALL) ALL 설정 완료후 새로운 터미널 세션을 열어 s..
[LLM] RAG (Retrieval-Augmented Generation)AI와 자연어 처리(NLP) 기술이 발전함에 따라, 우리는 점점 더 정교하고 똑똑한 언어 모델을을 접할 수 있게 되었다.그중에서도 RAG는 대규모 언어 모델의 한계를 극복하기 위해 고안되었다. RAG란 무엇인가?RAG는 Retrieval-Augmented Generation의 약자로 "검색 기반 생성"을 의미한다. 이는 단순히 주어진 입력에 대해 답변을 생성하는 기존의 언어 모델들과는 달리,외부 데이터베이스나 지식 그래프에서 관련 정보를 검색한 후 이를 바탕으로 답변을 생성하는 방식을 취한다. 이를 통해 모델이 훈련 데이터에 없는 정보에 대해서도 더 정확하고 풍부한 답변을 제공할 수 있다. RAG의 작동 원리RAG의 작동 원리는 ..
[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는 실제 인물이나 캐릭터가 아니므로 가족이나 기타 개인 정보가 없습니다. 혼란을 드려 죄송합니다. 제가 더 도와드릴 일이..
[Linux] sedsed는 스트림 편집기(Stream Editor)의 약자로, 텍스트 파일을 처리하고 변환하는 데 매우 유용한 도구다.sed는 주로 대량의 텍스트 데이터에서 패턴을 검색하고, 치환하고, 필터링하는 작업에 사용된다. 기본 사용법sed 명령어의 기본 형식은 다음과 같다.sed [옵션] '명령' 파일명 텍스트 치환먼저 example.txt 파일을 다음과 같이 생성한다.cat > example.txtHello, World!This is a sed tutorialLet's learn sed together. 가장 기본적인 sed 명령어는 텍스트 치환이다. 파일의 특정 문자열을 다른 문자열로 바꾸는 예제를 확인해보자.Hello를 Hi로 바꾸기 위해 다음과 같은 명령어를 입력한다.sed 's/Hel..
[Python] Beautiful Soup(bs4)파이썬(Python)에는 여러 웹 스크래핑 라이브러리가 있지만,그 중에서도 bs4는 HTML과 XML문서를 파싱하는 데 있어 간편성과 효율성으로 많은 사랑을 받고 있다. Beautiful Soup란? Beautiful Soup는 파이썬을 위한 HTML 및 XML 파싱 라이브러리다.이 라이브러리를 사용하면 웹 페이지의 구조를 쉽게 분석하고 필요한 데이터를 추출할 수 있다. bs4는 파이썬의 표준 라이브러리인 html.parser를 기본 파서로 사용하지만, 더 빠르고 강력한 외부 파서(ex. lxml, hrml5lib)도 지원합니다. Beautiful Soup 설치하기bs4를 사용하기위해 먼저 라이브러리를 설치해준다.다음 명령어를 통해서 설치가 가능하다. ..
[LLM] 랭체인(LangChain)랭체인(LangChaing)랭체인(LangChaing)은 언어 모델 기반의 애플리케이션을 개발하는 프레임워크다. 여러 LLM을 처리하는 작업은 복잡하며, 언어 모델을 사용한 프로그래밍은 어려울 수 있다.이때 사용하는 것이 랭체인이다. 랭체인을 사용해 문서 또는 구조화된 데이터에 대한 Q&A를 요약, 분석, 생성하고 이해하거나API와 상호작용하고 생성형 AI를 활용하는 여러 애플리케이션을 만들 수 있다. 랭체인의 주요 요소언어 모델은 랭체인을 통해 데이터 소스와 연결되고 상호작용한다.랭체인의 주요 요소는 모듈식 추상화 및 추상화 구현의 모음으로 구성된다. 랭체인은 추상화라는 것을 통해 LLM 애플리케이션의 프로그래밍을 간소화한다.💡 추상화사용자에게 불필요한 세부사항을 ..
저번 포스팅에서 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..
[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..
[K8s][CKS] Admission Controller쿠버네티스의 접근제어에는 크게 3가지가 있다.Authentication접속한 사람의 신분을 시스템이 인증Authorization누가 어떤 권한을 가지고 어떤 행동을 할 수 있는지 확인Admission Control인증과 권한 확인 이후에 추가적으로 요청 내용에 대한 검증이나 요청 내용을 수정 할 때 사용 이 중 쿠버네티스의 Admission Control은 요청이 인증되고 권한이 부여된 후에Kubernetes API 서버에 대한 승인한 요청과 관련된 객체를 수정 할 수 있다. Admission Controller PluginsAdmission Controller는 관리자의 특정 정책을 수행하는 주체라고 볼 수 있다.다시 말해 Admission Con..
[Linux] umaskumask 란?umask는 사용자 파일 생성 모드 마스크(user file-creation mode mask)를 의미한다.이는 새로 생성된 파일과 디렉터리에 대한 기본 권한 설정을 결정하는 Linux 명령어다. 새로운 파일이나 디렉터리가 생성될 때, 시스템은 기본 권한을 할당한 후이 권한을 umask에 의해 수정한다. 권한 이해하기linux에서 권한은 세 가지 유형이 있으며, 권한은 세트로 구분된다.읽기(r)파일이나 디렉터리의 내용을 볼 수 있다.쓰기(w)파일이나 디렉터리의 내용을 수정할 수 있다.실행(x)파일을 실행하거나 디렉터리에 접근할 수 있다.사용자(u)파일의 소유자그룹(g) 파일이 속한 그룹기타(o)모든 다른 사용자각 세트는 세 개의 비트(읽기, 쓰기, 실행)를 가지고 있..
[LLM] 프롬프트 엔지니어링프롬프트란?프롬프트는 특정 작업을 수행하도록 생성형 AI에 요청하는 자연어 텍스트다.생성형 AI 시스템이 정확하고 연관성 있는 응답을 생성하기 위해서는 컨텍스트와 세부정보가 필요하다. 프롬프트를 체계적으로 설계하면, 보다 의미있고 유영한 결과물을 얻을 수 있기 때문에프롬프트 엔지니어링에서는 AI 시스템에서 원하는 결과를 얻을 때까지 프롬프트를 지속적으로 조정한다. 💡 프롬프트 엔지니어링의 핵심 - 사용자의 요청을 정확하게 파악하고 그에 맞는 질문을 AI 모델에 적용한다.- 사용자는 모델을 활용하여 사용자의 요청을 최적화된 프롬프트로 변환하는 능력을 갖추어야 한다.- 프롬프트를 효과적으로 설계하기 위해, 사용하는 LLM 모델의 강점과 약점에 대한 깊은 이해가 필요하다. 프롬프..
[Linux] failed to enable unit: Unit file /lib/systemd/system/nfs-common.service is masked nfs와 mount를 하기 위해 nfs 유틸 패키지인 nfs-common을 설치해야 했는데,해당 패키지를 설치 후 상태 확인 시 다음과 같은 상태인 것을 확인했다. 해당 패키지가 masked 되어 사용할 수 없다는 뜻인데, 이를 unmask 해주면 사용이 가능하다.start 명령어를 사용하면 nfs-common.service가 /dev/null에 심볼릭 링크가 걸려있다는 메시지를 확인 할 수 있다. 해결을 위해 먼저 해당 파일을 제거 후 데몬을 리로드한다.sudo rm /lib/systemd/system/nfs-common.servicesudo ..