|
11 | 11 | from gptscript.datasets import DatasetElementMeta, DatasetElement, DatasetMeta
|
12 | 12 | from gptscript.fileinfo import FileInfo
|
13 | 13 | from gptscript.frame import RunFrame, CallFrame, PromptFrame, Program
|
| 14 | +from gptscript.openai import Model |
14 | 15 | from gptscript.opts import GlobalOptions
|
15 | 16 | from gptscript.prompt import PromptResponse
|
16 | 17 | from gptscript.run import Run, RunBasicCommand, Options
|
@@ -164,16 +165,17 @@ async def _run_basic_command(self, sub_command: str, request_body: Any = None):
|
164 | 165 | async def version(self) -> str:
|
165 | 166 | return await self._run_basic_command("version")
|
166 | 167 |
|
167 |
| - async def list_models(self, providers: list[str] = None, credential_overrides: list[str] = None) -> list[str]: |
| 168 | + async def list_models(self, providers: list[str] = None, credential_overrides: list[str] = None) -> list[Model]: |
168 | 169 | if self.opts.DefaultModelProvider != "":
|
169 | 170 | if providers is None:
|
170 | 171 | providers = []
|
171 | 172 | providers.append(self.opts.DefaultModelProvider)
|
172 | 173 |
|
173 |
| - return (await self._run_basic_command( |
| 174 | + res = await self._run_basic_command( |
174 | 175 | "list-models",
|
175 | 176 | {"providers": providers, "credentialOverrides": credential_overrides}
|
176 |
| - )).split("\n") |
| 177 | + ) |
| 178 | + return [Model(**model) for model in json.loads(res)] |
177 | 179 |
|
178 | 180 | async def list_credentials(self, contexts: List[str] = None, all_contexts: bool = False) -> list[Credential] | str:
|
179 | 181 | if contexts is None:
|
|
0 commit comments