abetlen/llama-cpp-python
Python bindings for llama.cpp
解決的問題
它提供了一種在 Python 中使用 llama.cpp 函式庫的方法,允許開發人員以高性能和極低的開銷在本地執行大型語言模型 (LLM)。它彌合了 llama.cpp 的底層 C++ 實作與 Python 的高層靈活性之間的鴻溝。
工作原理
該專案使用 ctypes 介面進行底層存取,為 llama.cpp 建立 Python 綁定。它提供了一個用於管理模型載入和文本生成的更高級別 Llama 類別。它支援各種硬體加速後端(如 CUDA、Metal、Vulkan 和 ROCm)以加速推論,並可以直接從 Hugging Face Hub 下載 GGUF 格式的模型。
適用對象
想要將本地 LLM 推論整合到其應用程式中的 Python 開發人員,以及正在尋找用於文本、聊天和視覺任務的 OpenAI 相容本地伺服器的使用者。
亮點
- OpenAI 相容性:包含模仿 OpenAI API 的高階 API 和 Web 伺服器,使其成為許多現有工具的即插即用替代方案。
- 廣泛的硬體支援:支援包括 NVIDIA (CUDA)、Apple Silicon (Metal)、AMD (ROCm) 和 Vulkan 在內的廣泛加速後端。
- 結構化輸出:支援 JSON 模式和 JSON Schema 模式,以將模型回應限制在特定格式。
- 多模態能力:支援視覺語言模型(如 Llava 和 Moondream),用於處理文本和圖像。
- 生態系統整合:與 LangChain 和 LlamaIndex 等流行框架相容。
相關
- 專案
- Dispatch
- 專案
- 專案
- 專案