llm-gemini 0.14.1__py3-none-any.whl → 0.16__py3-none-any.whl
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.
- {llm_gemini-0.14.1.dist-info → llm_gemini-0.16.dist-info}/METADATA +20 -19
- llm_gemini-0.16.dist-info/RECORD +7 -0
- {llm_gemini-0.14.1.dist-info → llm_gemini-0.16.dist-info}/WHEEL +1 -1
- llm_gemini.py +35 -0
- llm_gemini-0.14.1.dist-info/RECORD +0 -7
- {llm_gemini-0.14.1.dist-info → llm_gemini-0.16.dist-info}/entry_points.txt +0 -0
- {llm_gemini-0.14.1.dist-info → llm_gemini-0.16.dist-info/licenses}/LICENSE +0 -0
- {llm_gemini-0.14.1.dist-info → llm_gemini-0.16.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.4
|
2
2
|
Name: llm-gemini
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.16
|
4
4
|
Summary: LLM plugin to access Google's Gemini family of models
|
5
5
|
Author: Simon Willison
|
6
6
|
License: Apache-2.0
|
@@ -19,6 +19,7 @@ Requires-Dist: pytest; extra == "test"
|
|
19
19
|
Requires-Dist: pytest-recording; extra == "test"
|
20
20
|
Requires-Dist: pytest-asyncio; extra == "test"
|
21
21
|
Requires-Dist: nest-asyncio; extra == "test"
|
22
|
+
Dynamic: license-file
|
22
23
|
|
23
24
|
# llm-gemini
|
24
25
|
|
@@ -46,32 +47,32 @@ llm keys set gemini
|
|
46
47
|
```
|
47
48
|
You can also set the API key by assigning it to the environment variable `LLM_GEMINI_KEY`.
|
48
49
|
|
49
|
-
Now run the model using `-m gemini-
|
50
|
+
Now run the model using `-m gemini-2.0-flash`, for example:
|
50
51
|
|
51
52
|
```bash
|
52
|
-
llm -m gemini-
|
53
|
+
llm -m gemini-2.0-flash "A short joke about a pelican and a walrus"
|
53
54
|
```
|
54
55
|
|
55
|
-
> A pelican
|
56
|
+
> A pelican and a walrus are sitting at a bar. The pelican orders a fishbowl cocktail, and the walrus orders a plate of clams. The bartender asks, "So, what brings you two together?"
|
56
57
|
>
|
57
|
-
>
|
58
|
-
>
|
59
|
-
> The pelican taps its beak thoughtfully. "I believe," it says, "it's a billfish."
|
58
|
+
> The walrus sighs and says, "It's a long story. Let's just say we met through a mutual friend... of the fin."
|
60
59
|
|
61
60
|
Other models are:
|
62
61
|
|
63
|
-
- `gemini-
|
64
|
-
- `
|
65
|
-
- `gemini-exp-1114` - recent experimental #1
|
66
|
-
- `gemini-exp-1121` - recent experimental #2
|
67
|
-
- `gemini-exp-1206` - recent experimental #3
|
68
|
-
- `gemini-2.0-flash-exp` - [Gemini 2.0 Flash](https://blog.google/technology/google-deepmind/google-gemini-ai-update-december-2024/#gemini-2-0-flash)
|
69
|
-
- `learnlm-1.5-pro-experimental` - "an experimental task-specific model that has been trained to align with learning science principles" - [more details here](https://ai.google.dev/gemini-api/docs/learnlm).
|
70
|
-
- `gemini-2.0-flash-thinking-exp-1219` - experimental "thinking" model from December 2024
|
71
|
-
- `gemini-2.0-flash-thinking-exp-01-21` - experimental "thinking" model from January 2025
|
72
|
-
- `gemini-2.0-flash` - Gemini 2.0 Flash
|
73
|
-
- `gemini-2.0-flash-lite` - Gemini 2.0 Flash-Lite
|
62
|
+
- `gemini-2.5-pro-exp-03-25` - experimental release of Gemini 2.5 Pro
|
63
|
+
- `gemma-3-27b-it` - [Gemma 3](https://blog.google/technology/developers/gemma-3/) 27B
|
74
64
|
- `gemini-2.0-pro-exp-02-05` - experimental release of Gemini 2.0 Pro
|
65
|
+
- `gemini-2.0-flash-lite` - Gemini 2.0 Flash-Lite
|
66
|
+
- `gemini-2.0-flash` - Gemini 2.0 Flash
|
67
|
+
- `gemini-2.0-flash-thinking-exp-01-21` - experimental "thinking" model from January 2025
|
68
|
+
- `gemini-2.0-flash-thinking-exp-1219` - experimental "thinking" model from December 2024
|
69
|
+
- `learnlm-1.5-pro-experimental` - "an experimental task-specific model that has been trained to align with learning science principles" - [more details here](https://ai.google.dev/gemini-api/docs/learnlm).
|
70
|
+
- `gemini-2.0-flash-exp` - [Gemini 2.0 Flash](https://blog.google/technology/google-deepmind/google-gemini-ai-update-december-2024/#gemini-2-0-flash)
|
71
|
+
- `gemini-exp-1206` - recent experimental #3
|
72
|
+
- `gemini-exp-1121` - recent experimental #2
|
73
|
+
- `gemini-exp-1114` - recent experimental #1
|
74
|
+
- `gemini-1.5-flash-8b-latest` - the least expensive
|
75
|
+
- `gemini-1.5-flash-latest`
|
75
76
|
|
76
77
|
### Images, audio and video
|
77
78
|
|
@@ -0,0 +1,7 @@
|
|
1
|
+
llm_gemini.py,sha256=GqrUhLIM3PxxrC3K6XNHy1cVcOCQfw44oL_36Cv7wug,16438
|
2
|
+
llm_gemini-0.16.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
3
|
+
llm_gemini-0.16.dist-info/METADATA,sha256=MVM2mmBLB1QhBVYClxvhnLKP1URrVFmk-9EyzoaEo1c,7725
|
4
|
+
llm_gemini-0.16.dist-info/WHEEL,sha256=DK49LOLCYiurdXXOXwGJm6U4DkHkg4lcxjhqwRa0CP4,91
|
5
|
+
llm_gemini-0.16.dist-info/entry_points.txt,sha256=n544bpgUPIBc5l_cnwsTxPc3gMGJHPtAyqBNp-CkMWk,26
|
6
|
+
llm_gemini-0.16.dist-info/top_level.txt,sha256=WUQmG6_2QKbT_8W4HH93qyKl_0SUteL4Ra6_PhyNGKU,11
|
7
|
+
llm_gemini-0.16.dist-info/RECORD,,
|
llm_gemini.py
CHANGED
@@ -1,6 +1,8 @@
|
|
1
|
+
import click
|
1
2
|
import copy
|
2
3
|
import httpx
|
3
4
|
import ijson
|
5
|
+
import json
|
4
6
|
import llm
|
5
7
|
from pydantic import Field
|
6
8
|
from typing import Optional
|
@@ -62,6 +64,10 @@ def register_models(register):
|
|
62
64
|
"gemini-2.0-pro-exp-02-05",
|
63
65
|
# Released 25th Feb 2025:
|
64
66
|
"gemini-2.0-flash-lite",
|
67
|
+
# Released 12th March 2025:
|
68
|
+
"gemma-3-27b-it",
|
69
|
+
# 25th March 2025:
|
70
|
+
"gemini-2.5-pro-exp-03-25",
|
65
71
|
]:
|
66
72
|
can_google_search = model_id in GOOGLE_SEARCH_MODELS
|
67
73
|
register(
|
@@ -437,3 +443,32 @@ class GeminiEmbeddingModel(llm.EmbeddingModel):
|
|
437
443
|
if self.truncate:
|
438
444
|
values = [value[: self.truncate] for value in values]
|
439
445
|
return values
|
446
|
+
|
447
|
+
|
448
|
+
@llm.hookimpl
|
449
|
+
def register_commands(cli):
|
450
|
+
@cli.group()
|
451
|
+
def gemini():
|
452
|
+
"Commands relating to the llm-gemini plugin"
|
453
|
+
|
454
|
+
@gemini.command()
|
455
|
+
@click.option("--key", help="API key to use")
|
456
|
+
def models(key):
|
457
|
+
"List of Gemini models pulled from their API"
|
458
|
+
key = llm.get_key(key, "gemini", "LLM_GEMINI_KEY")
|
459
|
+
response = httpx.get(
|
460
|
+
f"https://generativelanguage.googleapis.com/v1beta/models?key={key}",
|
461
|
+
)
|
462
|
+
response.raise_for_status()
|
463
|
+
click.echo(json.dumps(response.json()["models"], indent=2))
|
464
|
+
|
465
|
+
@gemini.command()
|
466
|
+
@click.option("--key", help="API key to use")
|
467
|
+
def files(key):
|
468
|
+
"List of files uploaded to the Gemini API"
|
469
|
+
key = llm.get_key(key, "gemini", "LLM_GEMINI_KEY")
|
470
|
+
response = httpx.get(
|
471
|
+
f"https://generativelanguage.googleapis.com/v1beta/files?key={key}",
|
472
|
+
)
|
473
|
+
response.raise_for_status()
|
474
|
+
click.echo(json.dumps(response.json()["files"], indent=2))
|
@@ -1,7 +0,0 @@
|
|
1
|
-
llm_gemini.py,sha256=eddn8U4kN2g9DOrotcKbyzNxGonR7XLiK7i_m7dgZ84,15296
|
2
|
-
llm_gemini-0.14.1.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
3
|
-
llm_gemini-0.14.1.dist-info/METADATA,sha256=jH04kG_VQYRVqjyVF2ZWHAWBqyxf-giSyX1NRO8ntss,7558
|
4
|
-
llm_gemini-0.14.1.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
|
5
|
-
llm_gemini-0.14.1.dist-info/entry_points.txt,sha256=n544bpgUPIBc5l_cnwsTxPc3gMGJHPtAyqBNp-CkMWk,26
|
6
|
-
llm_gemini-0.14.1.dist-info/top_level.txt,sha256=WUQmG6_2QKbT_8W4HH93qyKl_0SUteL4Ra6_PhyNGKU,11
|
7
|
-
llm_gemini-0.14.1.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|