<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Kunaal Thanik</title>
    <description>The latest articles on DEV Community by Kunaal Thanik (@kunaal_ai_tester).</description>
    <link>https://dev.to/kunaal_ai_tester</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1630365%2F031df712-4280-44d8-96bc-ec1ac127e0e5.png</url>
      <title>DEV Community: Kunaal Thanik</title>
      <link>https://dev.to/kunaal_ai_tester</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kunaal_ai_tester"/>
    <language>en</language>
    <item>
      <title>RAG+RAGAS+LangChain+FAISS+OpenAI</title>
      <dc:creator>Kunaal Thanik</dc:creator>
      <pubDate>Tue, 13 May 2025 23:35:43 +0000</pubDate>
      <link>https://dev.to/kunaal_ai_tester/ragragaslangchainfaissopenai-40nk</link>
      <guid>https://dev.to/kunaal_ai_tester/ragragaslangchainfaissopenai-40nk</guid>
      <description>&lt;h2&gt;
  
  
  RAG (Retrieval-Augmented Generation) Workflow
&lt;/h2&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Import Required Libraries&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;This imports all the necessary libraries for loading datasets, performing text splitting, creating embeddings, building a retrieval system, and evaluating metrics.&lt;/p&gt;

&lt;p&gt;dotenv: For loading environment variables (e.g., API keys).&lt;/p&gt;

&lt;p&gt;load_diabetes: Provides the diabetes dataset from scikit-learn.&lt;/p&gt;

&lt;p&gt;LangChain libraries: Tools for text splitting, embeddings, and setting up a question-answering (QA) pipeline.&lt;/p&gt;

&lt;p&gt;FAISS: A library for efficient similarity search and clustering of dense vectors.&lt;/p&gt;

&lt;p&gt;Ragas: For evaluating retrieval-based question-answering systems.&lt;/p&gt;

&lt;p&gt;Dataset: From the datasets library, useful for organizing data for evaluation.&lt;/p&gt;

&lt;p&gt;userdata: Used for securely retrieving sensitive data in Google Colab.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. &lt;strong&gt;Ground Truth&lt;/strong&gt; - Source of Truth
&lt;/h2&gt;

&lt;p&gt;The foundation of the system lies in the source data. In this example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;diabetes&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;load_diabetes&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;raw_text&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;diabetes&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;DESCR&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;load_diabetes()&lt;/code&gt;&lt;/strong&gt;: Fetches the diabetes dataset from &lt;code&gt;sklearn.datasets&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;diabetes.DESCR&lt;/code&gt;&lt;/strong&gt;: Contains a detailed description of the dataset (variables, data characteristics).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;raw_text&lt;/code&gt;&lt;/strong&gt;: Represents the "Ground Truth" that the RAG system will reference for its operations.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  2. &lt;strong&gt;Retrieval&lt;/strong&gt; - Finding Relevant Information
&lt;/h2&gt;

&lt;p&gt;The raw text (input) is split into smaller chunks, and a vector store is created using &lt;strong&gt;FAISS&lt;/strong&gt;. Queries retrieve the most relevant chunks.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Split into chunks (simulate document retrieval)
&lt;/span&gt;&lt;span class="n"&gt;text_splitter&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;RecursiveCharacterTextSplitter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;chunk_size&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;500&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;chunk_overlap&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;50&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;texts&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;text_splitter&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;split_text&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;raw_text&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Create Embeddings &amp;amp; Build FAISS Index
&lt;/span&gt;&lt;span class="n"&gt;embeddings&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;OpenAIEmbeddings&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;text-embedding-ada-002&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# Recommended model
&lt;/span&gt;&lt;span class="n"&gt;docsearch&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;FAISS&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;from_texts&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;texts&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;embeddings&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;RecursiveCharacterTextSplitter&lt;/code&gt;&lt;/strong&gt;: Splits the large &lt;code&gt;raw_text&lt;/code&gt; into smaller, overlapping segments (&lt;code&gt;texts&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;OpenAIEmbeddings&lt;/code&gt;&lt;/strong&gt;: Converts input text chunk into numerical vector representations for processing.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;FAISS.from_texts(texts, embeddings)&lt;/code&gt;&lt;/strong&gt;: Builds an index of these embeddings for efficient retrieval.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  3. &lt;strong&gt;Augmentation&lt;/strong&gt; - Adding Context
&lt;/h2&gt;

&lt;p&gt;The &lt;strong&gt;&lt;code&gt;RetrievalQA&lt;/code&gt;&lt;/strong&gt; chain in LangChain manages augmentation.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It takes the user's query and uses the &lt;strong&gt;&lt;code&gt;docsearch&lt;/code&gt;&lt;/strong&gt; index to find relevant documents.&lt;/li&gt;
&lt;li&gt;These documents are passed to the LLM along with the original query, providing contextual information.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;llm&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;ChatOpenAI&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;model_name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;gpt-3.5-turbo&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;temperature&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;qa_chain&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;RetrievalQA&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;from_chain_type&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;llm&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;llm&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;chain_type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;stuff&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;retriever&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;docsearch&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;as_retriever&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt;
    &lt;span class="n"&gt;return_source_documents&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;True&lt;/span&gt;  &lt;span class="c1"&gt;# helpful for debugging
&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;RetrievalQA.from_chain_type&lt;/code&gt;&lt;/strong&gt; sets up the RAG pipeline.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;retriever=docsearch.as_retriever()&lt;/code&gt;&lt;/strong&gt; connects FAISS index to QA chain, enables fetch relevant doc/info based on query&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;chain_type="stuff"&lt;/code&gt;&lt;/strong&gt; pass retrieved doc/info to LLM. It stuffs query+info/doc.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;return_source_documents=True&lt;/code&gt;&lt;/strong&gt; for traceability&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  4. &lt;strong&gt;Generation&lt;/strong&gt; - Producing the Response
&lt;/h2&gt;

&lt;p&gt;The LLM generates a response by combining the query and augmented context retrieved in the previous step.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;query&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;queries&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;qa_chain&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;invoke&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;query&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;query&lt;/span&gt;&lt;span class="p"&gt;})&lt;/span&gt;
    &lt;span class="n"&gt;answers&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;result&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;

    &lt;span class="c1"&gt;# Extract retrieved docs for Ragas evaluation
&lt;/span&gt;    &lt;span class="n"&gt;retrieved_docs&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;source_documents&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;[])&lt;/span&gt;
    &lt;span class="n"&gt;contexts&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;append&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="n"&gt;doc&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;page_content&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;doc&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;retrieved_docs&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  5. &lt;strong&gt;Traceability&lt;/strong&gt; - Explaining the Source
&lt;/h2&gt;

&lt;p&gt;The system ensures traceability by showing the origin of the retrieved information, helping users understand the response's basis.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;retrieved_docs&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;source_documents&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;[])&lt;/span&gt;
    &lt;span class="n"&gt;contexts&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;append&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="n"&gt;doc&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;page_content&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;doc&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;retrieved_docs&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>rag</category>
      <category>machinelearning</category>
      <category>ai</category>
      <category>openai</category>
    </item>
    <item>
      <title>Machine Learning testing strategies</title>
      <dc:creator>Kunaal Thanik</dc:creator>
      <pubDate>Tue, 13 May 2025 02:28:19 +0000</pubDate>
      <link>https://dev.to/kunaal_ai_tester/machine-learning-testing-strategies-410g</link>
      <guid>https://dev.to/kunaal_ai_tester/machine-learning-testing-strategies-410g</guid>
      <description>&lt;h3&gt;
  
  
  Model Accuracy and Performance
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Using special test data to see how well a model works.
&lt;/li&gt;
&lt;li&gt;Measuring results with scores like precision, recall, and accuracy.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So, let’s talk about how to test the accuracy of a model. Now that you have a dataset to train the model, you’ll keep some of it aside as a test set. This is called the hold-out data set. What does it mean? Well, it means the model hasn’t seen this data before, so you’ll use it to test how well it performs. If the model still works great, you can calculate some scores to see if it’s up to expectations. &lt;/p&gt;

&lt;p&gt;For example, precision, recall, accuracy, and F1 scores give you a good idea of how well the model is doing. These numbers usually range from 0 to 1. A score of 0 means the model is performing poorly, while a score of 1 means it’s performing very well. You can also use other tools to check the latency and throughput of the model, like JMeter or Locust. By using these two techniques, you can check the accuracy, performance, and other aspects of the model.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In my usual approach, I ask myself a question: Can I trust these numbers?&lt;/strong&gt; As a QA, you’re not going to stop at these numbers. These numbers can be misleading representations of the information. This happened recently with a major company developing an AI chatbot. They replaced human agents with AI chatbot agents and were heavily relying on these numbers. They believed it was working perfectly, but the reality was different. They had to go back to human Customer Service agents. &lt;/p&gt;

&lt;p&gt;Let's assume you are working with a model that is capable enough to detect if the email is spam or not. That means you have two classes: spam and non-spam. The data you provide to the model should have an equal distribution. 50 spam emails and 50 non-spam emails, the distribution should be 50-50. If the distribution is not accurate, you need to resample the data. Resampling means balancing the data so that you get 50-50 percent. You can do this using data synthesis, where you generate artificial data and add it back to the dataset. After resampling, you run the same performance metrics [Recall, Accuracy, F1, precision] on both classes. Finally, you compare the final scores of class one and class two with the model’s scores. If all these numbers match closely, you have high confidence in the model. If you see any major discrepancies, take care of them.&lt;/p&gt;

&lt;h3&gt;
  
  
  Robustness
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Using tools like Great Expectations to check the quality of data.
&lt;/li&gt;
&lt;li&gt;Making sure models work well even with tricky or unusual inputs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sometimes [Most of the time], people ask questions with spelling mistakes or grammar errors. This is why the model should be able to understand the intent, even with errors. So adding noice to data is a technique to test system.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bias and Fairness
&lt;/h2&gt;

&lt;p&gt;Using tools like IBM AIF360, Google What-If, and Microsoft Fairlearn to find and fix unfairness in models.&lt;/p&gt;

&lt;p&gt;Bias and fairness are crucial parts of testing because if the model is biased, it can lead to serious consequences for the company. I won’t mention any specific companies that have faced legal issues due to biased data, but you can search online. You need to work hard to address this issue. There are multiple tools available, such as IBM’s AI Fairness 360, Google’s What If, and Microsoft’s FairLearn. Each tool has its own strengths and weaknesses.&lt;/p&gt;

&lt;p&gt;Bias can happen in different ways. It can be in the training data or the model, or the output of the model. So, there are many different techniques we’ll use to detect and fix bias at each level.&lt;/p&gt;

&lt;h3&gt;
  
  
  Integration
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Testing how applications work with systems like EHR (Electronic
Health Records).&lt;/li&gt;
&lt;li&gt;Ensuring smooth data sharing and system compatibility.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The next step is integration. It’s super important because it doesn’t matter how good the model is. If the integration isn’t seamless, who’s going to use the application? For example, in a doctor’s office, there’s an EHR called electronic health records. An AI model should be integrated with that system seamlessly, ensuring smooth data sharing and system compatibility. Think of it like you’re developing an app. You need to make sure it works on iOS, Android, and other platforms. Otherwise, it might be a big failure.&lt;/p&gt;

&lt;h3&gt;
  
  
  Monitoring
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Keeping an eye on how models behave over time.
&lt;/li&gt;
&lt;li&gt;Using tools like Amazon SageMaker Model Monitor to spot problems.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The last step is monitoring. Keep an eye on the model’s behavior over time and do regular audits. Document everything. The goal is to make sure the model’s performance doesn’t degrade. Check every time if the model’s performance is the same or increasing. If it’s degrading, take action to prevent it. Amazon AWS provides tools like SageMaker Model Monitor, but you’ll need to work manually with the compliance team as well.&lt;/p&gt;

&lt;h3&gt;
  
  
  Regulatory Compliance
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Making sure AI follows important rules like HIPAA and protects personal data, PII, and PHI.&lt;/li&gt;
&lt;li&gt;Keeping sensitive information safe with strong security measures.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Be careful about regulatory compliance. Make sure the AI follows the important rules of your domain, whether it’s healthcare (HIPAA) or something else. Also, make sure the data is encrypted and protected with strong security measures. There is a very big healthcare insurance company in the USA, which is facing huge legal issues. Lawsuits are active, and they faced a penalty of around 22 million dollars, but that is not it. It is just a type of iceberg because the reputation of the company is on stake now and even right after that the stock market value was down by $118 billion for that company so that is a huge loss why because the algorithm they were using NH algorithm that was not as per compliance and the and even right after that the stock market value was down by $118 billion for that company so that is a huge loss why because the algorithm they were using NH algorithm that was not as per compliance and the regulatory regulations so I would say this is the one of the most crucial part of testing AI applications specifically if you are dealing with the healthcare and finance industry, it can affect human lives directly.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>machinelearning</category>
      <category>aitest</category>
      <category>testing</category>
    </item>
  </channel>
</rss>
