Initialize querychat with any compliant data source.
Parameters
Name
Type
Description
Default
data_source
IntoFrame | sqlalchemy.Engine
Either a Narwhals-compatible data frame (e.g., Polars or Pandas) or a SQLAlchemy engine containing the table to query against.
required
table_name
str
If a data_source is a data frame, a name to use to refer to the table in SQL queries (usually the variable name of the data frame, but it doesn’t have to be). If a data_source is a SQLAlchemy engine, the table_name is the name of the table in the database to query against.
required
greeting
str | Path
A string in Markdown format, containing the initial message. If a pathlib.Path object is passed, querychat will read the contents of the path into a string with .read_text().
None
data_description
str | Path
Description of the data in plain text or Markdown. If a pathlib.Path object is passed, querychat will read the contents of the path into a string with .read_text().
None
extra_instructions
str | Path
Additional instructions for the chat model. If a pathlib.Path object is passed, querychat will read the contents of the path into a string with .read_text().
None
prompt_template
Path
Path to or a string of a custom prompt file. If not provided, the default querychat template will be used. This should be a Markdown file that contains the system prompt template. The mustache template can use the following variables: - {db_engine}: The database engine used (e.g., “DuckDB”) - {schema}: The schema of the data source, generated by data_source.get_schema() - {data_description}: The optional data description provided - {extra_instructions}: Any additional instructions provided
None
system_prompt_override
str
A custom system prompt to use instead of the default. If provided, data_description, extra_instructions, and prompt_template will be silently ignored.
None
client
(chatlas.Chat, CreateChatCallback, str)
A chatlas.Chat object, a string to be passed to chatlas.ChatAuto() describing the model to use (e.g. "openai/gpt-4.1"), or a function that creates a chat client. If using a function, the function should accept a system_prompt argument and return a chatlas.Chat object. If client is not provided, querychat consults the QUERYCHAT_CLIENT environment variable, which can be set to a provider-model string. If no option is provided, querychat defaults to using chatlas.ChatOpenAI(model="gpt-4.1").
None
create_chat_callback
CreateChatCallback
Deprecated. Use the client argument instead.
None
Returns
Name
Type
Description
QueryChatConfig
A QueryChatConfig object that can be passed to server()