> For the complete documentation index, see [llms.txt](https://pmse.gitbook.io/pmse-dhdk/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://pmse.gitbook.io/pmse-dhdk/2.-software-requirement-specification/2.6-requirements-list.md).

# 2.6 Requirements List

These requirements ensure that the application meets its purpose of providing a robust, user-friendly, and efficient knowledge retrieval system tailored to GNA's needs.

## **Functional Requirements**

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><mark style="color:blue;"><strong>FR01</strong></mark><strong> - Conversational AI Interface</strong></td><td><strong>Requirement</strong>: The application must provide an intuitive conversational interface to facilitate user interaction.</td><td>Users should be able to input queries in natural language and receive contextually relevant responses. This interface is the primary interaction point and must support dynamic conversation flows.</td><td><a href="/files/ZJvEEkIt0DZ76MAOpGNO">/files/ZJvEEkIt0DZ76MAOpGNO</a></td></tr><tr><td><mark style="color:blue;"><strong>FR02</strong></mark><strong> - Knowledge Retrieval System</strong></td><td><strong>Requirement</strong>: The system must accurately retrieve knowledge based on user queries using a FAISS-based vector store.</td><td>The vector store must index and retrieve relevant data efficiently, ensuring users receive accurate and context-specific results.</td><td><a href="/files/MgkO45vsdxfBwOJrQEuZ">/files/MgkO45vsdxfBwOJrQEuZ</a></td></tr><tr><td><mark style="color:blue;"><strong>FR03</strong></mark><strong> - Data Processing Pipeline</strong></td><td><strong>Requirement</strong>: The application must include a pipeline for preprocessing, indexing, and embedding knowledge.</td><td>Textual data should be transformed into embeddings for storage in the vector store, ensuring high retrieval accuracy.</td><td><a href="/files/frJMizCJ7Y16rscqmkvN">/files/frJMizCJ7Y16rscqmkvN</a></td></tr><tr><td><mark style="color:blue;"><strong>FR04</strong></mark><strong> - Model Fine-tuning</strong></td><td><strong>Requirement</strong>: The AI language model must be fine-tuned to understand domain-specific terminology and user intent.</td><td>The model should incorporate GNA’s unique knowledge base to deliver precise and relevant responses.</td><td><a href="/files/98vSCKPl04sGRmJx1pmp">/files/98vSCKPl04sGRmJx1pmp</a></td></tr><tr><td><mark style="color:blue;"><strong>FR05</strong></mark><strong> - User Feedback Mechanism</strong></td><td><strong>Requirement</strong>: Provide a feedback system for users to rate the quality of responses.</td><td>User feedback should be collected to improve the system’s accuracy and usability through iterative refinements.</td><td><a href="/files/BFmdM3oJ1QBI1BbEIpfK">/files/BFmdM3oJ1QBI1BbEIpfK</a></td></tr><tr><td><mark style="color:blue;"><strong>FR06</strong></mark><strong> - Multi-turn Sessions</strong></td><td><strong>Requirement</strong>: Support multi-turn conversations that maintain context across multiple queries.</td><td>The system should remember context within a session to provide coherent responses.</td><td><a href="/files/hJsfEunapqxQYFf73kOK">/files/hJsfEunapqxQYFf73kOK</a></td></tr><tr><td><mark style="color:blue;"><strong>FR07</strong></mark><strong> - Integration with External Systems and Cloud Hosting</strong></td><td><strong>Requirement</strong>: Integrate with existing GNA web platform.</td><td>The application must be compatible with GNA’s knowledge management ecosystem to fetch and update information and the GNA web platform has to host the chatbot in its full application deployment.</td><td><a href="/files/5DveHatKXoeOugwrfOQa">/files/5DveHatKXoeOugwrfOQa</a></td></tr></tbody></table>

## **Non-functional Requirements**

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><mark style="color:blue;"><strong>NFR01</strong></mark><strong> - Performance</strong></td><td><strong>Requirement</strong>: The system must provide query responses within 2 seconds for 95% of requests.</td><td>Low latency is critical to maintaining a smooth user experience.</td><td><a href="/files/sWgzRgGyViBhwVoqGKLB">/files/sWgzRgGyViBhwVoqGKLB</a></td></tr><tr><td><mark style="color:blue;"><strong>NFR02</strong></mark><strong> -</strong> <strong>Scalability</strong></td><td><strong>Requirement</strong>: The application must handle concurrent requests from at least 100 users without performance degradation.</td><td>Scalability ensures the system can support a growing user base or increased demand.</td><td><a href="/files/YwwnTDYsmM7AwX3csM4G">/files/YwwnTDYsmM7AwX3csM4G</a></td></tr><tr><td><mark style="color:blue;"><strong>NFR03</strong></mark><strong> -</strong> <strong>Security</strong></td><td><strong>Requirement</strong>: Ensure secure handling of user data and knowledge base information.</td><td>The application must comply with data protection standards and include safeguards against unauthorized access.</td><td><a href="/files/anQSKalwUNygvvLOtcGI">/files/anQSKalwUNygvvLOtcGI</a></td></tr><tr><td><mark style="color:blue;"><strong>NFR01</strong></mark><strong> - Usability</strong></td><td><strong>Requirement</strong>: The interface must be user-friendly and accessible to users.</td><td>The system should provide a seamless experience to users.</td><td><a href="/files/6Fyq5p3u5Pzn0W31kDjm">/files/6Fyq5p3u5Pzn0W31kDjm</a></td></tr><tr><td><mark style="color:blue;"><strong>FR01</strong></mark><strong> - Reliability</strong></td><td><strong>Requirement</strong>: The system must have an uptime of 99.9%.</td><td>High reliability ensures the application is available when users need it.</td><td><a href="/files/jFacsO1ruraghzpccaUv">/files/jFacsO1ruraghzpccaUv</a></td></tr><tr><td><mark style="color:blue;"><strong>NFR04</strong></mark><strong> -</strong> <strong>Maintainability</strong></td><td><strong>Requirement</strong>: The application codebase must be modular and well-documented to support future updates.</td><td>A maintainable design reduces the effort and cost of future enhancements or fixes.</td><td><a href="/files/OrNYY6NCdWwB6JQAXzoU">/files/OrNYY6NCdWwB6JQAXzoU</a></td></tr><tr><td><mark style="color:blue;"><strong>NFR04</strong></mark><strong> - Adaptability</strong></td><td><strong>Requirement</strong>: The system must support updates to the knowledge base and retraining of the AI model without downtime.</td><td>The ability to adapt ensures the application remains relevant as knowledge and requirements evolve.</td><td><a href="/files/A87RlCB8ilKfz7hwC33u">/files/A87RlCB8ilKfz7hwC33u</a></td></tr><tr><td><mark style="color:blue;"><strong>NFR05</strong></mark><strong> - Data Privacy</strong></td><td><strong>Requirement</strong>: The system must anonymize user data and ensure compliance with GDPR or other relevant regulations.</td><td>Protecting user data builds trust and avoids legal risks.</td><td><a href="/files/8uR4ymPmqDTqspG9QZvl">/files/8uR4ymPmqDTqspG9QZvl</a></td></tr><tr><td><mark style="color:blue;"><strong>NFR06</strong></mark><strong> - Auditability</strong></td><td><strong>Requirement</strong>: Maintain detailed logs of system activity for troubleshooting and auditing.</td><td>Logs help identify issues and ensure accountability for system actions.</td><td><a href="/files/mlcJ4IYiW6hZtK061WK6">/files/mlcJ4IYiW6hZtK061WK6</a></td></tr></tbody></table>

### <mark style="color:blue;">**Software Technologies Used**</mark>

1. **Python:** A powerful programming language particularly suited for software development in machine learning contexts.
2. **MistralAi**: Provides embeddings for vector search and generates retrieval-augmented responses.
3. **FAISS**: Efficiently indexes and retrieves chunks of text.
4. **Streamlit**: Creates a web-based interface for interaction.
5. **Pandas**: Manages and processes the dataset.
6. **dotenv**: Loads API keys and configuration from environment variables.
7. **LangChain**: Powers the conversational and retrieval logic.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://pmse.gitbook.io/pmse-dhdk/2.-software-requirement-specification/2.6-requirements-list.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
