lyceum-cli 1.0.18__tar.gz → 1.0.20__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {lyceum_cli-1.0.18 → lyceum_cli-1.0.20}/PKG-INFO +1 -1
- {lyceum_cli-1.0.18 → lyceum_cli-1.0.20}/lyceum/external/compute/inference/chat.py +18 -12
- {lyceum_cli-1.0.18 → lyceum_cli-1.0.20}/lyceum_cli.egg-info/PKG-INFO +1 -1
- {lyceum_cli-1.0.18 → lyceum_cli-1.0.20}/setup.py +1 -1
- {lyceum_cli-1.0.18 → lyceum_cli-1.0.20}/lyceum/__init__.py +0 -0
- {lyceum_cli-1.0.18 → lyceum_cli-1.0.20}/lyceum/external/__init__.py +0 -0
- {lyceum_cli-1.0.18 → lyceum_cli-1.0.20}/lyceum/external/auth/__init__.py +0 -0
- {lyceum_cli-1.0.18 → lyceum_cli-1.0.20}/lyceum/external/auth/login.py +0 -0
- {lyceum_cli-1.0.18 → lyceum_cli-1.0.20}/lyceum/external/compute/__init__.py +0 -0
- {lyceum_cli-1.0.18 → lyceum_cli-1.0.20}/lyceum/external/compute/execution/__init__.py +0 -0
- {lyceum_cli-1.0.18 → lyceum_cli-1.0.20}/lyceum/external/compute/execution/python.py +0 -0
- {lyceum_cli-1.0.18 → lyceum_cli-1.0.20}/lyceum/external/compute/inference/__init__.py +0 -0
- {lyceum_cli-1.0.18 → lyceum_cli-1.0.20}/lyceum/external/compute/inference/batch.py +0 -0
- {lyceum_cli-1.0.18 → lyceum_cli-1.0.20}/lyceum/external/compute/inference/models.py +0 -0
- {lyceum_cli-1.0.18 → lyceum_cli-1.0.20}/lyceum/external/general/__init__.py +0 -0
- {lyceum_cli-1.0.18 → lyceum_cli-1.0.20}/lyceum/main.py +0 -0
- {lyceum_cli-1.0.18 → lyceum_cli-1.0.20}/lyceum/shared/__init__.py +0 -0
- {lyceum_cli-1.0.18 → lyceum_cli-1.0.20}/lyceum/shared/config.py +0 -0
- {lyceum_cli-1.0.18 → lyceum_cli-1.0.20}/lyceum/shared/display.py +0 -0
- {lyceum_cli-1.0.18 → lyceum_cli-1.0.20}/lyceum/shared/streaming.py +0 -0
- {lyceum_cli-1.0.18 → lyceum_cli-1.0.20}/lyceum_cli.egg-info/SOURCES.txt +0 -0
- {lyceum_cli-1.0.18 → lyceum_cli-1.0.20}/lyceum_cli.egg-info/dependency_links.txt +0 -0
- {lyceum_cli-1.0.18 → lyceum_cli-1.0.20}/lyceum_cli.egg-info/entry_points.txt +0 -0
- {lyceum_cli-1.0.18 → lyceum_cli-1.0.20}/lyceum_cli.egg-info/requires.txt +0 -0
- {lyceum_cli-1.0.18 → lyceum_cli-1.0.20}/lyceum_cli.egg-info/top_level.txt +0 -0
- {lyceum_cli-1.0.18 → lyceum_cli-1.0.20}/lyceum_cloud_execution_api_client/__init__.py +0 -0
- {lyceum_cli-1.0.18 → lyceum_cli-1.0.20}/lyceum_cloud_execution_api_client/api/__init__.py +0 -0
- {lyceum_cli-1.0.18 → lyceum_cli-1.0.20}/lyceum_cloud_execution_api_client/models/__init__.py +0 -0
- {lyceum_cli-1.0.18 → lyceum_cli-1.0.20}/setup.cfg +0 -0
|
@@ -170,11 +170,12 @@ def analyze_image(
|
|
|
170
170
|
image_url: str = typer.Argument(..., help="URL of image to analyze"),
|
|
171
171
|
prompt: str = typer.Option("What do you see in this image?", "--prompt", "-p", help="Question about the image"),
|
|
172
172
|
model: str = typer.Option("gpt-4-vision", "--model", "-m", help="Vision model to use"),
|
|
173
|
+
raw_output: bool = typer.Option(False, "--raw", help="Return full model response instead of just content"),
|
|
173
174
|
):
|
|
174
175
|
"""Analyze an image with AI vision models"""
|
|
175
176
|
try:
|
|
176
177
|
client = config.get_client()
|
|
177
|
-
|
|
178
|
+
|
|
178
179
|
# Create request payload for image analysis
|
|
179
180
|
sync_request = {
|
|
180
181
|
"model_id": model,
|
|
@@ -183,16 +184,17 @@ def analyze_image(
|
|
|
183
184
|
"image_url": image_url
|
|
184
185
|
},
|
|
185
186
|
"max_tokens": 1000,
|
|
186
|
-
"temperature": 0.7
|
|
187
|
+
"temperature": 0.7,
|
|
188
|
+
"raw_output": raw_output
|
|
187
189
|
}
|
|
188
|
-
|
|
190
|
+
|
|
189
191
|
console.print(f"[dim]👁️ Analyzing image with {model}...[/dim]")
|
|
190
|
-
|
|
192
|
+
|
|
191
193
|
import httpx
|
|
192
|
-
|
|
194
|
+
|
|
193
195
|
url = f"{config.base_url}/api/v2/external/sync/"
|
|
194
196
|
headers = {"Authorization": f"Bearer {config.api_key}", "Content-Type": "application/json"}
|
|
195
|
-
|
|
197
|
+
|
|
196
198
|
with httpx.Client() as http_client:
|
|
197
199
|
response = http_client.post(
|
|
198
200
|
url,
|
|
@@ -200,13 +202,17 @@ def analyze_image(
|
|
|
200
202
|
headers=headers,
|
|
201
203
|
timeout=60.0
|
|
202
204
|
)
|
|
203
|
-
|
|
205
|
+
|
|
204
206
|
if response.status_code == 200:
|
|
205
207
|
result = response.json()
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
208
|
+
|
|
209
|
+
if raw_output:
|
|
210
|
+
console.print(f"[green]✅ Raw Response:[/green]")
|
|
211
|
+
console.print(json.dumps(result.get('raw_response', result['output']), indent=2))
|
|
212
|
+
else:
|
|
213
|
+
console.print(f"[green]✅ Image Analysis:[/green]")
|
|
214
|
+
console.print(f"[cyan]{result['output']}[/cyan]")
|
|
215
|
+
|
|
210
216
|
elif response.status_code == 503:
|
|
211
217
|
console.print(f"[red]❌ Vision model {model} is not running.[/red]")
|
|
212
218
|
raise typer.Exit(1)
|
|
@@ -214,7 +220,7 @@ def analyze_image(
|
|
|
214
220
|
console.print(f"[red]❌ Error: HTTP {response.status_code}[/red]")
|
|
215
221
|
console.print(f"[red]{response.text}[/red]")
|
|
216
222
|
raise typer.Exit(1)
|
|
217
|
-
|
|
223
|
+
|
|
218
224
|
except Exception as e:
|
|
219
225
|
console.print(f"[red]❌ Error: {e}[/red]")
|
|
220
226
|
raise typer.Exit(1)
|
|
@@ -15,7 +15,7 @@ if readme_file.exists():
|
|
|
15
15
|
|
|
16
16
|
setup(
|
|
17
17
|
name="lyceum-cli",
|
|
18
|
-
version="1.0.
|
|
18
|
+
version="1.0.20",
|
|
19
19
|
description="Command-line interface for Lyceum Cloud Execution API",
|
|
20
20
|
long_description=long_description,
|
|
21
21
|
long_description_content_type="text/markdown",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lyceum_cli-1.0.18 → lyceum_cli-1.0.20}/lyceum_cloud_execution_api_client/models/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|