mirror of
https://github.com/ollama/ollama-python.git
synced 2026-01-14 06:07:17 +08:00
create api
This commit is contained in:
parent
ee349ecc6d
commit
427b0c6291
@ -476,10 +476,16 @@ class Client(BaseClient):
|
|||||||
def create(
|
def create(
|
||||||
self,
|
self,
|
||||||
model: str,
|
model: str,
|
||||||
path: Optional[Union[str, PathLike]] = None,
|
|
||||||
modelfile: Optional[str] = None,
|
|
||||||
*,
|
|
||||||
quantize: Optional[str] = None,
|
quantize: Optional[str] = None,
|
||||||
|
from_: Optional[str] = None,
|
||||||
|
files: Optional[dict[str, str]] = None,
|
||||||
|
adapters: Optional[dict[str, str]] = None,
|
||||||
|
template: Optional[str] = None,
|
||||||
|
license: Optional[Union[str, list[str]]] = None,
|
||||||
|
system: Optional[str] = None,
|
||||||
|
parameters: Optional[Union[Mapping[str, Any], Options]] = None,
|
||||||
|
messages: Optional[Sequence[Union[Mapping[str, Any], Message]]] = None,
|
||||||
|
*,
|
||||||
stream: Literal[False] = False,
|
stream: Literal[False] = False,
|
||||||
) -> ProgressResponse: ...
|
) -> ProgressResponse: ...
|
||||||
|
|
||||||
@ -487,20 +493,32 @@ class Client(BaseClient):
|
|||||||
def create(
|
def create(
|
||||||
self,
|
self,
|
||||||
model: str,
|
model: str,
|
||||||
path: Optional[Union[str, PathLike]] = None,
|
|
||||||
modelfile: Optional[str] = None,
|
|
||||||
*,
|
|
||||||
quantize: Optional[str] = None,
|
quantize: Optional[str] = None,
|
||||||
|
from_: Optional[str] = None,
|
||||||
|
files: Optional[dict[str, str]] = None,
|
||||||
|
adapters: Optional[dict[str, str]] = None,
|
||||||
|
template: Optional[str] = None,
|
||||||
|
license: Optional[Union[str, list[str]]] = None,
|
||||||
|
system: Optional[str] = None,
|
||||||
|
parameters: Optional[Union[Mapping[str, Any], Options]] = None,
|
||||||
|
messages: Optional[Sequence[Union[Mapping[str, Any], Message]]] = None,
|
||||||
|
*,
|
||||||
stream: Literal[True] = True,
|
stream: Literal[True] = True,
|
||||||
) -> Iterator[ProgressResponse]: ...
|
) -> Iterator[ProgressResponse]: ...
|
||||||
|
|
||||||
def create(
|
def create(
|
||||||
self,
|
self,
|
||||||
model: str,
|
model: str,
|
||||||
path: Optional[Union[str, PathLike]] = None,
|
|
||||||
modelfile: Optional[str] = None,
|
|
||||||
*,
|
|
||||||
quantize: Optional[str] = None,
|
quantize: Optional[str] = None,
|
||||||
|
from_: Optional[str] = None,
|
||||||
|
files: Optional[dict[str, str]] = None,
|
||||||
|
adapters: Optional[dict[str, str]] = None,
|
||||||
|
template: Optional[str] = None,
|
||||||
|
license: Optional[Union[str, list[str]]] = None,
|
||||||
|
system: Optional[str] = None,
|
||||||
|
parameters: Optional[Union[Mapping[str, Any], Options]] = None,
|
||||||
|
messages: Optional[Sequence[Union[Mapping[str, Any], Message]]] = None,
|
||||||
|
*,
|
||||||
stream: bool = False,
|
stream: bool = False,
|
||||||
) -> Union[ProgressResponse, Iterator[ProgressResponse]]:
|
) -> Union[ProgressResponse, Iterator[ProgressResponse]]:
|
||||||
"""
|
"""
|
||||||
@ -508,12 +526,8 @@ class Client(BaseClient):
|
|||||||
|
|
||||||
Returns `ProgressResponse` if `stream` is `False`, otherwise returns a `ProgressResponse` generator.
|
Returns `ProgressResponse` if `stream` is `False`, otherwise returns a `ProgressResponse` generator.
|
||||||
"""
|
"""
|
||||||
if (realpath := _as_path(path)) and realpath.exists():
|
#if from_ == None and files == None:
|
||||||
modelfile = self._parse_modelfile(realpath.read_text(), base=realpath.parent)
|
# raise RequestError('neither ''from'' or ''files'' was specified')
|
||||||
elif modelfile:
|
|
||||||
modelfile = self._parse_modelfile(modelfile)
|
|
||||||
else:
|
|
||||||
raise RequestError('must provide either path or modelfile')
|
|
||||||
|
|
||||||
return self._request(
|
return self._request(
|
||||||
ProgressResponse,
|
ProgressResponse,
|
||||||
@ -521,9 +535,15 @@ class Client(BaseClient):
|
|||||||
'/api/create',
|
'/api/create',
|
||||||
json=CreateRequest(
|
json=CreateRequest(
|
||||||
model=model,
|
model=model,
|
||||||
modelfile=modelfile,
|
|
||||||
stream=stream,
|
stream=stream,
|
||||||
quantize=quantize,
|
quantize=quantize,
|
||||||
|
from_=from_,
|
||||||
|
files=files,
|
||||||
|
adapters=adapters,
|
||||||
|
license=license,
|
||||||
|
system=system,
|
||||||
|
parameters=parameters,
|
||||||
|
messages=messages,
|
||||||
).model_dump(exclude_none=True),
|
).model_dump(exclude_none=True),
|
||||||
stream=stream,
|
stream=stream,
|
||||||
)
|
)
|
||||||
|
|||||||
@ -404,10 +404,15 @@ class CreateRequest(BaseStreamableRequest):
|
|||||||
"""
|
"""
|
||||||
Request to create a new model.
|
Request to create a new model.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
modelfile: Optional[str] = None
|
|
||||||
|
|
||||||
quantize: Optional[str] = None
|
quantize: Optional[str] = None
|
||||||
|
from_: Optional[str] = None
|
||||||
|
files: Optional[dict[str, str]] = None
|
||||||
|
adapters: Optional[dict[str, str]] = None
|
||||||
|
template: Optional[str] = None
|
||||||
|
license: Optional[Union[str, list[str]]] = None
|
||||||
|
system: Optional[str] = None
|
||||||
|
parameters: Optional[Union[Mapping[str, Any], Options]] = None
|
||||||
|
messages: Optional[Sequence[Union[Mapping[str, Any], Message]]] = None
|
||||||
|
|
||||||
|
|
||||||
class ModelDetails(SubscriptableBaseModel):
|
class ModelDetails(SubscriptableBaseModel):
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user