AI is today.

Wouldn't it be great to have an assistant when working in Requirements Engineering? Then take a look at my implementation here: Adaptive Retrieval Augmented Generation in Combination with the requirements management tool IBM DOORS Next.

AI Assistant in Action

How can an AI assistant help you specify a system in your day-to-day work? Let's take a look at how it works.

Today's products and systems are becoming increasingly complex. An assistant would be very helpful in managing time pressures, high quality requirements and compliance with industry standards, legal requirements and regulations. As an engineer, I use the IBM® Engineering Requirements Management DOORS Next tool to define requirements.

AI Assistant searchs in Knowledge Base

The screenshot on the right shows the AMR requirements development project in IBM DOORS Next Generation. The System Requirements Specification contains the requirements for the development of Automatic Meter Reading (AMR). My AI Assistant can answer general and specific project questions. I can ask the assistant questions such as "What must be the requirement to meet the IEC 60529 standard for any supplementary communication between subsystem units?" The assistant provides an answer from the knowledge base, which I can easily use in the specification after an review.

next

Adaptive Retrieval Augmented Generation

To answer this question, I use Adaptive Retrieval Augmented Generation (RAG). This is a technique in which a generative AI system dynamically retrieves relevant information from external knowledge sources to augment its answers, tailoring the retrieval based on the query and context. This approach ensures more accurate, contextually relevant, and timely results by combining retrieval mechanisms with generative capabilities.

Adaptive RAG

In detail, I use LangGraph in my implementation. Adaptive RAG combines query analysis with self-reflection RAG. In query analysis, the model evaluates whether the user query is related to the data stored in the vector store or whether it should be answered via a web search. For questions related to the index, the program routes to the self-reflection RAG. In different chains, a generated answer is checked, as well as a check for hallucinations.

How does the data get into the Vector Store?

The process begins by loading the text data from different sources (e.g., files, databases, web sites, DOORS Next). The loaded text is broken down into smaller, more manageable chunks (e.g., sentences, paragraphs). Each chunk of text is then processed by an embedding model. This model converts the text into a dense vector representation (embedding) that captures its semantic meaning. Finally, the generated embeddings are stored in a specialized vector database. Such a database is optimized for efficient similarity search based on the vector representations.

Text Loading, Splitting, Embedding and Storing

Used Technologies

The complete application can run locally. I am using LangChain, Docling, Scrapy and OSLC for document loading, nomic-embed-text for embedding and Chroma for storing. The RAG part contains LangChain, LangGraph, LangChain DuckDuckGo, LangChain Tavily and Ollama with Llama3.2 or alternate granite-dense or mistral-nemo.

Next functionalities

AI is constantly evolving. My approach is to try out new technologies and see if they fit the use case, and then optimize the basics. Adding more routes and Agentic Retrieval Augmented Generation is also next.

What's next?

Would you like to test such a solution on your data and use cases? Let’s discuss!

next

Impressum/Imprint

Hubert Spieß
Reventlowstraße 5
80805 München
Tel. 0175 7281914
Internet: www.hubert-spiess.de
E-Mail: mail@hubert-spiess.de

Datenschutzhinweis

Erhebung und Speicherung personenbezogener Daten sowie Art und Zweck von deren Verwendung beim Besuch der Website. Beim Aufrufen der Website hubert-spiess.de werden durch den auf Ihrem Endgerät zum Einsatz kommenden Browser automatisch Informationen an den Server unserer Website gesendet. Diese Informationen werden temporär in einem sog. Logfile gespeichert. Folgende Informationen werden dabei ohne Ihr Zutun erfasst und bis zur automatisierten Löschung gespeichert:

IP-Adresse des anfragenden Rechners, Datum und Uhrzeit des Zugriffs, Name und URL der abgerufenen Datei, Website, von der aus der Zugriff erfolgt (Referrer-URL), verwendeter Browser und ggf. das Betriebssystem Ihres Rechners sowie der Name Ihres Access-Providers.

Die genannten Daten werden durch uns zu folgenden Zwecken verarbeitet: Gewährleistung eines reibungslosen Verbindungsaufbaus der Website, Gewährleistung einer komfortablen Nutzung unserer Website, Auswertung der Systemsicherheit und -stabilität sowie zu weiteren administrativen Zwecken.

Die Rechtsgrundlage für die Datenverarbeitung ist Art. 6 Abs. 1 S. 1 lit. f DSGVO. Unser berechtigtes Interesse folgt aus oben aufgelisteten Zwecken zur Datenerhebung. In keinem Fall verwenden wir die erhobenen Daten zu dem Zweck, Rückschlüsse auf Ihre Person zu ziehen.

Weitergabe von Daten

Eine Übermittlung Ihrer persönlichen Daten an Dritte zu anderen als den im Folgenden aufgeführten Zwecken findet nicht statt. Wir geben Ihre persönlichen Daten nur an Dritte weiter, wenn: Sie Ihre nach Art. 6 Abs. 1 S. 1 lit. a DSGVO ausdrückliche Einwilligung dazu erteilt haben, die Weitergabe nach Art. 6 Abs. 1 S. 1 lit. f DSGVO zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen erforderlich ist und kein Grund zur Annahme besteht, dass Sie ein überwiegendes schutzwürdiges Interesse an der Nichtweitergabe Ihrer Daten haben, für den Fall, dass für die Weitergabe nach Art. 6 Abs. 1 S. 1 lit. c DSGVO eine gesetzliche Verpflichtung besteht, sowie dies gesetzlich zulässig und nach Art. 6 Abs. 1 S. 1 lit. b DSGVO für die Abwicklung von Vertragsverhältnissen mit Ihnen erforderlich ist.

Betroffenenrechte

Sie haben das Recht:

gemäß Art. 15 DSGVO Auskunft über Ihre von uns verarbeiteten personenbezogenen Daten zu verlangen. Insbesondere können Sie Auskunft über die Verarbeitungszwecke, die Kategorie der personenbezogenen Daten, die Kategorien von Empfängern, gegenüber denen Ihre Daten offengelegt wurden oder werden, die geplante Speicherdauer, das Bestehen eines Rechts auf Berichtigung, Löschung, Einschränkung der Verarbeitung oder Widerspruch, das Bestehen eines Beschwerderechts, die Herkunft ihrer Daten, sofern diese nicht bei uns erhoben wurden, sowie über das Bestehen einer automatisierten Entscheidungsfindung einschließlich Profiling und ggf. aussagekräftigen Informationen zu deren Einzelheiten verlangen;

gemäß Art. 16 DSGVO unverzüglich die Berichtigung unrichtiger oder Vervollständigung Ihrer bei uns gespeicherten personenbezogenen Daten zu verlangen;

gemäß Art. 17 DSGVO die Löschung Ihrer bei uns gespeicherten personenbezogenen Daten zu verlangen, soweit nicht die Verarbeitung zur Ausübung des Rechts auf freie Meinungsäußerung und Information, zur Erfüllung einer rechtlichen Verpflichtung, aus Gründen des öffentlichen Interesses oder zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen erforderlich ist;

gemäß Art. 18 DSGVO die Einschränkung der Verarbeitung Ihrer personenbezogenen Daten zu verlangen, soweit die Richtigkeit der Daten von Ihnen bestritten wird, die Verarbeitung unrechtmäßig ist, Sie aber deren Löschung ablehnen und wir die Daten nicht mehr benötigen, Sie jedoch diese zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen benötigen oder Sie gemäß Art. 21 DSGVO Widerspruch gegen die Verarbeitung eingelegt haben;

gemäß Art. 20 DSGVO Ihre personenbezogenen Daten, die Sie uns bereitgestellt haben, in einem strukturierten, gängigen und maschinenlesebaren Format zu erhalten oder die Übermittlung an einen anderen Verantwortlichen zu verlangen;

gemäß Art. 7 Abs. 3 DSGVO Ihre einmal erteilte Einwilligung jederzeit gegenüber uns zu widerrufen. Dies hat zur Folge, dass wir die Datenverarbeitung, die auf dieser Einwilligung beruhte, für die Zukunft nicht mehr fortführen dürfen und

gemäß Art. 77 DSGVO sich bei einer Aufsichtsbehörde zu beschweren. In der Regel können Sie sich hierfür an die Aufsichtsbehörde Ihres üblichen Aufenthaltsortes oder Arbeitsplatzes oder unseres Firmensitzes wenden.

Widerspruchsrecht

Sofern Ihre personenbezogenen Daten auf Grundlage von berechtigten Interessen gemäß Art. 6 Abs. 1 S. 1 lit. f DSGVO verarbeitet werden, haben Sie das Recht, gemäß Art. 21 DSGVO Widerspruch gegen die Verarbeitung Ihrer personenbezogenen Daten einzulegen, soweit dafür Gründe vorliegen, die sich aus Ihrer besonderen Situation ergeben oder sich der Widerspruch gegen Direktwerbung richtet. Im letzteren Fall haben Sie ein generelles Widerspruchsrecht, das ohne Angabe einer besonderen Situation von uns umgesetzt wird.

Möchten Sie von Ihrem Widerrufs- oder Widerspruchsrecht Gebrauch machen, genügt eine E-Mail mail@hubert-spiess.de

Datensicherheit

Wir bedienen uns geeigneter technischer und organisatorischer Sicherheitsmaßnahmen, um Ihre Daten gegen zufällige oder vorsätzliche Manipulationen, teilweisen oder vollständigen Verlust, Zerstörung oder gegen den unbefugten Zugriff Dritter zu schützen. Unsere Sicherheitsmaßnahmen werden entsprechend der technologischen Entwicklung fortlaufend verbessert.

Aktualität und Änderung dieser Datenschutzerklärung

Diese Datenschutzerklärung ist aktuell gültig und hat den Stand Mai 2018. Durch die Weiterentwicklung unserer Website und Angebote darüber oder aufgrund geänderter gesetzlicher beziehungsweise behördlicher Vorgaben kann es notwendig werden, diese Datenschutzerklärung zu ändern. Die jeweils aktuelle Datenschutzerklärung kann jederzeit auf der Website unter Datenschutzhinweis von Ihnen abgerufen und ausgedruckt werden.

Hinweis: Basistemplate ist von HTML5 UP und lizenziert unter Creative Commons Attribution 3.0 License.