生成式AI開發套件是專門為各種生成式AI模型(如大型語言模型、嵌入模型、影像生成模型等),所設計的軟體工具集,通常會對應到使用的服務生態(平台)。簡單來說就是把API和服務調用等方式包成物件,來更方便在編程時使用。這些套件提供了一系列API和功能,使我們開發者能夠輕鬆與各種生程式AI模型互動,包含模型的調用、參數設定和輸出處裡等等。讓開發者能更專注於創新和應用,而不必過多關注底層實現細節。
這裡來介紹幾個主要的生成式AI開發套件:
OpenAI SDK: 是由OpenAI官方提供的開發套件,支援包含Python、NodeJS和近期推出Beta的.NET(C#),在OpenAI Platform上有非常豐富的資源和教程,而且除了OpenAI官方的API以外,也相容許多其他的平台,因此基本屬於領域的標竿了。
Azure AI Inference SDK: 由Microsoft Azure團隊所維護的Library,相容OpenAI和Azure OpenAI的API,支援的程式語言有Python, .NET, JS, Java和Go語言。
Boto3_bedrock: Boto3 是 AWS 的 Python SDK,讓我們能輕易使用代碼,就能透過API驅動AWS服務,其中包含了對Amazon Bedrock服務的支援,允許開發者通過代碼來驅動AWS的AI服務。
boto3.client('bedrock')
(連結): 可以用來建立、管理、微調和評估模型,比較屬於調適、部屬模型的階段boto3.client('bedrock-runtime')
(連結): 用來執行推理(Text-to-Text, Vision, Vector等生成),比較屬於與模型交互的階段boto3.client('bedrock-agent')
(連結): 算是蠻進階的功能,可以把Agent想像就是能執行Reasoning和Function Calling的LLM。但有別於我們一般使用的Reasoning和Function Calling,會在runtime和對話中實現該技術,而bedrock-agent只會回應最終結果,任何的處裡階段任務都在AWS的服務上執行,根據官方說法背後是使用AWS Lambda來執行工作。Anthropic SDK: 由Anthropic官方提供的開發套件,主要支援Python和JS,但事實上主要提供cURL事例,在開發套件中僅提供比較基礎的文字生成。
LangChain:可以參考 Day9 LangChain介紹
llamaindex
內容尚未完成...敬請期待