Completion functions
Convenience functions for quick one-off completions.
completion
async def completion(
prompt: str,
model: str | None = None,
tools: list[Tool] | None = None,
api_key: str | None = None,
provider: str = "mistral",
) -> str
One-liner async completion.
from pure_agents import completion
result = await completion("What is the capital of France?")
print(result) # "The capital of France is Paris."
With tools
from pure_agents import completion, tool
@tool
def get_time() -> str:
"""Get the current time."""
from datetime import datetime
return datetime.now().strftime("%H:%M")
result = await completion(
"What time is it?",
tools=[get_time]
)
With different provider
result = await completion(
"Explain quantum computing",
provider="anthropic",
model="claude-opus-4-5-20251101"
)
completion_sync
def completion_sync(
prompt: str,
model: str | None = None,
tools: list[Tool] | None = None,
api_key: str | None = None,
provider: str = "mistral",
) -> str
Synchronous version.
from pure_agents import completion_sync
result = completion_sync("What is 2 + 2?")
When to use
Use completion functions for:
- Quick one-off queries
- Scripts without async
- Testing and prototyping
Use Agent for:
- Multi-turn conversations
- Session persistence
- Streaming responses
- More control