利用 Spring AI 和 Ollama 的強大功能,免費使用 45k 個 Hugging Face 模型

工程 | Christian Tzolov | 2024 年 10 月 22 日 | ...

這篇博文由我們偉大的貢獻者 Thomas Vitale 共同撰寫。

Ollama 現在支援來自 Hugging Face 的所有 GGUF 模型,允許透過 Spring AI 的 Ollama 整合訪問超過 45,000 個社群建立的模型,可以在本地執行。

spring-ai-ollama-huggingface-gguf2

我們將探討如何使用 Spring AI 的這一新功能。 Spring AI Ollama 整合可以自動提取聊天完成和嵌入模型不可用的模型。這在切換模型或部署到新環境時非常有用。

使用 Ollama 設定 Spring AI

在您的系統上安裝 Ollama: https://ollama.com/download.

提示:Spring AI 還支援 透過 Testcontainers 執行 Ollama 或透過 Kubernetes 服務繫結 與外部 Ollama 服務整合。

按照 依賴管理 指南,將 Spring AI BOM 和 Spring AI Ollama boot starter 新增到專案的 Maven pom.xml 檔案或 Gradle build.gradle 檔案中。

Maven

<dependency>
   <groupId>org.springframework.ai</groupId>
   <artifactId>spring-ai-ollama-spring-boot-starter</artifactId>
</dependency>

Gradle

implementation 'org.springframework.ai:spring-ai-ollama-spring-boot-starter'

將以下屬性新增到您的 application.properties 檔案

spring.ai.ollama.chat.options.model=hf.co/bartowski/gemma-2-2b-it-GGUF
spring.ai.ollama.init.pull-model-strategy=always
  • spring.ai.ollama.chat.options.model:指定要使用的 Hugging Face GGUF 模型,使用格式:hf.co/{username}/{repository}
  • spring.ai.ollama.init.pull-model-strategy=always:啟用啟動時自動模型拉取。 對於生產環境,您應該預先下載模型以避免延遲:ollama pull hf.co/bartowski/gemma-2-2b-it-GGUF

注意自動拉取 在 Spring AI 1.0.0-SNAPSHOT 和即將釋出的 M4 版本中可用。 對於 M3,預先下載模型 (ollama pull hf.co/{username}/{repository})。

如果不需要,您可以停用嵌入自動配置:spring.ai.ollama.embedding.enabled=false。 否則,如果本地不可用,Spring AI 將拉取 mxbai-embed-large 嵌入模型。

使用示例

將配置的 Hugging Face 模型與 Spring AI 結合使用非常簡單,並且與其他任何 Spring AI 模型提供程式的使用方式沒有不同。 這是一個簡單的例子

@Bean
public CommandLineRunner run(ChatClient.Builder builder) {
  var chatClient = builder.build();
  return args -> {
    var response = chatClient
        .prompt("Tell me a joke")
        .call()
        .content();
    logger.info("Answer: " + response);
  };
}

參考

結論

Ollama 對 Hugging Face GGUF 模型的支援與 Spring AI 的整合為開發人員開啟了無限可能。

我們鼓勵您探索 Hugging Face 上的大量模型集合,並在您的 Spring AI 專案中嘗試不同的模型。 無論您是構建高階自然語言理解系統、創意寫作工具還是複雜的分析應用程式,Spring AI 和 Ollama 都提供了靈活性,可以輕鬆地利用這些強大的模型。

請記住及時瞭解 Spring AI 和 Ollama 的最新進展,因為該領域正在迅速發展。 祝您編碼愉快!

獲取 Spring 新聞通訊

與 Spring 新聞通訊保持聯絡

訂閱

搶佔先機

VMware 提供培訓和認證,以加速您的進步。

瞭解更多

獲得支援

Tanzu Spring 在一個簡單的訂閱中提供對 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位制檔案。

瞭解更多

即將舉行的活動

檢視 Spring 社群中所有即將舉行的活動。

檢視全部