Architecture [WIP] - statnett/Talk2PowerSystem GitHub Wiki

This page describes the high-level architecture and infrastructure for Statnett's Talk2PowerSystem https://github.com/statnett/Talk2PowerSystem.

Overview

The Talk2PowerSystem provides a solution for simplifying power system analysis by enabling users to construct complex queries from natural language inputs. These queries are used to retrieve data and models based on the Common Information Model (CIM), stored in RDF format.

The system provides a chatbot API with a user interface where power system engineers and other stakeholders can converse with the system by simply asking questions and analyzing the responses. To accomplish this, the chatbot is powered by a Large Language Model, integrated via LangChain. This orchestration connects the LLM with other components of the system or with external systems that can enrich the responses, such as Cognite timeseries.

The chatbot and the LLM are responsible for interpreting user input, generating queries and executing them - making them a crucial part of the Talk2PowerSystem.

The high-level goals of the system are:

  • Generate complex queries for complex power system models via natural language inputs
  • Provide reliable and transparent answers by leveraging RDF
  • Integrate with additional systems to enrich the capabilities of the LLM and the quality of the answers

The key technologies used in the project are:

  • OpenAI GPT - Large language model used to generate natural language responses based on RDF and other structured or unstructured data
  • LangChain - Framework for orchestration of LLM services, tools, memory and other external systems
  • Azure AKS - Managed Kubernetes by Azure, providing infrastructure and automation for the Talk2PowerSystem services

The following GitHub repositories are part of the Talk2PowerSystem project:

Context

Components

Data Flow

Infrastructure & Deployment