ML, LLM 및 Vision LLM을 사용한 데이터 처리
Sparrow는 다양한 문서와 이미지에서 효율적인 데이터 추출 및 처리를 위한 혁신적인 오픈 소스 솔루션입니다. 양식, 송장, 영수증 및 기타 구조화되지 않은 데이터 소스를 원활하게 처리합니다. Sparrow는 강력한 성능에 최적화된 독립적인 서비스와 에이전트를 제공하는 모듈식 아키텍처가 돋보입니다. Sparrow의 중요한 기능 중 하나는 플러그형 아키텍처입니다. Sparrow Parse(비전 언어 모델 지원 포함) 또는 Instructor with Unstructured와 같은 도구 및 프레임워크를 사용하여 데이터 추출 파이프라인을 쉽게 통합하고 실행할 수 있습니다. Sparrow는 vLLM, Ollama, PyTorch 또는 Apple MLX와 같은 다양한 백엔드를 통해 로컬 LLM 데이터 추출 파이프라인을 활성화합니다. VL 모델을 사용한 Sparrow Parse는 온프레미스에서 실행되거나 클라우드 GPU에서 추론을 실행할 수 있습니다. Sparrow 솔루션을 사용하면 데이터를 처리하고 구조화된 출력으로 변환하는 데 도움이 되는 API를 얻을 수 있으며 사용자 정의 워크플로와 통합할 준비가 됩니다.
Sparrow 에이전트 - Sparrow를 사용하면 독립적인 LLM 에이전트를 구축하고 API를 사용하여 시스템에서 호출할 수 있습니다.
Sparrow UI 셸 앱을 사용해 보세요
{
"bank" : " First Platypus Bank " ,
"address" : " 1234 Kings St., New York, NY 12123 " ,
"account_holder" : " Mary G. Orta " ,
"account_number" : " 1234567890123 " ,
"statement_date" : " 3/1/2022 " ,
"period_covered" : " 2/1/2022 - 3/1/2022 " ,
"account_summary" : {
"balance_on_march_1" : " $25,032.23 " ,
"total_money_in" : " $10,234.23 " ,
"total_money_out" : " $10,532.51 "
},
"transactions" : [
{
"date" : " 02/01 " ,
"description" : " PGD EasyPay Debit " ,
"withdrawal" : " 203.24 " ,
"deposit" : " " ,
"balance" : " 22,098.23 "
},
{
"date" : " 02/02 " ,
"description" : " AB&B Online Payment***** " ,
"withdrawal" : " 71.23 " ,
"deposit" : " " ,
"balance" : " 22,027.00 "
},
{
"date" : " 02/04 " ,
"description" : " Check No. 2345 " ,
"withdrawal" : " " ,
"deposit" : " 450.00 " ,
"balance" : " 22,477.00 "
},
{
"date" : " 02/05 " ,
"description" : " Payroll Direct Dep 23422342 Giants " ,
"withdrawal" : " " ,
"deposit" : " 2,534.65 " ,
"balance" : " 25,011.65 "
},
{
"date" : " 02/06 " ,
"description" : " Signature POS Debit - TJP " ,
"withdrawal" : " 84.50 " ,
"deposit" : " " ,
"balance" : " 24,927.15 "
},
{
"date" : " 02/07 " ,
"description" : " Check No. 234 " ,
"withdrawal" : " 1,400.00 " ,
"deposit" : " " ,
"balance" : " 23,527.15 "
},
{
"date" : " 02/08 " ,
"description" : " Check No. 342 " ,
"withdrawal" : " " ,
"deposit" : " 25.00 " ,
"balance" : " 23,552.15 "
},
{
"date" : " 02/09 " ,
"description" : " FPB AutoPay***** Credit Card " ,
"withdrawal" : " 456.02 " ,
"deposit" : " " ,
"balance" : " 23,096.13 "
},
{
"date" : " 02/08 " ,
"description" : " Check No. 123 " ,
"withdrawal" : " " ,
"deposit" : " 25.00 " ,
"balance" : " 23,552.15 "
},
{
"date" : " 02/09 " ,
"description" : " FPB AutoPay***** Credit Card " ,
"withdrawal" : " 156.02 " ,
"deposit" : " " ,
"balance" : " 23,096.13 "
},
{
"date" : " 02/08 " ,
"description" : " Cash Deposit " ,
"withdrawal" : " " ,
"deposit" : " 25.00 " ,
"balance" : " 23,552.15 "
}
],
"valid" : " true "
}
{
"data" : [
{
"instrument_name" : " UNITS BLACKROCK FIX INC DUB FDS PLC ISHS EUR INV GRD CP BD IDX/INST/E " ,
"valuation" : 19049
},
{
"instrument_name" : " UNITS ISHARES III PLC CORE EUR GOVT BOND UCITS ETF/EUR " ,
"valuation" : 83488
},
{
"instrument_name" : " UNITS ISHARES III PLC EUR CORP BOND 1-5YR UCITS ETF/EUR " ,
"valuation" : 213030
},
{
"instrument_name" : " UNIT ISHARES VI PLC/JP MORGAN USD E BOND EUR HED UCITS ETF DIST/HDGD/ " ,
"valuation" : 32774
},
{
"instrument_name" : " UNITS XTRACKERS II SICAV/EUR HY CORP BOND UCITS ETF/-1D-/DISTR. " ,
"valuation" : 23643
}
],
"valid" : " true "
}
pyenv
설치한 다음 환경에 Python을 설치합니다.아래의 자세한 지침을 참조하세요.
자세한 내용은 확장 섹션을 확인하세요.
CLI 또는 API를 통해 Sparrow를 실행할 수 있습니다. CLI에서 실행하려면 sparrow.sh
스크립트를 사용하십시오. 실행하려는 에이전트에 따라 해당 가상 환경에서 실행하십시오. sparrow-parse
에이전트는 VL LLM 모델을 사용하고 있습니다. sparrow-parse
에이전트는 MLX, Ollama를 사용하여 로컬로 또는 클라우드 GPU를 사용하여 VL LLM을 실행합니다. instructor
에이전트가 Ollama 백엔드를 사용하고 있습니다. instructor
에이전트를 실행하려면 config.yml에 지정된 이름을 사용하여 Ollama용 LLM 모델을 가져와야 합니다.
config.yml에는 PROTECTED_ACCESS: False
속성이 있습니다. False
로 설정하면 API 호출 시 sparrow_key
확인되지 않습니다. 그렇지 않으면 API 호출에 올바른 sparrow-key
제공해야 합니다.
✅ Hugging Face에 GPU 백엔드를 갖춘 Sparrow Parse 에이전트. GPU 백엔드 katanaml/sparrow-qwen2-vl-7b
는 비공개입니다. 아래 명령을 실행할 수 있으려면 Sparrow Parse의 코드를 사용하여 Hugging Face 공간에 고유한 백엔드를 생성해야 합니다.
./sparrow.sh "[{"instrument_name":"str", "valuation":0}]" --agent "sparrow-parse" --debug --options huggingface --options katanaml/sparrow-qwen2-vl-7b --file-path "/data/bonds_table.png"
답변:
{
"data" : [
{
"instrument_name" : " UNITS BLACKROCK FIX INC DUB FDS PLC ISHS EUR INV GRD CP BD IDX/INST/E " ,
"valuation" : 19049
},
{
"instrument_name" : " UNITS ISHARES III PLC CORE EUR GOVT BOND UCITS ETF/EUR " ,
"valuation" : 83488
},
{
"instrument_name" : " UNITS ISHARES III PLC EUR CORP BOND 1-5YR UCITS ETF/EUR " ,
"valuation" : 213030
},
{
"instrument_name" : " UNIT ISHARES VI PLC/JP MORGAN USD E BOND EUR HED UCITS ETF DIST/HDGD/ " ,
"valuation" : 32774
},
{
"instrument_name" : " UNITS XTRACKERS II SICAV/EUR HY CORP BOND UCITS ETF/-1D-/DISTR. " ,
"valuation" : 23643
}
],
"valid" : " true "
}
✅ Sparrow Parse Agent는 여러 페이지의 PDF 문서를 지원합니다. 프라이빗 GPU 백엔드 katanaml/sparrow-qwen2-vl-7b
실행 예시. API 엔드포인트를 통해 PDF 문서를 전달할 수 있으며, 응답은 페이지 번호 표시기를 사용하여 페이지별로 구성됩니다.
./sparrow.sh "{"table": [{"description": "str", "latest_amount": 0, "previous_amount": 0}]}" --agent "sparrow-parse" --debug --options huggingface --options katanaml/sparrow-qwen2-vl-7b --file-path "/data/oracle_10k_2014_q1_small.pdf" --debug-dir "/data/"
샘플 답변:
[
{
"table" : [
{
"description" : " Revenues " ,
"latest_amount" : 12453 ,
"previous_amount" : 11445
},
{
"description" : " Operating expenses " ,
"latest_amount" : 9157 ,
"previous_amount" : 8822
}
],
"valid" : " true " ,
"page" : 1
},
{
"table" : [
{
"description" : " Revenues " ,
"latest_amount" : 12453 ,
"previous_amount" : 11445
},
{
"description" : " Operating expenses " ,
"latest_amount" : 9157 ,
"previous_amount" : 8822
}
],
"valid" : " true " ,
"page" : 2
}
]
✅ LLM 함수 호출 예시:
./sparrow.sh assistant --agent "stocks" --query "Oracle"
답변:
{
"company" : " Oracle Corporation " ,
"ticker" : " ORCL "
}
The stock price of the Oracle Corporation is 186.3699951171875. USD
Sparrow를 사용하면 FastAPI를 사용하여 로컬 LLM RAG를 API로 실행할 수 있으므로 당사 서비스와 편리하고 효율적으로 상호 작용할 수 있습니다. 추론에 사용할 플러그인의 이름을 전달할 수 있습니다. 기본적으로 sparrow-parse
에이전트가 사용됩니다.
이를 설정하려면:
터미널에서 다음 명령을 실행하여 엔드포인트를 시작합니다.
python api.py
서로 다른 Python 가상 환경에서 에이전트를 동시에 실행하려면 충돌을 피하기 위해 포트를 지정할 수 있습니다.
python api.py --port 8001
다음으로 이동하여 API에 대한 자세한 설명서를 볼 수 있습니다.
http://127.0.0.1:8000/api/v1/sparrow-llm/docs
시각적 참조를 위해 FastAPI 엔드포인트의 스크린샷
✅ sparrow-parse
에이전트인 이 에이전트는 Hugging Face에서 GPU 백엔드로 Visual LLM을 실행합니다. GPU 백엔드 katanaml/sparrow-qwen2-vl-7b
는 비공개입니다. 아래 명령을 실행할 수 있으려면 Sparrow Parse의 코드를 사용하여 Hugging Face 공간에 고유한 백엔드를 생성해야 합니다.
curl -X 'POST'
'http://127.0.0.1:8000/api/v1/sparrow-llm/inference'
-H 'accept: application/json'
-H 'Content-Type: multipart/form-data'
-F 'query=[{"instrument_name":"str","valuation":0}]'
-F 'agent=sparrow-parse'
-F 'options=huggingface,katanaml/sparrow-qwen2-vl-7b'
-F 'debug=false'
-F 'sparrow_key='
-F 'file=@bonds_table.png;type=image/png'
Sparrow Parse Agent는 개인 GPU 백엔드 katanaml/sparrow-qwen2-vl-7b
를 사용하여 다중 페이지 PDF 문서를 지원합니다. API 엔드포인트를 통해 PDF 문서를 전달할 수 있으며, 응답은 페이지 번호 표시기를 사용하여 페이지별로 구성됩니다.
[
{
"table" : [
{
"description" : " Revenues " ,
"latest_amount" : 12453 ,
"previous_amount" : 11445
},
{
"description" : " Operating expenses " ,
"latest_amount" : 9157 ,
"previous_amount" : 8822
}
],
"valid" : " true " ,
"page" : 1
},
{
"table" : [
{
"description" : " Revenues " ,
"latest_amount" : 12453 ,
"previous_amount" : 11445
},
{
"description" : " Operating expenses " ,
"latest_amount" : 9157 ,
"previous_amount" : 8822
}
],
"valid" : " true " ,
"page" : 2
}
]
Sparrow는 GPL 3.0 라이선스에 따라 제공되므로 소프트웨어를 자유롭게 사용, 수정 및 배포할 수 있으며 모든 수정 사항은 동일한 라이선스에 따라 오픈 소스로 유지됩니다. 이는 오픈 소스 커뮤니티를 지원하고 협업을 촉진하려는 우리의 약속과 일치합니다.
또한 우리는 중소기업(SME)을 포함한 조직의 다양한 요구를 인식하고 있습니다. 따라서 Sparrow는 지난 12개월 동안 총 수익이 미화 500만 달러 미만인 조직에 무료 상업용으로 제공되므로 고품질 소프트웨어 솔루션과 관련된 재정적 부담 없이 Sparrow를 활용할 수 있습니다.
이 수익 기준을 초과하거나 소스 코드 수정 사항을 공개할 의무 없이 Sparrow를 독점 소프트웨어에 통합하는 등 GPL 3.0 라이선스에서 수용하지 않는 사용 조건을 요구하는 기업을 위해 우리는 이중 라이선스 옵션을 제공합니다. 이중 라이선스를 통해 Sparrow는 별도의 독점 라이선스로 사용할 수 있어 상용 애플리케이션 및 독점 통합에 더 큰 유연성을 제공합니다. 이 모델은 프로젝트의 지속 가능성과 기밀성 및 사용자 정의에 대한 비즈니스 요구 사항을 모두 지원합니다.
귀하의 조직이 독점 라이선스에 따라 Sparrow를 활용하려는 경우 또는 맞춤형 워크플로우, 컨설팅 서비스 또는 전용 지원 및 유지 관리 옵션에 관심이 있는 경우 [email protected]으로 문의하십시오. 우리는 귀하의 고유한 요구 사항을 충족하는 맞춤형 솔루션을 제공하여 귀하의 프로젝트 및 작업 흐름에 대해 Sparrow의 이점을 극대화할 수 있도록 보장합니다.
카타나 ML, 안드레이 Baranovskij
GPL 3.0에 따라 라이센스가 부여되었습니다. 저작권 2020-2024 Katana ML, Andrej Baranovskij. 라이센스 사본.