Skip to content

AI

Text completion

from pookiepages.ai import OpenAICompatibleProvider, AIConfig, ChatMessage

provider = OpenAICompatibleProvider(AIConfig(
    url="https://api.openai.com/v1",
    key="sk-your-api-key",
    default="gpt-4o",
    storeHistory=True,
))

result = await provider.complete(
    messages=[ChatMessage(role="user", content="What is pookiepages?")],
    conversationId="session-abc",
)
print(result.content)
print(result.usage.promptTokens, result.usage.completionTokens)

Streaming

async for chunk in provider.stream(
    messages=[ChatMessage(role="user", content="Tell me a story")],
):
    print(chunk, end="", flush=True)

Conversation history

history = provider.history("session-abc")
provider.clearHistory("session-abc")
summary = await provider.summarize("session-abc")

Embeddings

from pookiepages.ai import EmbeddingProvider, EmbeddingsConfig

embedder = EmbeddingProvider(EmbeddingsConfig(
    url="https://api.openai.com/v1",
    key="sk-your-key",
    model="text-embedding-3-small",
    dimensions=1536,
))

vector = await embedder.embed("my search text")
vectors = await embedder.embedMany(["text one", "text two"])