> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kinetica.com/llms.txt
> Use this file to discover all available pages before exploring further.

# gpudbsqlcontext

> gpudbsqlcontext — Kinetica Python API

<div className="kinetica-pydoc">
  <div itemprop="articleBody">
    <div id="sql-gpt-contexts" className="section">
      <h1>SQL-GPT Contexts</h1>

      <div className="dl py class">
        <div className="dt sig sig-object py" id="gpudb.GPUdbSqlContext"> <span className="em property"><span className="k"><span className="pre">class</span></span><span className="w"> </span></span><span className="sig-prename descclassname"><span className="pre">gpudb.</span></span><span className="sig-name descname"><span className="pre">GPUdbSqlContext</span></span><span className="sig-paren">(</span><span className="em sig-param"><span className="n"><span className="pre">name</span></span><span className="p"><span className="pre">:</span></span><span className="w"> </span><span className="n"><span className="pre">str</span></span></span>, <span className="em sig-param"><span className="n"><span className="pre">tables</span></span><span className="p"><span className="pre">:</span></span><span className="w"> </span><span className="n"><span className="pre">List</span><span className="p"><span className="pre">\[</span></span><a className="reference internal" href="#gpudb.GPUdbTableClause" title="gpudb_sql_context.GPUdbTableClause"><span className="pre">GPUdbTableClause</span></a><span className="p"><span className="pre">]</span></span></span></span>, <span className="em sig-param"><span className="n"><span className="pre">samples</span></span><span className="p"><span className="pre">:</span></span><span className="w"> </span><span className="n"><a className="reference internal" href="#gpudb.GPUdbSamplesClause" title="gpudb_sql_context.GPUdbSamplesClause"><span className="pre">GPUdbSamplesClause</span></a></span></span><span className="sig-paren">)</span><a href="https://github.com/kineticadb/kinetica-api-python/blob/master/gpudb/gpudb_sql_context.py#L203"><span className="viewcode-link"><span className="pre">\[source]</span></span></a></div>

        <div className="dd">
          <p>Represents a collection of clauses that comprise a SQL-GPT context.</p>
          <p>Example:</p>

          <div className="highlight-default notranslate">
            <div>
              ```
              sql_context = GPUdbSqlContext(
                  name = "sa_quickstart.nyc_ctx",
                  tables = [table_ctx],
                  samples = samples_ctx)
              create_context_sql = sql_context.build_sql()
              db.execute(create_context_sql)
              ```
            </div>
          </div>

          <p><strong>Parameters</strong></p>

          <div className="blockquote">
            <div>
              <div className="dl simple">
                <div className="dt">name (<span className="em">str</span>) –</div>

                <div className="dd">
                  <p>Fully qualified name of the context. (e.g. “schema.context”)</p>
                </div>

                <div className="dt">tables (<span className="em">list\[GPUdbTableClause]</span>) –</div>

                <div className="dd">
                  <p>A list of <a className="reference internal" href="#gpudb.GPUdbTableClause" title="gpudb.GPUdbTableClause"><code className="xref py py-class docutils literal notranslate"><span className="pre">GPUdbTableClause</span></code></a> objects representing the Kinetica tables (and metadata) referenced in this context.</p>
                </div>

                <div className="dt">samples (<span className="em">GPUdbSamplesClause</span>) –</div>

                <div className="dd">
                  <p>A <a className="reference internal" href="#gpudb.GPUdbSamplesClause" title="gpudb.GPUdbSamplesClause"><code className="xref py py-class docutils literal notranslate"><span className="pre">GPUdbSamplesClause</span></code></a> object representing query/answer pairs referenced in this context.</p>
                </div>
              </div>
            </div>
          </div>

          <div className="dl py method">
            <div className="dt sig sig-object py" id="gpudb.GPUdbSqlContext.build_sql"> <span className="sig-name descname"><span className="pre">build\_sql</span></span><span className="sig-paren">(</span><span className="sig-paren">)</span> <span className="sig-return"><span className="sig-return-icon">→</span> <span className="sig-return-typehint"><span className="pre">str</span></span></span><a href="https://github.com/kineticadb/kinetica-api-python/blob/master/gpudb/gpudb_sql_context.py#L240"><span className="viewcode-link"><span className="pre">\[source]</span></span></a></div>

            <div className="dd">
              <p>Format this <a className="reference internal" href="#gpudb.GPUdbSqlContext" title="gpudb.GPUdbSqlContext"><code className="xref py py-class docutils literal notranslate"><span className="pre">GPUdbSqlContext</span></code></a> as a SQL <code className="docutils literal notranslate"><span className="pre">CREATE</span> <span className="pre">CONTEXT</span></code> statement. The result can be passed to <code className="xref py py-meth docutils literal notranslate"><span className="pre">GPUDB.execute()</span></code> to create the context.</p>

              <div className="dl simple">
                <div className="dt">Returns (str):</div>

                <div className="dd">
                  <p>The SQL-formatted <code className="docutils literal notranslate"><span className="pre">CREATE</span> <span className="pre">CONTEXT</span></code> statement.</p>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>

      <div className="dl py class">
        <div className="dt sig sig-object py" id="gpudb.GPUdbTableClause"> <span className="em property"><span className="k"><span className="pre">class</span></span><span className="w"> </span></span><span className="sig-prename descclassname"><span className="pre">gpudb.</span></span><span className="sig-name descname"><span className="pre">GPUdbTableClause</span></span><span className="sig-paren">(</span><span className="em sig-param"><span className="n"><span className="pre">table</span></span><span className="p"><span className="pre">:</span></span><span className="w"> </span><span className="n"><span className="pre">str</span></span></span>, <span className="em sig-param"><span className="n"><span className="pre">comment</span></span><span className="p"><span className="pre">:</span></span><span className="w"> </span><span className="n"><span className="pre">str</span><span className="w"> </span><span className="p"><span className="pre">|</span></span><span className="w"> </span><span className="pre">None</span></span><span className="w"> </span><span className="o"><span className="pre">=</span></span><span className="w"> </span><span className="default_value"><span className="pre">None</span></span></span>, <span className="em sig-param"><span className="n"><span className="pre">rules</span></span><span className="p"><span className="pre">:</span></span><span className="w"> </span><span className="n"><span className="pre">List</span><span className="p"><span className="pre">\[</span></span><span className="pre">str</span><span className="p"><span className="pre">]</span></span><span className="w"> </span><span className="p"><span className="pre">|</span></span><span className="w"> </span><span className="pre">None</span></span><span className="w"> </span><span className="o"><span className="pre">=</span></span><span className="w"> </span><span className="default_value"><span className="pre">None</span></span></span>, <span className="em sig-param"><span className="n"><span className="pre">col\_comments</span></span><span className="p"><span className="pre">:</span></span><span className="w"> </span><span className="n"><span className="pre">Dict</span><span className="p"><span className="pre">\[</span></span><span className="pre">str</span><span className="p"><span className="pre">,</span></span><span className="w"> </span><span className="pre">str</span><span className="p"><span className="pre">]</span></span><span className="w"> </span><span className="p"><span className="pre">|</span></span><span className="w"> </span><span className="pre">None</span></span><span className="w"> </span><span className="o"><span className="pre">=</span></span><span className="w"> </span><span className="default_value"><span className="pre">None</span></span></span><span className="sig-paren">)</span><a href="https://github.com/kineticadb/kinetica-api-python/blob/master/gpudb/gpudb_sql_context.py#L72"><span className="viewcode-link"><span className="pre">\[source]</span></span></a></div>

        <div className="dd">
          <p>A <a className="reference internal" href="#gpudb.GPUdbTableClause" title="gpudb.GPUdbTableClause"><code className="xref py py-class docutils literal notranslate"><span className="pre">GPUdbTableClause</span></code></a> represents the table clause of a SQL-GPT context and can convert its contents to the SQL form expected by a <code className="docutils literal notranslate"><span className="pre">CREATE</span> <span className="pre">CONTEXT</span></code> statement.</p>
          <p>Example:</p>

          <div className="highlight-default notranslate">
            <div>
              ```
              table_ctx = GPUdbTableClause(
                  table = "sa_quickstart.nyct2020",
                  comment = "This table contains spatial boundaries and attributes of the New York City.",
                  col_comments = dict(
                      gid = "This is the unique identifier for each record in the table.",
                      geom = "The spatial boundary in WKT format of each NTA neighborhood.",
                      BoroCode = "The code of the borough to which the neighborhood belongs to."),
                  rules = ["Join this table using STXY_WITHIN() = 1",
                          "Another rule here"])
              ```
            </div>
          </div>

          <p><strong>Parameters</strong></p>

          <div className="blockquote">
            <div>
              <div className="dl simple">
                <div className="dt">table (<span className="em">str</span>) –</div>

                <div className="dd">
                  <p>Fully qualified table name (e.g. “schema.table”)</p>
                </div>

                <div className="dt">comment (<span className="em">str</span>) –</div>

                <div className="dd">
                  <p>Comment for the table.</p>
                </div>

                <div className="dt">rules (<span className="em">list\[str]</span>) –</div>

                <div className="dd">
                  <p>A list of rules that apply to the table.</p>
                </div>

                <div className="dt">col\_comments (<span className="em">dict\[str,str]</span>) –</div>

                <div className="dd">
                  <p>A dictionary with mapping of column names to column comments.</p>
                </div>
              </div>
            </div>
          </div>

          <div className="dl py method">
            <div className="dt sig sig-object py" id="gpudb.GPUdbTableClause.format_sql"> <span className="sig-name descname"><span className="pre">format\_sql</span></span><span className="sig-paren">(</span><span className="sig-paren">)</span> <span className="sig-return"><span className="sig-return-icon">→</span> <span className="sig-return-typehint"><span className="pre">str</span></span></span><a href="https://github.com/kineticadb/kinetica-api-python/blob/master/gpudb/gpudb_sql_context.py#L120"><span className="viewcode-link"><span className="pre">\[source]</span></span></a></div>

            <div className="dd">
              <p>Format the clause as a SQL string.</p>
            </div>
          </div>
        </div>
      </div>

      <div className="dl py class">
        <div className="dt sig sig-object py" id="gpudb.GPUdbSamplesClause"> <span className="em property"><span className="k"><span className="pre">class</span></span><span className="w"> </span></span><span className="sig-prename descclassname"><span className="pre">gpudb.</span></span><span className="sig-name descname"><span className="pre">GPUdbSamplesClause</span></span><span className="sig-paren">(</span><span className="em sig-param"><span className="n"><span className="pre">samples</span></span><span className="p"><span className="pre">:</span></span><span className="w"> </span><span className="n"><span className="pre">List</span><span className="p"><span className="pre">\[</span></span><span className="pre">Tuple</span><span className="p"><span className="pre">\[</span></span><span className="pre">str</span><span className="p"><span className="pre">,</span></span><span className="w"> </span><span className="pre">str</span><span className="p"><span className="pre">]</span></span><span className="p"><span className="pre">]</span></span><span className="w"> </span><span className="p"><span className="pre">|</span></span><span className="w"> </span><span className="pre">None</span></span><span className="w"> </span><span className="o"><span className="pre">=</span></span><span className="w"> </span><span className="default_value"><span className="pre">None</span></span></span><span className="sig-paren">)</span><a href="https://github.com/kineticadb/kinetica-api-python/blob/master/gpudb/gpudb_sql_context.py#L24"><span className="viewcode-link"><span className="pre">\[source]</span></span></a></div>

        <div className="dd">
          <p>A <a className="reference internal" href="#gpudb.GPUdbSamplesClause" title="gpudb.GPUdbSamplesClause"><code className="xref py py-class docutils literal notranslate"><span className="pre">GPUdbSamplesClause</span></code></a> represents the samples clause of a SQL-GPT context and can convert its contents to the SQL form expected by a <code className="docutils literal notranslate"><span className="pre">CREATE</span> <span className="pre">CONTEXT</span></code> statement.</p>
          <p>Example:</p>

          <div className="highlight-default notranslate">
            <div>
              ```
              samples_ctx = GPUdbSamplesClause(samples = [
                  ("What are the shortest, average, and longest trip lengths for each taxi vendor?",
                  """
                  SELECT
                      th.vendor_id,
                      MIN(th.trip_distance) AS shortest_trip_length,
                      AVG(th.h.trip_distance) AS average_trip_length,
                      MAX(th.trip_distance) AS longest_trip_length
                  FROM sa_quickstart.taxi_data_historical AS th
                  GROUP BY th.vendor_id;
                  """),

                  ("How many trips did each taxi vendor make to JFK International Airport?",
                  """
                  SELECT
                      th.vendor_id,
                      COUNT(*) AS trip_count
                  FROM sa_quickstart.taxi_data_historical AS th
                  JOIN sa_quickstart.nyct2020 AS n_dropoff ON KI_FN.STXY_WITHIN(th.dropoff_longitude, th.dropoff_latitude, n_dropoff.geom)
                  AND n_dropoff.NTAName = 'John F. Kennedy International Airport'
                  GROUP BY th.vendor_id;
                  """),
                  ])
              ```
            </div>
          </div>

          <p><strong>Parameters</strong></p>

          <div className="blockquote">
            <div>
              <div className="dl simple">
                <div className="dt">samples (<span className="em">list\[tuple\[str,str]]</span>) –</div>

                <div className="dd">
                  <p>A list of tuples containing question/sql pairs.</p>
                </div>
              </div>
            </div>
          </div>

          <div className="dl py method">
            <div className="dt sig sig-object py" id="gpudb.GPUdbSamplesClause.format_sql"> <span className="sig-name descname"><span className="pre">format\_sql</span></span><span className="sig-paren">(</span><span className="sig-paren">)</span> <span className="sig-return"><span className="sig-return-icon">→</span> <span className="sig-return-typehint"><span className="pre">str</span></span></span><a href="https://github.com/kineticadb/kinetica-api-python/blob/master/gpudb/gpudb_sql_context.py#L65"><span className="viewcode-link"><span className="pre">\[source]</span></span></a></div>

            <div className="dd">
              <p>Format the clause as a SQL string.</p>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.