분류 전체보기

🌏 OS/Linux

[Linux] 파일 시간 확인하기

[Linux] 파일 시간 확인하기리눅스 시스템에서는 파일의 여러 시간 정보를 확인할 수 있다.이러한 시간 정보는 파일의 변경 내역을 추적하거나, 시스템을 관리하는 데 유용하다. 파일 시간 정보리눅스 파일 시스템에서 파일에 대해 관리되는 주요 정보는 다음과 같다.Access Time (atime)파일이 마지막으로 읽힌 시간Modification Time (mtime)파일 내용이 마지막으로 수정된 시간Change Time (ctime)파일의 메타데이터(예: 권한, 소유자)가 마지막으로 변경 된 시간 파일 시간 정보 확인하기1. ls가장 일반적으로 사용하는 명령어 중 하나는 'ls'이다. 다양한 옵션을 통해 파일의 시간 정보를 확인할 수 있다.ls -l 파일이름 2. statstat 명령어를 사용하면, 파일의..

👩‍💻 Develope/Python

[Python] multiprocessing

[Python] multiprocessing파이썬의 multiprocessing 라이브러리는 병렬 처리를 통해 CPU 성능을 극대화할 수 있도록 해준다. 멀티프로세싱의 필요성파이썬은 기본적으로 GIL(Global Interpreter Lock)이라는 매커니즘 때문에,하나의 프로세스 내에서 동시에 여러 스레드를 실행하는 데에 제한이 있다. 이를 해결하기 위해 멀티프로세싱을 사용하면, 여러 개의 프로세스를 생성하여 병렬로 작업을 수행할 수 있다. 멀티프로세싱 기본 개념multiprocessing 라이브러리는 여러 프로세스를 생성하고 관리하는데 유용한 도구를 제공한다.주요 개념은 다음과 같다.Process독립적인 프로세스Queue프로세스 간 데이터를 교환할 수 있는 FIFO 구조Pool프로세스 풀을 생성하여 ..

👩‍💻 Develope/Python

[Python] __init__(), __new__()

[Python] __init__(), __new__()이전에 파이썬의 클래스에 대해 포스팅을 했었는데, 그 때 초기화를 위한 함수인 __init__에 대해 설명했었다.클래스를 호출 할때 어떤 함수나 값을 호출하고 싶을 때 정의한다.  어떤 클래스의 객체가 만들어질 때, 자동으로 호출되어 그 객체가 갖게 될 성질들을 정해준다. [Python] 클래스(class)[Python] 클래스(class) 클래스의 개념 파이썬의 클래스는 객체를 표현하기 위한 문법이다. 간단하게 생각해서 설계도라고 생각하면 된다. 클래스를 사용하면 객체의 구조와 행동을 정의하여 복잡heywantodo.tistory.com 여러가지 클래스의 코드를 찾아보고 있던 도중, __new__라는 메서드를 봤는데,__init__과 사용법이 비슷해..

🧾 Codetest/프로그래머스

[프로그래머스][SQL][Lv03] 대장균들의 자식의 수 구하기

[프로그래머스][SQL][Lv03] 대장균들의 자식의 수 구하기 풀이먼저 ecoli_data의 id와 parent_id를 left join 해준다.select * from ecoli_data p left join ecoli_data c on p.id = c.parent_id그 후 p 테이블의 id로 group by 해주면 원하는 결과를 얻을 수 있다. 정답select p.id, count(c.id) as child_count from ecoli_data p left join ecoli_data c on p.id = c.parent_id group by p.id order by p.id

💾 Data/Airflow

[Airflow] Flower worker auto scale

[Airflow] Flower worker auto scale Flower는 Celery 클러스터를 모니터링하고 관리하기 위한 웹 기반 도구다. Flower는 Celery 이벤트를 이용하여 작업 진행 상황 및 내역등을 실시간으로 모니터링 할 수 있으며,웹을 통해 작업자 인스턴스 종료 및 다시 시작 등의 remote 컨트롤이 가능하다.  Worker auto scale플라워에서 다음과 같은 설정을 조정할 수 있는 칸을 확인할 수 있다.Airflow 공식 문서에서의 work_autoscale에 대한 설명은 다음과 같다. work_autoscale부하에 따라 풀 크기를 동적으로 조정하는 데 사용되는 최대 및 최소 풀 프로세스 수이다.항상 최소 프로세스를 유지하지만, 필요한 경우 최대로 늘린다.max_concu..

🌏 OS/Linux

[Linux] bash에서 yaml 파일 load하기

[Linux] bash에서 yaml 파일 load하기 bash에서 yaml 파일의 config를 로드해야하는 일이 생겼다.열심히 찾아보니 sed와 awk을 이용하여 파싱을 해야 하는 예시가 많이 나왔는데 코드가 너무 복잡하고, 가독성이 좋지않아 사용하기에 고민이 되어 더 찾아본 결과아주 깔끔하고 멋진 코드를 발견했다 🤩load_yaml() { python3 -c "import yaml;print(yaml.safe_load(open('$1'))$2)"}value=$(load_yaml yaml_file "['key']")echo $value 예를 들어 다음과 같은 yaml 파일이 있을 때 다음과 같이 사용이 가능하다.## global definitionsglobal: debug: yes verbo..

🤖 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..

👩‍💻 Develope/Python

[Python] 주피터 노트북 서버 설정하기

[Python] 주피터 노트북 서버 설정하기주피터 노트북을 내부 뿐만 아니라 외부에서도 접근이 가능하도록 구성을 해보고자 한다. 1. 설정 파일 생성하기다음 명령어를 실행하면 사용자의 홈 경로의 .jupyter폴더에 jupyter_notebook_config.py 파일이 생성된다. jupyter notebook --generate-config 2. 암호 설정하기터미널에서 ipython 명령어를 사용하면 파이썬 인터프리터 환경이 실행된다.passwd() 함수로 비밀번호를 생성한 후 output을 복사해놓는다. ipythonfrom jupyter_server.auth import passwdpasswd() 3. config 파일 설정vi $HOME/.jupyter/jupyter_notebook_config...

🤖 AI

[LLM] 체인(Chains) - 문서 체인

[LLM] 체인(Chains) - 문서 체인 문서 체인(Documents Chain)02-1. stuff documents chain문서 체인 중 가장 간단한 방식인 stuff documents chain은 문서 목록을 가져와서 모두 프롬프트에 삽입한 다음,그 프롬프트를 LLM에 전달한다. 이 체인은 문서의 크기가 작고, 몇개만 전달되는 애플리케이션에 적합하다. 그럼 예시로 사용자로부터 입력 받은 문장을 요약하는 요청을 처리하기위한 프롬프트 템플릿을 정의해보자.from langchain_community.llms import Ollamafrom langchain_core.prompts import ChatPromptTemplatefrom langchain.chains.combine_documents im..

🤖 AI

[LLM] 체인(Chains) - 대화형 체인

[LLM] 체인(Chains) - 대화형 체인체인(Chain) 생성 단계는 이전의 7단계 과정을 모두 하나로 묶어 하나의 RAG 파이프라인으로 조립하여 완성하는 단계다.LCEL(LangChain Expression Language) 문법을 사용하여 이전 7단계의 전 과정을 하나의 체인으로 묶는다. 💡 LangChain Expression Language체인을 쉽게 구성할 수 있는 선언적 방식으로 랭체인을 더 쉽게 사용할 수 있게 해준다.LCEL 식은 파이프(|) 문자를 사용해 변수를 체인으로 연결한다.chain = prompt | model | output_parser서로 다른 구성 요소를 연결하고 한 구성 요소의 출력을 다음 구성 요소의 입력으로 전달한다. 대화형 체인(Conversation Chai..

👩‍💻 Develope/Python

[Python] 리눅스에 Pyenv 가상환경 설치

[Python] 리눅스에 Pyenv 가상환경 설치conda와 같은 또 다른 가상환경인 pyenv를 리눅스 환경에 설치하는 방법을 알아보자.자세한 설치방법은 아래 git에서 확인이 가능하다. GitHub - pyenv/pyenv-installer: This tool is used to install `pyenv` and friends.This tool is used to install `pyenv` and friends. Contribute to pyenv/pyenv-installer development by creating an account on GitHub.github.com pyenv 설치curl https://pyenv.run | bash 환경 변수 설정설치가 완료되면 아래와 같이 bashrc에..

heywantodo
'분류 전체보기' 카테고리의 글 목록 (4 Page)