Setup

Requirements

You need two things before making any requests:

  • A connection to the UB campus network or the UB VPN

  • An API key (see below)

Getting an API key

Email Chris Proctor with a brief description of your project. Once issued, your key is a long alphanumeric string. Treat it like a password:

  • Store it in a password manager or your OS keychain

  • Never hard-code it in a script or commit it to a repository

If a key is lost it cannot be recovered — request a new one.

Setting the environment variable

The most convenient way to supply your key is the GSEAI_API_TOKEN environment variable. Add it to your shell profile (~/.zshrc, ~/.bashrc, etc.):

export GSEAI_API_TOKEN=your-api-key

The gseai CLI and the GSEAIServer class both read this variable automatically, so you won’t need to pass the key on every call.

OpenAI SDK compatibility

The server implements the OpenAI API, so any code written for OpenAI works with GSEAI by changing the base URL and API key:

from openai import OpenAI

client = OpenAI(
    api_key="your-gseai-token",
    base_url="http://gseai.gse.buffalo.edu:11434/v1",
)

The gseai package wraps this API directly and does not require the OpenAI SDK.

Infrastructure and performance

The server runs on CPU-only hardware with 700 GB of RAM in the Computational Literacies Lab (Foster Hall). This makes it well suited to research and batch processing but not to latency-sensitive applications.

Rough performance expectations:

  • Chat / text generation — seconds to a minute depending on model and response length; use --stream / stream=True for incremental output

  • Speech transcription — roughly real-time for short clips

  • Image generation — 1–5 minutes per image depending on size and prompt complexity

All processing happens within the UB network. No request data is transmitted to external services or cloud providers, and the server does not maintain persistent logs of request content.

IRB considerations

If your project involves human-subjects research, the following points are relevant for IRB applications:

  • The server is operated on hardware under direct research-team control in Foster Hall

  • All traffic between your workstation and the server is encrypted with TLS 1.2 or 1.3

  • Access is controlled by individual API keys, revocable at any time

  • No participant data is transmitted to external services, cloud providers, or third-party AI platforms

  • The server does not retain persistent logs of request content

Researchers are responsible for documenting how they store and manage the outputs produced by the server. For technical clarification regarding IRB language, contact Chris Proctor.