开发个人Go-ChatGPT–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