MaximeRivest/attachments
Easiest way to give context to LLMs; Attachments has the ambition to be the general funnel for any files to be transformed into images+text for large language models context by only adding 2 lines to your python code.
해결하는 문제
attachments는 다양한 파일 형식(PDF, Excel, Word, PowerPoint, HTML, 이미지, 오디오, 심지어 전체 GitHub 리포지토리)을 표준화된 LLM 준비 형식으로 변환하도록 설계된 라이브러리입니다. 파일 유형별로 별도의 파싱 라이브러리가 필요 없으며, 단일 함수(att())와 일관된 출력 형태를 제공하여 Claude나 OpenAI와 같은 멀티모달 LLM의 프롬프트에 직접 삽입할 수 있습니다.
작동 방식
이 라이브러리는 프로세서 시스템을 사용하여 다양한 파일 유형을 처리합니다. 사용자는 특정 형식에 대한 선택적 종속성을 설치하거나(예: pip install "attachments[pdf]"), 서비스 기반 폴백 모드를 사용할 수 있습니다.
주요 기능은 다음과 같습니다.
- 범용 출력: 모든 입력은 "아티팩트"(텍스트, 이미지, 메타데이터를 포함하는 사전) 목록으로 변환됩니다.
- DSL 구문: 도메인 특화 언어를 사용하여 옵션을 인라인으로 지정할 수 있습니다(예:
att("report.pdf[pages: 1-4]")). - 멀티모달 인터리빙: 기본적으로 텍스트와 이미지를 페이지별로 인터리브하여 모델이 시각적 콘텐츠를 해당 텍스트와 연관시킬 수 있도록 합니다.
- 토큰 추정: Claude의 토큰화 로직을 기반으로 텍스트와 이미지에 대한 대략적인 예산 수치를 제공합니다.
- 폴더/리포지토리 처리: 전체 디렉토리나 GitHub 리포지토리를 처리할 수 있으며,
.gitignore규칙에 따라 비밀 및 종속성 폴더를 자동으로 필터링합니다.
대상 사용자
LLM 애플리케이션, RAG 파이프라인 또는 AI 에이전트를 구축하는 개발자로서, 파일 형식마다 사용자 정의 파싱 로직을 작성하지 않고 다양한 비정형 데이터 소스를 처리해야 하는 경우.
주요 특징
- 단일 진입점: 하나의 함수(
att())가 단일 파일부터 URL 및 GitHub 리포지토리까지 모든 것을 처리합니다. - 표준화된 인터페이스: 모든 프로세서에서 일관된 출력 형태(아티팩트).
- 확장 가능한 형식 지원: PDF, XLSX, DOCX, PPTX, HTML, 스크린샷, OCR 및 오디오 전사를 지원합니다.
- LLM 특화 헬퍼: Claude 및 OpenAI 메시지용 출력 형식을 지정하는 내장 메서드.
- 스마트 필터링: 폴더를 처리할 때 비밀 및 생성 파일을 자동으로 제외합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트