開發個人Ollama-Chat–6 OpenUI
Open-webui
Open WebUI 是一種可擴展、功能豐富且用戶友好的自托管 WebUI,旨在完全離線運行。它支持各種 LLM 運行器,包括 Ollama
和 OpenAI
兼容的 API。
功能
由于總所周知的原由,OpenAI 的接口需要密鑰才能使用,然后中國區是無法正常申請到密鑰的,所以 OpenAI
和 liteLLM
需要巧妙的跳過。
例如在 model
相關接口時,需要在前端主動屏蔽掉,防止其他頁面無法正常加載。
const getModels = async () => {let models = await Promise.all([await getOllamaModels(localStorage.token).catch((error) => {console.log(error);return null;}),// await getOpenAIModels(localStorage.token).catch((error) => {// console.log(error);// return null;// }),// await getLiteLLMModels(localStorage.token).catch((error) => {// console.log(error);// return null;// })]);models = models.filter((models) => models).reduce((a, e, i, arr) => a.concat(e, ...(i < arr.length - 1 ? [{ name: 'hr' }] : [])), []);return models;};
本項目主要涉及 openwebui-backend-go
的開發與部署,不會對 前端
服務進行深入的講解。后續Open-webui
的頁面,涉及到 OpenAI
和 liteLLM
時,可以直接屏蔽掉,防止其他頁面無法正常加載。
項目地址
jackwillsmith/openui-svelte-build (github.com)
GitHub - jackwillsmith/openui-backend-go: openui-backend-go