Commit graph

189 commits

Author SHA1 Message Date
Simon Willison
213e0b0c75 embed-db delete-collection command and .delete() method, closes #219 2023-09-03 12:55:48 -07:00
Simon Willison
a5d6b580ba Store content_hash in embeddings table, refs #217
Uses new migrations feature from https://github.com/simonw/sqlite-migrate/issues/9
2023-09-03 10:50:51 -07:00
Simon Willison
26332045dd llm embed --metadata option, closes #209 2023-09-03 07:43:23 -07:00
Simon Willison
73a9043108 Store updated timestamp on embeddings, closes #211 2023-09-02 20:40:33 -07:00
Simon Willison
51488c579b Collection now defaults to in-memory DB, closes #213 2023-09-02 15:43:20 -07:00
Simon Willison
3d56d6cc24 Collection design tweaks + llm embed/similar now use it, closes #204 2023-09-02 08:30:56 -07:00
Simon Willison
6b042a264a Fixed -i and -i - modes for llm embed command 2023-09-01 20:24:58 -07:00
Simon Willison
3b2d5bf7f9 embed_multi and embed_multi_with_metadata, closes #202 2023-09-01 20:15:28 -07:00
Simon Willison
4be89facb5 Fixed and finished llm similar command, closes #190 2023-09-01 19:01:16 -07:00
Simon Willison
3ee92152e8 Error conditions for 'llm similar', refs #190 2023-09-01 18:31:59 -07:00
Simon Willison
de6d257dde collection.similar now returns List[Entry], closes #203 2023-09-01 18:06:56 -07:00
Simon Willison
d2f3d319c2 Test and docs for collection.embed(metadata=), refs #203 2023-09-01 17:57:54 -07:00
Simon Willison
4955a5fa6c Docs and test for store=True, refs #203 2023-09-01 17:52:43 -07:00
Simon Willison
ae1e7dadb4 Fixed tests for similar, refs #191 2023-09-01 16:28:11 -07:00
Simon Willison
0ec516559a Collection.similar methods, refs #191 2023-09-01 16:26:58 -07:00
Simon Willison
6f761702dc Initial Collection class plus test, refs #191 2023-09-01 13:04:05 -07:00
Simon Willison
817aff8bae Embeddings now happen in batches, closes #200 2023-08-31 22:27:06 -07:00
Simon Willison
8099384391 Add foreign key from embeddings to collections, refs #185 2023-08-31 22:16:25 -07:00
Simon Willison
b30f6894f7 Fixed bug if LLM directory does not exist, closes #193 2023-08-31 20:26:05 -07:00
Simon Willison
77cf56e54a
Initial CLI support and plugin hook for embeddings, refs #185
* Embeddings plugin hook + OpenAI implementation
* llm.get_embedding_model(name) function
* llm embed command, for returning embeddings or saving them to SQLite
* Tests using an EmbedDemo embedding model
* llm embed-models list and emeb-models default commands
* llm embed-db path and llm embed-db collections commands
2023-08-27 22:24:10 -07:00
Simon Willison
dff36f0edc Change of policy: keys.json over-rides environment variables, closes #158 2023-08-20 23:27:21 -07:00
Simon Willison
e959026051 llm keys command, closes #174 2023-08-20 23:11:47 -07:00
Simon Willison
c8e9565f47 Combine piped and argument prompts, closes #153 2023-08-20 22:57:29 -07:00
Simon Willison
091984cca2 Refactor to use llm.set_alias() / remove_alias(), closes #154 2023-08-19 22:11:19 -07:00
Simon Willison
c290b44d45 llm.remove_alias() function, refs #154 2023-08-19 22:06:51 -07:00
Simon Willison
2d73e6c8d1 Test set_alias(..., alias) too, refs #154 2023-08-19 22:02:58 -07:00
Simon Willison
8cdcf1e689 llm.set_alias() function, refs #154 2023-08-19 22:01:29 -07:00
Simon Willison
0cd9333054 llm aliases defaults to llm aliases list, refs #154
Refs #167
2023-08-19 21:48:20 -07:00
Simon Willison
36f8ffc2a1 Test for llm models --options, refs #169 2023-08-19 21:26:23 -07:00
Simon Willison
14a91efbad Fixes for Pydantic 1, including matrix test - refs #169
Also refs #147
2023-08-19 20:59:30 -07:00
Simon Willison
0eeb8393ca llm models and llm templates default to list, closes #167 2023-08-19 20:04:14 -07:00
Simon Willison
075d9af3b6 Test for migrations fix in #162 2023-08-19 13:17:47 -07:00
Simon Willison
79d09936cb Lose the indentation for log output, refs #160 2023-08-17 14:12:57 -07:00
Simon Willison
113df5dd87 llm logs now defaults to text output, use --json for JSON, use -c X for specific conversation
Refs #160
2023-08-17 13:57:18 -07:00
Simon Willison
458a59a8f4 Actually register aliases from aliases.json, closes #151 2023-08-12 09:15:17 -07:00
Simon Willison
3aab6cc2c4 Test for llm aliases remove invalid - refs #151 2023-08-12 09:06:38 -07:00
Simon Willison
53289e3767 llm aliases remove command, refs #151 2023-08-12 09:05:02 -07:00
Simon Willison
4a68aa408a llm aliases path command, refs #151 2023-08-12 09:01:51 -07:00
Simon Willison
8fc9cd1902 llm aliasess set command, refs #151 2023-08-12 09:01:12 -07:00
Simon Willison
b8f8869778 llm aliases list --json option, refs #151 2023-08-12 08:52:57 -07:00
Simon Willison
7207554719 Updated test for new alignment of aliases, refs #151 2023-08-11 23:18:46 -07:00
Simon Willison
a8059a24a9 Docs and tests for llm aliases list, refs #151 2023-08-11 23:00:20 -07:00
Pavel Král
838484b1f3
Set min/max constraints to float arguments
* Add .idea/ to .gitignore
* Set min and max constraints to float parameters

Closes #115
2023-07-26 10:59:09 -07:00
Simon Willison
cb41409e2b conversation_name should not have newlines, closes #110 2023-07-15 21:28:35 -07:00
Simon Willison
178af27d95 llm logs list -q/--query option, closes #109 2023-07-15 16:20:28 -07:00
Simon Willison
75e40e7077 Enable FTS indexes on responses prompt and response columns, refs #109 2023-07-15 16:03:35 -07:00
Simon Willison
ed8cd776a4 llm logs list -m model_id/alias option, closes #108 2023-07-15 15:55:13 -07:00
Simon Willison
e2072f7044 Ability to register additional OpenAI-compatible models
Closes #107, closes #106
2023-07-15 10:01:03 -07:00
Simon Willison
fa67b3fdaf --log option, closes #68 2023-07-11 20:18:16 -07:00
Simon Willison
d2fcff3f3a llm logs on / off commands, refs #98 2023-07-11 19:48:16 -07:00
Simon Willison
2d3ebe7fe1 llm logs now uses new DB schema, refs #91 2023-07-11 07:21:22 -07:00
Simon Willison
a421aab7f0 Renamed template.execute() to template.evaluate() and added type hints 2023-07-10 08:27:28 -07:00
Simon Willison
ae87f978bd Moved iter_prompt from Response to Model, moved a lot of other stuff
- Moved a whole bunch of things from llm/cli.py into llm/__init__.py
- Switched plugin listings to use importlib.metadata to avoid deprecation warning
- iter_prompt() is now a method on Model, not on Response
2023-07-10 07:45:11 -07:00
Simon Willison
c08344f986 llm logs now decodes JSON for prompt_json etc 2023-07-05 18:31:38 -07:00
Simon Willison
de81cc9a9e Test messages logged in new format 2023-07-03 08:12:04 -07:00
Simon Willison
345ad0d2dc Implemented new logs database schema 2023-07-03 07:27:47 -07:00
Simon Willison
4a9f7f4908 Lint using Ruff, refs #78 2023-07-02 12:41:40 -07:00
Simon Willison
9a180e65a8 llm models default command, plus refactored env variables
Closes #76
Closes #31
2023-07-01 14:01:29 -07:00
Simon Willison
6ef52172b0 Fixed timezone related test failure 2023-07-01 11:14:25 -07:00
Simon Willison
c4513068fb Disabled DB logging test for the moment 2023-07-01 11:07:10 -07:00
Simon Willison
14ce371007 Fix plugins tests to account for default plugins 2023-07-01 11:06:28 -07:00
Simon Willison
8f7450bd74 Fixed a test 2023-07-01 11:03:16 -07:00
Simon Willison
714b867e92 -s shortcut for --system, closes #69 2023-07-01 10:46:20 -07:00
Simon Willison
c679d4d99e llm openai models command, closes #70 2023-07-01 10:39:24 -07:00
Simon Willison
9f1085eece --save now stores -p as default parameters, closes #58 2023-06-23 07:51:50 -07:00
Sébastien De Revière
059bc1a5fe Handle error when no templates are found (#47)
Thanks, @sderev
2023-06-23 07:38:13 -07:00
Simon Willison
f4ce9ea77d Applied Black 2023-06-18 09:48:49 +01:00
Chris Mungall
482292b7d7 Add a defaults parameter to templates. (#57)
This allows default values to be filled for templates.

For example:
```yaml
prompt: Summarize this text in the voice of $voice
defaults:
  voice: GlaDOS
```
2023-06-17 23:49:27 +01:00
Simon Willison
0b65aefb6e llm prompt ... --save templatename shortcut, closes #55 2023-06-17 23:22:59 +01:00
Simon Willison
a396950f79 Initial plugin framework and register_commands(cli) hook, refs #49 2023-06-17 17:42:13 +01:00
Simon Willison
0e0be4db28 Better display of system and prompt, refs #44 2023-06-17 10:10:10 +01:00
Simon Willison
b573096d59 Show system prompts in llm templates list, closes #44 2023-06-17 10:08:30 +01:00
Simon Willison
19e6945dde Fix newline issue in llm templates list, closes #42 2023-06-17 09:51:16 +01:00
Simon Willison
b27c2cdac9 Rename log.db to logs.db, closes #41 2023-06-17 09:29:46 +01:00
Simon Willison
144ffc3f6b Prompt templates
Closes #23
2023-06-17 08:40:46 +01:00
Simon Willison
d3ef8af639 Removed obsolete line 2023-06-16 08:53:20 +01:00
Simon Willison
8308fe5cbf Store debug info, closes #34 2023-06-16 08:51:56 +01:00
Simon Willison
bcb0a4a1ef Removed obsolete imports 2023-06-15 23:20:58 +01:00
Simon Willison
af8d596e63 Moved logs.db to user_data_dir, closes #27 2023-06-15 20:19:02 +01:00
Simon Willison
1bb04c416c Move logs.db to user_data_dir, refs #27 2023-06-15 19:59:08 +01:00
Simon Willison
44bcc8f63c New table schema, with new migrations system - closes #26 2023-06-15 19:33:31 +01:00
Simon Willison
6545ce9da6 Stream by default, added--no-stream option, closes #25
Also finished the work needed to remove --code, refs #24
2023-06-15 18:49:11 +01:00
Simon Willison
9fb3293cba Now uses API key from keys.json, refs #13 2023-06-15 17:22:13 +01:00
Simon Willison
246266bee7 llm keys set and llm keys path commands, refs #13 2023-06-15 09:14:26 +01:00
Simon Willison
12d6cf1049 Initial test for 'llm prompt' command, closes #18 2023-06-14 18:32:48 +01:00
Simon Willison
41e5c5481f llm logs command, closes #3 2023-04-01 18:52:46 -07:00
Simon Willison
93ebb96cfa Rename back to llm, refs #1 2023-04-01 15:00:19 -07:00
Simon Willison
c5c666867a Renamed package to llm-cli 2023-04-01 14:41:46 -07:00
Simon Willison
3f89cb9609 Initial prototype, refs #1 2023-04-01 14:28:24 -07:00