mirror of
https://github.com/open-webui/open-webui
synced 2025-03-04 11:29:59 +00:00
enh: new ollama create model method
This commit is contained in:
parent
8380d3f5ae
commit
f4b5039adf
@ -551,11 +551,12 @@ async def push_model(
|
|||||||
|
|
||||||
|
|
||||||
class CreateModelForm(BaseModel):
|
class CreateModelForm(BaseModel):
|
||||||
name: str
|
model: Optional[str] = None
|
||||||
modelfile: Optional[str] = None
|
|
||||||
stream: Optional[bool] = None
|
stream: Optional[bool] = None
|
||||||
path: Optional[str] = None
|
path: Optional[str] = None
|
||||||
|
|
||||||
|
model_config = ConfigDict(extra="allow")
|
||||||
|
|
||||||
|
|
||||||
@router.post("/api/create")
|
@router.post("/api/create")
|
||||||
@router.post("/api/create/{url_idx}")
|
@router.post("/api/create/{url_idx}")
|
||||||
|
@ -44,7 +44,8 @@
|
|||||||
let modelTag = '';
|
let modelTag = '';
|
||||||
|
|
||||||
let createModelLoading = false;
|
let createModelLoading = false;
|
||||||
let createModelObject = {};
|
let createModelName = '';
|
||||||
|
let createModelObject = '';
|
||||||
|
|
||||||
let createModelDigest = '';
|
let createModelDigest = '';
|
||||||
let createModelPullProgress = null;
|
let createModelPullProgress = null;
|
||||||
@ -428,7 +429,24 @@
|
|||||||
const createModelHandler = async () => {
|
const createModelHandler = async () => {
|
||||||
createModelLoading = true;
|
createModelLoading = true;
|
||||||
|
|
||||||
const res = await createModel(localStorage.token, createModelObject, urlIdx).catch((error) => {
|
let modelObject = {};
|
||||||
|
// parse createModelObject
|
||||||
|
try {
|
||||||
|
modelObject = JSON.parse(createModelObject);
|
||||||
|
} catch (error) {
|
||||||
|
toast.error(`${error}`);
|
||||||
|
createModelLoading = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const res = await createModel(
|
||||||
|
localStorage.token,
|
||||||
|
{
|
||||||
|
model: createModelName,
|
||||||
|
...modelObject
|
||||||
|
},
|
||||||
|
urlIdx
|
||||||
|
).catch((error) => {
|
||||||
toast.error(`${error}`);
|
toast.error(`${error}`);
|
||||||
return null;
|
return null;
|
||||||
});
|
});
|
||||||
@ -492,7 +510,8 @@
|
|||||||
|
|
||||||
createModelLoading = false;
|
createModelLoading = false;
|
||||||
|
|
||||||
createModelObject = {};
|
createModelName = '';
|
||||||
|
createModelObject = '';
|
||||||
createModelDigest = '';
|
createModelDigest = '';
|
||||||
createModelPullProgress = null;
|
createModelPullProgress = null;
|
||||||
};
|
};
|
||||||
@ -746,15 +765,15 @@
|
|||||||
placeholder={$i18n.t('Enter model tag (e.g. {{modelTag}})', {
|
placeholder={$i18n.t('Enter model tag (e.g. {{modelTag}})', {
|
||||||
modelTag: 'my-modelfile'
|
modelTag: 'my-modelfile'
|
||||||
})}
|
})}
|
||||||
bind:value={createModelObject.model}
|
bind:value={createModelName}
|
||||||
disabled={createModelLoading}
|
disabled={createModelLoading}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<textarea
|
<textarea
|
||||||
bind:value={createModelObject.content}
|
bind:value={createModelObject}
|
||||||
class="w-full rounded-lg py-2 px-4 text-sm bg-gray-50 dark:text-gray-100 dark:bg-gray-850 outline-none resize-none scrollbar-hidden"
|
class="w-full rounded-lg py-2 px-4 text-sm bg-gray-50 dark:text-gray-100 dark:bg-gray-850 outline-none resize-none scrollbar-hidden"
|
||||||
rows="6"
|
rows="6"
|
||||||
placeholder={`TEMPLATE """{{ .System }}\nUSER: {{ .Prompt }}\nASSISTANT: """\nPARAMETER num_ctx 4096\nPARAMETER stop "</s>"\nPARAMETER stop "USER:"\nPARAMETER stop "ASSISTANT:"`}
|
placeholder={`e.g. {"model": "my-modelfile", "from": "ollama:7b"})`}
|
||||||
disabled={createModelLoading}
|
disabled={createModelLoading}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
Reference in New Issue
Block a user