Обработка данных с помощью ML, LLM и Vision LLM
Sparrow — инновационное решение с открытым исходным кодом для эффективного извлечения и обработки данных из различных документов и изображений. Он легко обрабатывает формы, счета-фактуры, квитанции и другие неструктурированные источники данных. Sparrow выделяется своей модульной архитектурой, предлагая независимые услуги и агенты, оптимизированные для обеспечения надежной работы. Одна из важнейших функций Sparrow — подключаемая архитектура. Вы можете легко интегрировать и запускать конвейеры извлечения данных, используя такие инструменты и платформы, как Sparrow Parse (с поддержкой моделей на языке видения) или Instructor с Unstructured. Sparrow обеспечивает локальные конвейеры извлечения данных LLM через различные серверные части, такие как vLLM, Ollama, PyTorch или Apple MLX. Sparrow Parse с моделью VL может работать либо локально, либо выполнять логический вывод на облачном графическом процессоре. С решением 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 в свою среду.Подробные инструкции смотрите ниже.
Более подробную информацию можно найти в расширенном разделе.
Вы можете запустить Sparrow через CLI или через API. Для запуска через CLI используйте скрипт sparrow.sh
. Запустите его из соответствующей виртуальной среды, в зависимости от того, какой агент вы хотите запустить. Агент sparrow-parse
использует модель VL LLM. Агент sparrow-parse
запускает VL LLM либо локально с помощью MLX, Ollama, либо с использованием облачного графического процессора. Агент instructor
использует серверную часть Ollama. Обязательно извлеките модель LLM для Олламы, используя имя, указанное в config.yml, для запуска агента instructor
.
В config.yml есть свойство PROTECTED_ACCESS: False
. Если установлено значение False
, sparrow_key
не проверяется при вызове API. В противном случае для вызова API необходимо указать правильный sparrow-key
.
✅ Агент Sparrow Parse с поддержкой графического процессора на Hugging Face. Серверная часть GPU katanaml/sparrow-qwen2-vl-7b
является частной. Чтобы иметь возможность запускать приведенную ниже команду, вам необходимо создать свой собственный серверный интерфейс в пространстве Hugging Face, используя код из Sparrow Parse.
./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-документы. Пример запуска частного серверного процессора katanaml/sparrow-qwen2-vl-7b
. Вы можете передать PDF-документ через конечную точку API, ответ будет структурирован постранично с индикаторами номера страницы:
./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 позволяет вам запускать локальную LLM RAG в качестве API с использованием FastAPI, предоставляя удобный и эффективный способ взаимодействия с нашими сервисами. Вы можете передать имя плагина, который будет использоваться для вывода. По умолчанию используется агент 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
, этот агент запускает Visual LLM с серверной частью GPU на Hugging Face. Серверная часть GPU katanaml/sparrow-qwen2-vl-7b
является частной. Чтобы иметь возможность запускать приведенную ниже команду, вам необходимо создать свой собственный серверный интерфейс в пространстве Hugging Face, используя код из Sparrow Parse.
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 поддерживает многостраничные PDF-документы с использованием частного графического процессора katanaml/sparrow-qwen2-vl-7b
. Вы можете передать PDF-документ через конечную точку API, ответ будет структурирован постранично с индикаторами номера страницы:
[
{
"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, что обеспечивает свободу использования, изменения и распространения программного обеспечения, гарантируя при этом, что любые модификации остаются с открытым исходным кодом под той же лицензией. Это согласуется с нашей приверженностью поддержке сообщества открытого исходного кода и развитию сотрудничества.
Кроме того, мы признаем разнообразные потребности организаций, включая малые и средние предприятия (МСП). Таким образом, Sparrow также предлагается для бесплатного коммерческого использования организациям с валовым доходом менее 5 миллионов долларов США за последние 12 месяцев, что позволяет им использовать Sparrow без финансового бремени, часто связанного с высококачественными программными решениями.
Для компаний, которые превышают этот порог дохода или требуют условий использования, не предусмотренных лицензией GPL 3.0 (например, интеграция Sparrow в проприетарное программное обеспечение без обязательства раскрывать изменения исходного кода), мы предлагаем варианты двойного лицензирования. Двойное лицензирование позволяет использовать Sparrow по отдельной проприетарной лицензии, обеспечивая большую гибкость для коммерческих приложений и проприетарных интеграций. Эта модель поддерживает как устойчивость проекта, так и потребности бизнеса в конфиденциальности и настройке.
Если ваша организация желает использовать Sparrow по собственной лицензии или если вы заинтересованы в индивидуальных рабочих процессах, консультационных услугах или специальных вариантах поддержки и обслуживания, свяжитесь с нами по адресу [email protected]. Мы здесь, чтобы предоставить индивидуальные решения, отвечающие вашим уникальным требованиям, гарантируя, что вы сможете максимально использовать преимущества Sparrow для своих проектов и рабочих процессов.
Катана МЛ, Андрей Барановский
Лицензия GPL 3.0. Copyright 2020-2024 Катана МЛ, Андрей Барановский. Копия лицензии.