請啟用 JavaScript 來查看內容

LiteLLM 串接需要 API Key 身分驗證的 Ollama API

    前言

    上一篇我們為 Ollama 加了身份驗證,以提升安全性。

    不過因為我有在使用 LiteLLM Proxy Server,需要為 LiteLLM 連 Ollama 時加上 API Key,但遇到了一些問題,最終改使用 Ollama 的 OpenAI 相容格式 去串接成功~👍

    * 延伸閱讀: 透過 Nginx 為 Ollama 加上 API Key 身分驗證,提升安全性


    也藉此記錄下來,供需要的讀者參考~


    LiteLLM AI Gateway (LLM Proxy) 可以讓使用者透過統一介面呼叫不同的 API,並且可追蹤支出、Log 紀錄、為每個虛擬 API Key/使用者設定預算、負載平衡……等等功能。
    如果是像公司、團體內,要提供不同 LLM API 給其他人使用,LiteLLM 或許是個不錯的工具。



    設定 LiteLLM Config

    需要為 LiteLLM 連 Ollama 時加上 API Key。

    * 以下是在 config.yaml 內設定。


    原本我想說簡單,在 config.yaml 裡加上 api_key 欄位就行,但試了幾次發現 api_key 不會被帶上 (從 LiteLLM 的 source code 查也確實在連 Ollama 時不會帶上 api_key)。

    後來我想到 Ollama 也支援 OpenAI API 相容格式 ,或許 LiteLLM 改使用 OpenAI 格式去串接我的 Ollama 可行。
    經過實測,確實 OK~

    model_list:
      - model_name: gpt-oss:20b
        litellm_params:
          model: openai/gpt-oss:20b
          api_base: "http://abc.com:11434/v1"
          api_key: "sk-123456"
    

    也可以將 api_base 和 api_key 設定移到環境變數,並透過以下方式帶入:

    model_list:
      - model_name: gpt-oss:20b
        litellm_params:
          model: openai/gpt-oss:20b
          api_base: "os.environ/OLLAMA_API_BASE"
          api_key: "os.environ/OLLAMA_API_KEY"
    

    環境變數像我使用 K8S 就如下設定:

    env:
    - name: OLLAMA_API_BASE
      value: 'http://abc.com:11434/v1'
    - name: OLLAMA_API_KEY
      value: sk-123456
    


    結語

    有遇到同樣問題的讀者,可以參考我的作法~


    對生成式 AI 感興趣的讀者,記得追蹤 FB 粉專『 IT空間 』,以免錯過最新的發文通知呦~🔔




    參考:
    LiteLLM | GitHub
    LiteLLM 官方文件


    成功路上並不擁擠,因為堅持的人不多。


    🔻 如果覺得喜歡,歡迎在下方獎勵我 5 個讚~
    分享

    Jia
    作者
    Jia
    軟體工程師 - Software Engineer