การประมวลผลข้อมูลด้วย ML, LLM และ Vision LLM
Sparrow เป็นโซลูชั่นโอเพ่นซอร์สที่เป็นนวัตกรรมใหม่สำหรับการแยกและประมวลผลข้อมูลจากเอกสารและรูปภาพต่างๆ โดยจะจัดการแบบฟอร์ม ใบแจ้งหนี้ ใบเสร็จรับเงิน และแหล่งข้อมูลที่ไม่มีโครงสร้างอื่นๆ ได้อย่างราบรื่น Sparrow โดดเด่นด้วยสถาปัตยกรรมแบบโมดูลาร์ โดยนำเสนอบริการและตัวแทนอิสระที่ได้รับการปรับแต่งเพื่อประสิทธิภาพที่แข็งแกร่ง หนึ่งในฟังก์ชันที่สำคัญของ Sparrow - สถาปัตยกรรมแบบเสียบปลั๊กได้ คุณสามารถรวมและรันไปป์ไลน์การแยกข้อมูลได้อย่างง่ายดายโดยใช้เครื่องมือและเฟรมเวิร์ก เช่น Sparrow Parse (พร้อมรองรับโมเดลภาษาวิชั่น) หรือผู้สอนที่ไม่มีโครงสร้าง Sparrow เปิดใช้งานไปป์ไลน์การแยกข้อมูล LLM ภายในผ่านแบ็กเอนด์ต่างๆ เช่น vLLM, Ollama, PyTorch หรือ Apple MLX Sparrow Parse ด้วยโมเดล VL สามารถทำงานได้ทั้งภายในองค์กรหรือดำเนินการอนุมานบน Cloud GPU ได้ ด้วยโซลูชัน Sparrow คุณจะได้รับ API ซึ่งช่วยในการประมวลผลและแปลงข้อมูลของคุณให้เป็นเอาต์พุตที่มีโครงสร้าง พร้อมที่จะผสานรวมกับเวิร์กโฟลว์แบบกำหนดเอง
Sparrow Agents - ด้วย 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
agent รัน VL LLM ภายในเครื่องด้วย MLX, Ollama หรือใช้ cloud GPU ตัวแทน instructor
กำลังใช้แบ็กเอนด์ของ Ollama ตรวจสอบให้แน่ใจว่าได้ดึงโมเดล LLM สำหรับ Ollama โดยใช้ชื่อที่ระบุใน config.yml เพื่อเรียกใช้ตัวแทน instructor
มีคุณสมบัติ PROTECTED_ACCESS: False
ใน config.yml เมื่อตั้งค่าเป็น False
sparrow_key
จะไม่ได้รับการยืนยันในการเรียก API มิฉะนั้นจะต้องระบุ sparrow-key
ที่ถูกต้องสำหรับการเรียก API
✅ ตัวแทน Sparrow Parse พร้อมแบ็กเอนด์ GPU บน 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 หลายหน้า ตัวอย่างการรันแบ็กเอนด์ GPU ส่วนตัว 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
agent เอเจนต์นี้รัน 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 หลายหน้าพร้อมแบ็กเอนด์ GPU ส่วนตัว 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 ซึ่งส่งเสริมเสรีภาพในการใช้ แก้ไข และแจกจ่ายซอฟต์แวร์ ในขณะเดียวกันก็รับประกันว่าการแก้ไขใด ๆ ยังคงเป็นโอเพ่นซอร์สภายใต้ลิขสิทธิ์เดียวกัน สิ่งนี้สอดคล้องกับความมุ่งมั่นของเราในการสนับสนุนชุมชนโอเพ่นซอร์สและส่งเสริมการทำงานร่วมกัน
นอกจากนี้เรายังตระหนักถึงความต้องการที่หลากหลายขององค์กร รวมถึงวิสาหกิจขนาดกลางและขนาดย่อม (SMEs) ดังนั้น Sparrow จึงเสนอให้ใช้งานเชิงพาณิชย์ฟรีสำหรับองค์กรที่มีรายได้รวมต่ำกว่า 5 ล้านดอลลาร์สหรัฐในช่วง 12 เดือนที่ผ่านมา ช่วยให้พวกเขาสามารถใช้ประโยชน์จาก Sparrow โดยไม่มีภาระทางการเงินซึ่งมักเกี่ยวข้องกับโซลูชันซอฟต์แวร์คุณภาพสูง
สำหรับธุรกิจที่เกินเกณฑ์รายได้นี้หรือต้องการเงื่อนไขการใช้งานที่ไม่รองรับตามใบอนุญาต GPL 3.0 เช่น การรวม Sparrow เข้ากับซอฟต์แวร์ที่เป็นกรรมสิทธิ์โดยไม่มีข้อผูกมัดในการเปิดเผยการแก้ไขซอร์สโค้ด เราเสนอตัวเลือกใบอนุญาตแบบคู่ การออกใบอนุญาตแบบคู่ทำให้ Sparrow สามารถใช้ภายใต้ใบอนุญาตที่เป็นกรรมสิทธิ์แยกต่างหาก ซึ่งให้ความยืดหยุ่นที่มากขึ้นสำหรับการใช้งานเชิงพาณิชย์และการบูรณาการที่เป็นกรรมสิทธิ์ โมเดลนี้สนับสนุนทั้งความยั่งยืนของโครงการและความต้องการของธุรกิจในการรักษาความลับและการปรับแต่ง
หากองค์กรของคุณต้องการใช้ Sparrow ภายใต้ลิขสิทธิ์เฉพาะ หรือหากคุณสนใจเวิร์กโฟลว์แบบกำหนดเอง บริการให้คำปรึกษา หรือตัวเลือกการสนับสนุนและการบำรุงรักษาโดยเฉพาะ โปรดติดต่อเราที่ [email protected] เราอยู่ที่นี่เพื่อมอบโซลูชันที่ปรับแต่งให้ตรงกับความต้องการเฉพาะของคุณ เพื่อให้มั่นใจว่าคุณจะสามารถใช้ประโยชน์สูงสุดจาก Sparrow สำหรับโครงการและขั้นตอนการทำงานของคุณ
คาตาน่า เอ็มแอล, อังเดร บารานอฟสกี้
ได้รับอนุญาตภายใต้ GPL 3.0 ลิขสิทธิ์ 2020-2024 Katana ML, Andrej Baranovskij สำเนาใบอนุญาต