|
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