Created on 2024-11-04 21:11
Published on 2024-11-05 05:00
A genre of software applications operated through multimodal conversational interactions and equipped with varying degrees of autonomy. Today, conversational interactions are increasingly handled by Large Language Models (LLMs), while autonomy is managed through external function integration.
A collection of Entities, Entity Types, and Entity Relationship Types that enable reasoning and inference.
Implicit: Relationship types are denoted by labels, leaving their semantics out-of-band (e.g., labeled property graphs).
Explicit: Relationship types are denoted by identifiers, and their semantics are intrinsic and informed by an Ontology that is both human- and machine-computable (e.g., RDF-based Knowledge Graphs).
They provide a powerful foundation for creating a System of Intelligence derived from existing Systems of Record and Systems of Engagement.
By describing entity and entity relationship types using a variety of open standards-based notations and associated serialization formats. For example, we could represent “New York is a city in the USA” as:
Meaning:
Representation is modeled on a node, relationship (vertex), and node structure basis, oriented toward software interaction by programmers. Entity denotation is literal, i.e., label-based, leaving the software programmer to handle relationship type semantics in his or her code.
New York & USA Representation Example
Using the new Graph Query Language (GQL), this would be represented as:
Representation is modeled using a subject, predicate, object (or entity, attribute, value) structure aligned with controlled natural language. Notations and serialization formats are typically dual-purpose (e.g., JSON-LD, RDF-Turtle, RDF-XML).
Entity denotation is based on structured identifiers, which can include hyperlinks, providing web-like navigability for interactions by human operators and software agents.
New York & USA Representation Example
Using RDF-Turtle Notation, this would be represented as:
Using RDF-Turtle Notation, and leveraging hyperlinks for denotation of subjects and predicates, and a hyperlink or literal for objects:
The statistical nature of LLMs renders them suboptimal as the sole technology for effectively interacting with the fluid nature of knowledge. Knowledge Graphs complement LLMs as reliable sources of knowledge curated by domain experts. Achieving this synergy requires LLMs that support external function integration with Knowledge Graphs using Retrieval-Augmented Generation (RAG) or Graph Retrieval-Augmented Generation (GraphRAG) processing pipelines.
This approach typically uses external function integration primarily focused on vector-indexing of knowledge documents, providing richer context for prompt-response generation pipelines. Its coarse-grained nature, however, can lead to factual-sounding inaccuracies (a.k.a. hallucinations).
This approach also relies on interactions with Knowledge Graphs via external functions. These functions may provide an entire Knowledge Graph or query results (e.g., SQL, SPARQL, GraphQL, or GQL) to offer rich context, reducing hallucinations through prompt-query templates.
In various ways:
As custom AI Agents (or Assistants) associated with an LLM platform provider (e.g., OpenAI) that offers a store (e.g., the OpenAI Custom GPT Store).
Via Chatbot widgets integrated into webpages.
Via OpenAI-compliant APIs described by YAML or JSON documents.
Here are three simple use case examples showcasing AI Agent interactions enhanced by loosely coupled Knowledge Graph interactions:
Obtaining a Free Evaluation Virtuoso License
Virtuoso Product Support Agent for a Chief Data Officer
Finding the Cheapest Virtuoso Online Offer
Each of these examples is based on the following:
Virtuoso Platform -- provides loosely coupled SQL, SPARQL, and GraphQL access to Data Spaces (databases, knowledge graphs, and document collections).
OpenLink AI Layer -- which provides a conversational interface into Virtuoso.
The relationship between AI Agents and Knowledge Graphs is symbiotic, delivering a best-of-both-worlds approach that evolves software interaction into a much more productive form. This is achieved through multimodal natural language interfacing and loose coupling with Knowledge Graphs, enabling direct functionality interaction without the lossiness of command lines or basic Graphical User Interface (GUI) widgets.
Create AI Agents declaratively (rather than imperatively) by describing their desired functionality.
Create and enrich Knowledge Graphs for use by AI Agents.
Loosely couple AI Agents and Knowledge Graphs leveraging RAG, GraphRAG, or a combination of both pipelines, as needed.