123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- import json
- import asyncclick as click
- from asyncclick import pass_context
- from cli.utils.timer import timer
- from r2r import R2RAsyncClient
- @click.group()
- def prompts():
- """Prompts commands."""
- pass
- @prompts.command()
- @pass_context
- async def list(ctx):
- """Get an overview of prompts."""
- client: R2RAsyncClient = ctx.obj
- with timer():
- response = await client.prompts.list()
- for prompt in response["results"]:
- click.echo(json.dumps(prompt, indent=2))
- @prompts.command()
- @click.argument("name", type=str)
- @click.option("--inputs", default=None, type=str)
- @click.option("--prompt-override", default=None, type=str)
- @pass_context
- async def retrieve(ctx, name, inputs, prompt_override):
- """Retrieve an prompts by name."""
- client: R2RAsyncClient = ctx.obj
- with timer():
- response = await client.prompts.retrieve(
- name=name,
- inputs=inputs,
- prompt_override=prompt_override,
- )
- click.echo(json.dumps(response, indent=2))
- @prompts.command()
- @click.argument("name", required=True, type=str)
- @pass_context
- async def delete(ctx, name):
- """Delete an index by name."""
- client: R2RAsyncClient = ctx.obj
- with timer():
- response = await client.prompts.delete(
- name=name,
- )
- click.echo(json.dumps(response, indent=2))
|