simonw--llm
6c6b100f3e
* New KeyModel and AsyncKeyModel classes for models that taken keys - closes #744 * llm prompt --key now uses new mechanism, including for async * use new key mechanism in llm chat command * Python API tests for llm.KeyModel and llm.AsyncKeyModel * Python API docs for for prompt(... key="") * Mention await model.prompt() takes other parameters, reorg sections * Better title for the model tutorial * Docs on writing model plugins that take a key