Skip to main content
Pixeltable UDFs that wrap various endpoints from the Groq API. In order to use them, you must first pip install groq and configure your Groq credentials, as described in the Working with Groq tutorial. View source on GitHub

func invoke_tools()

invoke_tools(
    tools: pixeltable.func.tools.Tools,
    response: pixeltable.exprs.expr.Expr
) -> pixeltable.exprs.inline_expr.InlineDict
Converts an OpenAI response dict to Pixeltable tool invocation format and calls tools._invoke().

udf chat_completions()

chat_completions(
    messages: Json,
    *,
    model: String,
    model_kwargs: Json | None = None,
    tools: Json | None = None,
    tool_choice: Json | None = None
) -> Json
Chat Completion API. Equivalent to the Groq chat/completions API endpoint. For additional details, see: https://console.groq.com/docs/api-reference#chat-create Request throttling: Applies the rate limit set in the config (section groq, key rate_limit). If no rate limit is configured, uses a default of 600 RPM. Requirements:
  • pip install groq
Parameters: Returns:
  • Json: A dictionary containing the response and other metadata.
Example: Add a computed column that applies the model llama-3.1-8b-instant to an existing Pixeltable column tbl.prompt of the table tbl:
messages = [{'role': 'user', 'content': tbl.prompt}]
tbl.add_computed_column(response=chat_completions(messages, model='llama-3.1-8b-instant'))