Skip to main content

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