1. ETH Zürich
  2. D-ARCH
  3. IT Services Group

Arch AI: AI Tools with Data Sovereignty

Arch AI (archai.ethz.ch) is the AI platform of the Department of Architecture for all ETH members: chat with language models, documents, images, voice, web search and agents based on LibreChat. Local models on ETH servers, your data stays at ETH.

What is Arch AI?

Arch AI (archai.ethz.ch) is the AI platform of the Department of Architecture and is open to all members of ETH Zurich with their ETH account. You chat with large language models (LLMs), work with your own documents, generate and describe images, dictate input, have answers read aloud, search the web and build your own assistants (“agents”), much like ChatGPT, but on ETH infrastructure.

Arch AI is based on the open-source software LibreChat. The language and image models run on servers of the Department of Architecture at ETH Zurich. This shows what AI on our own hardware (“on-premises”) can do today and where its limits are.

Arch AI: start view with model selection (Azure OpenAI, My Agents, Local AI with gemma4, Local Code AI) and input field
Model selection in Arch AI: local models, your own agents or GPT in the cloud.

Digital data sovereignty

Using an AI service means handing over data: questions, documents, images, often hints about unpublished research or about people. With commercial cloud services, this data ends up with providers outside Switzerland, under foreign law and without control over what happens to it. For us, digital data sovereignty means that ETH decides for itself where its data is processed, with which software and with which models.

  • Your data stays at ETH. Conversations, uploaded files, images, voice input, agents and memories are processed and stored exclusively on the department's servers in Zurich.
  • Open software, open models. LibreChat is open source, and the local language models such as Gemma and Qwen are openly available (“open weights”). Nothing is tied to a vendor; models can be swapped when better ones appear.
  • You choose per conversation. Local models are the default. The GPT model in the cloud is an option you select deliberately, and the interface always shows which model is active.
  • Local means local. With the local models, your content does not leave ETH and we do not analyse it. For the GPT model, the terms of Microsoft Azure OpenAI apply: your messages are processed in Microsoft's data centre and may be stored there temporarily for abuse monitoring. You delete conversations yourself in Arch AI.
Diagram: browser connects over an encrypted link to the servers of the Department of Architecture at ETH Zurich (chat, files, images, voice, web search, memory); cloud only for the GPT model, internet only for web search
What is processed where: everything stays at ETH unless you choose GPT or use web search.
FunctionProcessingWhat leaves ETH
Chat with local models (Gemma, Qwen, code model)Department of Architecture serversnothing
Chat with GPT (Azure OpenAI)Microsoft Azure, data centre in Swedenyour messages and files in that conversation
Uploaded files, file searchDepartment of Architecture serversnothing
Image generation and image descriptionDepartment of Architecture serversnothing
Voice input and outputDepartment of Architecture serversnothing
Web searchDepartment of Architecture serversthe search query only, sent to public search engines; our server fetches the pages found
Prompts, agents, memories, bookmarksDepartment of Architecture serversnothing
Conversation titles and summariesthe model you chosenothing, unless you chose GPT

What you can do with Arch AI

FunctionExamples
ChatDraft, summarise, translate and correct texts, answer questions, develop ideas. Local models such as Gemma and Qwen, a local code model for programming questions, optionally GPT from the OpenAI family.
DocumentsUpload PDF, Word, spreadsheets or text files and ask questions about them, compare or analyse them. Files can be attached to a conversation or stored permanently in a project.
ImagesGenerate images from text descriptions (models Qwen-Image and Z-Image), describe uploaded images, discuss plans and sketches.
VoiceDictate input and have answers read aloud, both processed locally.
Web searchInclude current information from the internet in the answer.
AgentsBuild your own assistants with fixed instructions, knowledge from files and tools, and share them with others, for example for teaching or a research project.
OrganisationGroup conversations in projects, set bookmarks, save prompts, manage personal memories.

Getting started

  1. Open archai.ethz.ch and click Login with ETH Zürich. Sign in with your ETH account; the first time, you accept the terms of service.

  2. Choose the model at the top left: Local AI for the local language models (default), Local Code AI for programming questions, Azure OpenAI for GPT, My Agents for your assistants.

  3. Type your question into the input field. Use the paper clip to attach files or images and the microphone to dictate. Answers can be copied, regenerated or repeated with a different model.

  4. A user guide with answers to frequent questions is available in Arch AI at the bottom under Arch AI – Help and FAQ.

Costs

The local services are free of charge for ETH members and will remain so. The use of GPT is paid for by the IT group of the Department of Architecture; we reserve the right to remove cloud models if costs become too high. If your unit wants to rely on Arch AI permanently in teaching or research, get in touch with us.

API access for research and projects

For research projects of the department or projects with sensitive data, the local models are also available through an OpenAI-compatible interface (HTTPS, streaming, tool calling). Because the API speaks the OpenAI protocol, any OpenAI client library works. The examples use the official Python package openai (pip install openai). You receive the host, token and model name from us.

Ask a question

from openai import OpenAI

HOST = "https://on-premise-llm.ethz.ch/v1"
TOKEN = "your-api-token"
MODEL = "model-name"

client = OpenAI(base_url=HOST, api_key=TOKEN)

response = client.chat.completions.create(
    model=MODEL,
    messages=[{"role": "user", 
               "content": "What is the tallest building in Zurich?"}],
)
print(response.choices[0].message.content)
python ask-a-question.py   
The tallest building in Zurich is the **Prime Tower**. 
It stands at approximately 126 meters (about 413 feet) tall.

Tag an image

The image is sent as part of the message; the model answers with a list of tags.

import base64
from openai import OpenAI

HOST = "https://on-premise-llm.ethz.ch/v1"
TOKEN = "your-api-token"
MODEL = "model-name"

client = OpenAI(base_url=HOST, api_key=TOKEN)

with open("photo.jpg", "rb") as f:
    image = base64.b64encode(f.read()).decode()

response = client.chat.completions.create(
    model=MODEL,
    messages=[{
        "role": "user",
        "content": [
            {"type": "text", 
             "text": "Describe this image with 5 to 10 tags, \
                     comma-separated, nothing else."},
            {"type": "image_url", 
             "image_url": {"url": f"data:image/jpeg;base64,{image}"}},
        ],
    }],
)
print(response.choices[0].message.content)
python tag-an-image.py
Zurich, Switzerland, Cityscape, Architecture, River, Lake, 
Alps, Church, Skyline, European

If you are interested in API access, contact us.

Good to know

  • Rolling release: Arch AI is under continuous development. Models and functions may change; we announce major changes in Arch AI.
  • ETH rules: the use of AI in teaching, exams and research is governed by the rules of ETH Zurich and your study programme, for example on declaring AI tools. Arch AI does not change that.
  • Limits of local models: the local models are smaller than the large cloud models and run on standard hardware. That is enough for most tasks; for very long documents or demanding analyses, GPT may do better, provided the data allows it.

We welcome questions, requests and feedback on Arch AI via the Service Desk.