- สร้าง API การอนุมานโมเดลและระบบการให้บริการหลายโมเดลด้วยโมเดล AI แบบโอเพ่นซอร์สหรือแบบกำหนดเอง เข้าร่วมชุมชน Slack ของเรา!
BentoML เป็นไลบรารี Python สำหรับสร้างระบบการให้บริการออนไลน์ที่ปรับให้เหมาะกับแอป AI และการอนุมานโมเดล
ติดตั้ง BentoML:
# Requires Python≥3.9
pip install -U bentoml
กำหนด API ในไฟล์ service.py
from __future__ import annotations
import bentoml
@ bentoml . service (
resources = { "cpu" : "4" }
)
class Summarization :
def __init__ ( self ) -> None :
import torch
from transformers import pipeline
device = "cuda" if torch . cuda . is_available () else "cpu"
self . pipeline = pipeline ( 'summarization' , device = device )
@ bentoml . api ( batchable = True )
def summarize ( self , texts : list [ str ]) -> list [ str ]:
results = self . pipeline ( texts )
return [ item [ 'summary_text' ] for item in results ]
เรียกใช้รหัสบริการในเครื่อง (ให้บริการที่ http://localhost:3000 โดยค่าเริ่มต้น):
pip install torch transformers # additional dependencies for local run
bentoml serve service.py:Summarization
ตอนนี้คุณสามารถเรียกใช้การอนุมานจากเบราว์เซอร์ของคุณที่ http://localhost:3000 หรือด้วยสคริปต์ Python:
import bentoml
with bentoml . SyncHTTPClient ( 'http://localhost:3000' ) as client :
summarized_text : str = client . summarize ([ bentoml . __doc__ ])[ 0 ]
print ( f"Result: { summarized_text } " )
หากต้องการปรับใช้โค้ดบริการ BentoML ขั้นแรกให้สร้างไฟล์ bentofile.yaml
เพื่อกำหนดการขึ้นต่อกันและสภาพแวดล้อม ค้นหารายการตัวเลือกเบนโทไฟล์ทั้งหมดได้ที่นี่
service : ' service:Summarization ' # Entry service import path
include :
- ' *.py ' # Include all .py files in current directory
python :
packages : # Python dependencies to include
- torch
- transformers
docker :
python_version : " 3.11 "
จากนั้นเลือกวิธีใดวิธีหนึ่งต่อไปนี้สำหรับการปรับใช้:
เรียกใช้ bentoml build
เพื่อจัดทำแพ็คเกจโค้ด โมเดล และการกำหนดค่าการพึ่งพาที่จำเป็นลงใน Bento ซึ่งเป็นส่วนที่ทำให้ปรับใช้ได้มาตรฐานใน BentoML:
bentoml build
ตรวจสอบให้แน่ใจว่า Docker กำลังทำงานอยู่ สร้างอิมเมจคอนเทนเนอร์ Docker สำหรับการปรับใช้:
bentoml containerize summarization:latest
เรียกใช้อิมเมจที่สร้างขึ้น:
docker run --rm -p 3000:3000 summarization:latest
BentoCloud มอบโครงสร้างพื้นฐานการประมวลผลเพื่อการนำ GenAI ไปใช้อย่างรวดเร็วและเชื่อถือได้ ช่วยเร่งกระบวนการพัฒนา BentoML ของคุณโดยใช้ประโยชน์จากทรัพยากรการประมวลผลบนคลาวด์ และลดความซับซ้อนของวิธีการปรับใช้ ปรับขนาด และใช้งาน BentoML ในการผลิต
ลงทะเบียน BentoCloud เพื่อการเข้าถึงส่วนบุคคล สำหรับกรณีใช้งานระดับองค์กร โปรดติดต่อทีมงานของเรา
# After signup, run the following command to create an API token:
bentoml cloud login
# Deploy from current directory:
bentoml deploy .
สำหรับคำอธิบายโดยละเอียด โปรดอ่านตัวอย่าง Hello World
ตรวจสอบรายการทั้งหมดเพื่อดูโค้ดตัวอย่างและการใช้งานเพิ่มเติม
ดูเอกสารประกอบสำหรับบทช่วยสอนและคำแนะนำเพิ่มเติม
มีส่วนร่วมและเข้าร่วม Community Slack ของเรา ซึ่งวิศวกร AI/ML หลายพันคนช่วยเหลือซึ่งกันและกัน มีส่วนร่วมในโครงการ และพูดคุยเกี่ยวกับการสร้างผลิตภัณฑ์ AI
หากต้องการรายงานจุดบกพร่องหรือแนะนำคำขอคุณลักษณะ ให้ใช้ GitHub Issues
มีหลายวิธีในการมีส่วนร่วมในโครงการ:
#bentoml-contributors
ที่นี่ขอขอบคุณผู้มีส่วนร่วมที่น่าทึ่งของเราทุกคน!
กรอบงาน BentoML รวบรวมข้อมูลการใช้งานที่ไม่ระบุชื่อซึ่งช่วยให้ชุมชนของเราปรับปรุงผลิตภัณฑ์ มีการรายงานเฉพาะการเรียก API ภายในของ BentoML เท่านั้น ซึ่งไม่รวมข้อมูลที่ละเอียดอ่อนใดๆ เช่น รหัสผู้ใช้ ข้อมูลโมเดล ชื่อโมเดล หรือการติดตามสแต็ก นี่คือรหัสที่ใช้สำหรับการติดตามการใช้งาน คุณสามารถยกเลิกการติดตามการใช้งานได้โดยตัวเลือก --do-not-track
CLI:
bentoml [command] --do-not-track
หรือโดยการตั้งค่าตัวแปรสภาพแวดล้อม:
export BENTOML_DO_NOT_TRACK=True
ใบอนุญาต Apache 2.0