The simplest way to fetch a prompt and display its content:
Copy
import osfrom baytos.claro import BaytClient# Initialize the clientclient = BaytClient(api_key=os.getenv("BAYT_API_KEY"))# Get a promptprompt = client.get_prompt("@workspace/my-prompt:v1")# Display prompt informationprint(f"Title: {prompt.title}")print(f"Description: {prompt.description}")print(f"\nPrompt content:\n{prompt.generator}")
Expected output
Copy
Title: Customer Support AssistantDescription: Helpful assistant for customer support queriesPrompt content:You are a helpful customer support assistant. Your role is to...
import osfrom baytos.claro import BaytClientfrom openai import OpenAI# Initialize clientsclaro_client = BaytClient(api_key=os.getenv("BAYT_API_KEY"))openai_client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))# Get your prompt from Claroprompt = claro_client.get_prompt("@workspace/customer-support:v1")# Use it with OpenAIresponse = openai_client.chat.completions.create( model="gpt-4", messages=[ {"role": "system", "content": prompt.generator}, {"role": "user", "content": "How do I reset my password?"} ])print(response.choices[0].message.content)
When your team updates the prompt in Claro, your next API call automatically gets the latest version. No code changes needed.
import osfrom baytos.claro import BaytClientfrom anthropic import Anthropic# Initialize clientsclaro_client = BaytClient(api_key=os.getenv("BAYT_API_KEY"))anthropic_client = Anthropic(api_key=os.getenv("ANTHROPIC_API_KEY"))# Get your prompt from Claroprompt = claro_client.get_prompt("@workspace/code-reviewer:v1")# Use it with Clauderesponse = anthropic_client.messages.create( model="claude-3-5-sonnet-20241022", max_tokens=1024, system=prompt.generator, # Use as system prompt messages=[ { "role": "user", "content": "Review this code: def add(a, b): return a + b" } ])print(response.content[0].text)
import osfrom baytos.claro import BaytClientclient = BaytClient(api_key=os.getenv("BAYT_API_KEY"))prompt = client.get_prompt("@workspace/my-prompt:v1")# Access using dictionary syntaxprint(f"Title: {prompt['title']}")print(f"Category: {prompt.get('category', 'Unknown')}")# Check if a field existsif 'description' in prompt: print(f"Description: {prompt['description']}")# List all available fieldsprint(f"\nAvailable fields: {', '.join(prompt.keys())}")# Convert to dictionaryprompt_dict = prompt.to_dict()print(f"\nAs JSON: {prompt_dict}")
import osfrom baytos.claro import BaytClientclient = BaytClient(api_key=os.getenv("BAYT_API_KEY"))# Get first page of promptsresult = client.list_prompts(limit=10)print("Your Prompts:")print("=" * 60)for i, prompt in enumerate(result['prompts'], 1): print(f"{i}. {prompt.title}") print(f" Package: {prompt.package_name}") if prompt.description: print(f" Description: {prompt.description}") print()# Check if there are more pagesif result['hasMore']: print(f"More prompts available. Total shown: {len(result['prompts'])}")
import osfrom baytos.claro import BaytClientclient = BaytClient(api_key=os.getenv("BAYT_API_KEY"))prompt = client.get_prompt("@workspace/my-prompt:v1")# Validate prompt has necessary contentif not prompt.generator: print("Warning: Prompt has no generator content") exit(1)# Check for optional contentif prompt.has_system_prompt(): print("This prompt includes a system prompt")if prompt.has_critique_prompt(): print("This prompt includes a critique prompt")# Check for contextif prompt.has_context(): print(f"This prompt has {len(prompt.context)} context items")# Now safe to useprint(f"Using prompt: {prompt.title}")print(prompt.generator)