Retrieval Augmented Generation (RAG) with Google Gemma From HuggingFace

In a previous article, I explained how to fine-tune Google's Gemma model for text classification. In this article, I will explain how you can improve performance of a pretrained large language model (LLM) using retrieval augmented generation (RAG) technique. So, let's begin without ado.

What is Retrieval Augmented Generation (RAG)

Retrieval Augmented Generation (RAG) enhances a language model's knowledge by integrating external information into the response generation process. By dynamically pulling relevant information from a vast corpus of data, RAG enables models to produce more informed, accurate, and contextually rich responses, bridging the gap between raw computational power and real-world knowledge.

RAG works in the following four steps:

  1. Store data containing external knowledge into a vector database.
  2. Convert the input query into corresponding vector embeddings and retrieve the text from the database having the highest similarity with the input query.
  3. Formulate the query and the information retrieved from the vector database.
  4. Pass the formulated query to an LLM and generate a response.

You will see how to perform the above steps in this tutorial.

RAG with Google Gemma from HuggingFace

We will first import the required libraries and then import our dataset from Kaggle. The dataset consists of Warren Buffet letters to investors from 1977 to 2021.

Next, we will split our dataset into chunks using the Pythhon LangChain module. Subsequently, we will import an embedding model from HuggingFace and create a dataset containing vector embeddings for the text chunks.

After that, we will retrieve responses from the dataset based on our input query. Finally, we will pass the query and database response to the Gemma LLM model to generate the final response.

Importing Required libraries
!pip install -q langchain
!pip install -q torch
!pip install -q -U transformers==4.38.0
!pip install -q sentence-transformers
!pip install -q -U bitsandbytes==0.42.0
!pip install -q datasets
!pip install -q faiss-cpu
!pip install unstructured
!pip install accelerate
!pip install kaggle
!pip install huggingface-hub

The script below imports required libraries.


from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain.embeddings import HuggingFaceEmbeddings
from langchain.chains.question_answering import load_qa_chain
from sentence_transformers import SentenceTransformer
from langchain.vectorstores import FAISS
from transformers import AutoTokenizer, AutoModelForCausalLM
from transformers import BitsAndBytesConfig, GemmaTokenizer
from transformers import AutoTokenizer, pipeline
from langchain_community.document_loaders import DirectoryLoader
import torch
Importing Warren Buffet Letters Dataset from Kaggle

I ran my script in Google Colab and downloaded the Kaggle dataset in Google Colab.

Using the following script, you can import your Kaggle.json file containing your Kaggle API key into Google Colab.


from google.colab import files
uploaded = files.upload()

Next, You can run the following script to download and unzip the dataset into your Google Colab directory.


!mkdir -p ~/.kaggle
!cp kaggle.json ~/.kaggle/
!chmod 600 ~/.kaggle/kaggle.json

!kaggle datasets download -d balabaskar/warren-buffet-letters-to-investors-1977-2021

!unzip -q /content/warren-buffet-letters-to-investors-1977-2021.zip
Reading and Splitting Documents with Langchain

The following script uses the LangChain DirectoryLoader().load() method to load the text documents into LangChain document objects.


folder_path = '/content/Warren_buffet_letters/Warren_buffet_letters'
loader = DirectoryLoader(folder_path, glob='**/*.txt')
docs = loader.load()
print(f"Total documents loaded: {len(docs)}")

Output:

Total documents loaded: 45

Next, we will divide our documents into multiple chunks using the RecursiveCharacterTextSplitter from the langchain.text_splitter module. You can use any other splitter if you want.

The following script creates an object of the RecursiveCharacterTextSplitter class. We divide our documents into chunks of 1000 characters with an overlap of 200 characters between all chunks.


splitter = RecursiveCharacterTextSplitter(
    chunk_size=1000,  
    chunk_overlap=200,  
    length_function=len
)

The script below divides all the documents into text chunks using the RecursiveCharacterTextSplitter splitter.


all_text_chunks = []  # To store chunks from all documents
for doc in docs:
    text_content = doc.page_content
    text_chunks = splitter.split_text(text_content)
    all_text_chunks.extend(text_chunks)

print("Total chunks:", len(all_text_chunks))
print("============================")

Output:

Total chunks: 4795
============================
Creating Document embeddings

The next step is to create vector embeddings for these chunks. You can use any embedding model you want. However, for this article, I will use a free open source embedding model from HuggingFace.


embedding_model = SentenceTransformer("thenlper/gte-large")
model_path = "thenlper/gte-large"
embeddings = HuggingFaceEmbeddings(
    model_name = model_path
)

embedding_vectors = FAISS.from_texts(all_text_chunks, embeddings)

The FAISS in the above script is a Facebook library that allows efficient searching and clustering of vector embeddings. We vectorize our document using this library.

We have created our vector embeddings. Let's see an example. In the following script, we pass an input query to our vector embeddings database, which returns the text with the highest similarly.


question = "What is Warren Buffets Investment Pshychology?"
searchDocs = embedding_vectors.similarity_search(question)
searchDocs[0].page_content

Output:

image1.png

Getting Response Using Gemma Model

We will pass our input query and response from the vector database to the Gemma model to generate the final response.

First, you must log in to HuggingFace CLI by passing your HuggingFace access token in response to the following command.

!huggingface-cli login

Next, we will import the tokenizer and model weights for the gemma-2b-it model, a 2 billion parameters instruction variant of Gemma.


model_name = "google/gemma-2b-it"

device = "cuda:0"

tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name, device_map="auto")

Finally, we will define the generate_response() function that accepts a text query, generates a response from the vector embeddings, combines the input query and vector response, and passes it to the Gemma model for the final response.


def generate_response(query):
  searchDocs = embedding_vectors.similarity_search(question)

  response = searchDocs[0].page_content

  final_query = f"""Query: {query}\nContinue to answer the query by using the following Search Results.\n{response}. <end>"""
  print(final_query)


  inputs = tokenizer(final_query, return_tensors="pt").to(device)
  outputs = model.generate(**inputs, max_new_tokens = 500)
  final_response = tokenizer.decode(outputs[0], skip_special_tokens=True)

  return final_response

We can test the generate_response function using the following script:


query = "What is Warren Buffets Investment Pshychology?"
final_response = generate_response(query)
print("===================================")
print("RESPONSE FROM RAG MODEL")
print("===================================")
print(final_response.split("<end>")[1])

Output:

image2.png

You can see that the response contains information from our dataset. The response is more customized depending upon the information we passed to it from our vector database.

Conclusion

RAG is a powerful technique for integrating external knowledge into an LLM response. In this article, you saw how you can use vector embeddings and RAG to retrieve enhanced responses from an LLM model. You can use this technique to create custom chatbots based on your dataset. I suggest you try the Gemma 7b (seven billion parameters) model to see if you get better responses.

Semantic Search With Weaviate Vector Database

In a previous blog, the influence of the document format and the way it is embedded in combination with semantic search was discussed. LangChain4j was used to accomplish this. The way the document was embedded has a major influence on the results. This was one of the main conclusions. However, a perfect result was not achieved. 

In this post, you will take a look at Weaviate, a vector database that has a Java client library available. You will investigate whether better results can be achieved.

The Rise of AI Scams: Deciphering Reality in a World of Deepfakes

Discover the world of AI scams and find out how you can shield yourself against the cunning deceptions of deepfakes.

deepfakes-deep-implications.jpg

In an incident that underscores the alarming capabilities of artificial intelligence in the realm of fraud, a company in Hong Kong was defrauded of $25 million earlier this year. The elaborate scam involved an employee being deceived by sophisticated AI-generated impersonations of his colleagues, including the company's CFO based in the UK. The scammers leveraged deepfake technology, utilizing publicly available videos to craft eerily convincing replicas for a fraudulent video call.

This signals that we have officially entered the era of AI-facilitated scams. But what does this mean for the average person? How do deepfakes redefine digital deception? And how can we protect ourselves from these increasingly sophisticated scams? Keep on reading and youll find out.

Old Tricks, New Tools

Before we dive deeper into the implications of AI scams, lets take a quick look at the mechanics of the example from Hong Kong: This scam is essentially an iteration of the age-old CEO fraud, where imposters posing as senior company executives instruct unsuspecting employees to transfer funds urgently. The basic tools were a fake email-signature and -address. However, the advent of deepfake technology has significantly enhanced the scammer's arsenal, allowing them to emulate a CEO's voice, facial expressions, mannerisms, and even their personality with frightening accuracy. Hence, my prediction is that scams will become more elaborate, more personalized, and they will seem as real as anything else you engage with in the digital space.

Expect Personalized Phishing to Become a Thing

Traditionally, phishing attempts were largely indiscriminate, with scammers casting a wide net in hopes of capturing a few unsuspecting victims. These attempts often took the form of emails pretending to be from reputable institutions, sent out to thousands, if not millions, of recipients. The success of such scams relied on the sheer volume of attempts, with personalization playing a minimal role.

However, AI-generated content has shifted the balance, providing scammers with the tools to create highly personalized scams. Imagine this: someone recreates the voice of a random person. They then target people in that persons friends list with calls and audios that describe some kind of emergency and coax them to send money. By utilizing AI to mimic the voice or appearance of individuals, scammers can target people within the victim's social circle with tailored messages. Such scams are far more likely to elicit a response, leveraging the trust established in personal relationships.

The risk of becoming the protagonist of such a scam is particularly high for individuals with a significant online presence, as the content they share provides a rich dataset for scammers to exploit.

Deepfakes with Deep Implications

Deepfakes might also cause trouble beyond scamming your loved ones for their hard-earned savings. Imagine someone hacks into the system of a major broadcasting network and releases a fake breaking news bulletin announcing the outbreak of a nuclear war. Or a viral video that shows a member associated with imaginary group A behaving violently against a member of imaginary group B, causing a moral panic that leads to actual violence between the two groups. These are just two of endless possibilities to cause turmoil with AI generated content.

How to Stay Safe

Its reasonable to expect that deepfakes will increasingly be usedor abusedto impose more regulations on AI models. This, however, will not keep scammers and other people with bad intentions from creating whatever they want with their own offline models. In a nutshell, regulations will continue to make it difficult for the average user to generate funny pictures of celebrities, but they may not be sufficient to deter malicious actors. The strategy might actually backfire, as prohibitions usually do. Underground/dark web solutions might just become more popular overall.

So, what can we do to protect ourselves from falling for deepfakes? Critical thinking remains the first line of defense: verifying information through multiple credible sources, identifying logical inconsistencies, and consulting expert advice when in doubt. Technologically, robust security practices such as strong, unique passwords, multi-factor authentication, and malware protection are essential. And one thing learned from the $25 million scam in China is this: The importance of verifying the identity of individuals in significant transactions cannot be overstated, with face-to-face communication or the use of different communication channels being preferable.

Theres also a simple and effective way to safely handle communication from loved ones in apparent emergency situations: Come up with secret codewords with close friends and relatives (offline!) that you can use to verify their identity in such a case! This way, you can make sure it is actually your son/daughter/neighbor/friend who calls you in panic to tell you they lost all their money and need an emergency transfer.

Progress on the Singularity Loading Bar

The emergence of AI scams, exemplified by the $25 million fraud in Hong Kong, marks a crucial moment on the Singularity Loading Bar. As we venture further into this era of technological sophistication, the line between reality and fabrication becomes increasingly blurred. Awareness, education, and vigilance are essential in protecting ourselves from the myriad threats posed by deepfakes. By fostering a culture of skepticism and prioritizing personal interactions, we can mitigate the risks.

How to Create Multiple Sub-folders in Google Drive Automatically

A teacher would like to create separate Google Drive folders for each student in her class. Within each student’s folder, there will be additional subfolders for various subjects. This folder structure would make it easier for students to submit their assignments to the appropriate subject subfolders.

Students' data in Google Sheets

We’ve prepared a Google Sheet with the names of students, and the subjects they are taking. For example, consider a student named Emily Johnson, who is taking Maths, Science, and English. In this case, you need to create four new folders in total, with one main folder named ‘Emily Johnson’ and three subfolders within it for each subject: Maths, Science, and English.

Create Multiple Folders in Google Drive

Install the Document Studio add-on for Google Sheets. Open the spreadsheet with the student data and click on Extensions > Document Studio > Open to launch the add-on.

Create a new workflow inside Document studio, give it a descriptive name like Student Folders. Next, select the source worksheet that contains the student’s data and click on the Continue button to move to the next step.

Google Drive Task

On the next screen, you can specify the conditions for creating the folders in Google Drive. For instance, you may only want to create folders for students who are taking a specific subject or are in a particular class. Press the Continue button to move to the next step.

Choose the Google Drive task and then select Create Folder from the dropdown menu. Next, select the parent folder in Google Drive where the student folders should be created. You can choose to create folders inside your personal Google Drive or even Shared Drives.

Google Drive Folders

Naming Folders and SubfoldersStudent Folders

Now that you have selected the parent folder, you need to define the name of the child folder along with its subfolder structure.

For the Subfolder Name field, we’ll put {{ Full Name }} / {{ Subject 1 }} and this will do two things:

  1. Create a new folder for each student in the parent folder with the student’s name. The folder is only created if it doesn’t already exist.

  2. Inside the student folder, create a subfolder for Subject 1 that the student is taking. The value of Subject 1 is replaced with the actual subject name from the Google Sheet.

Subject Folders

You may also put the {{Email Address}} column in the Editors field to share the student folders with their email addresses automatically when the folder is created in Google Drive.

Create Additional Subject Subfolders

Now that you have defined the task to create subfolders for the first subject, you can add more tasks to create subfolders for other subjects as well.

Instead of creating a new task, you can simply duplicate the existing task and change the Subfolder Name field to {{ Full Name }} / {{ Subject 2 }} to create subfolders for the remaining subjects.

Create Subject Folders

Now that workflow is ready, choose the Save and Run option to create the folders and subfolders in Google Drive. The folders would be created and a link to the folder would be placed in the spreadsheet itself. If a folder already exists, the link to the existing folder is placed in the spreadsheet.

This is how the folder structure would look like in Google Drive:

Create Drive Folder Structure

Also see: Create Folders for Google Form responses

21 Best WordPress Themes for Crowdfunding

Are you looking for a WordPress theme for crowdfunding?

Many WordPress themes are geared towards corporate or blogging websites and may not be a good fit to help you raise funds for your organization or cause.

In this article, we will share some of the best WordPress themes for crowdfunding and fundraising websites.

Best WordPress themes for crowdfunding

Building a Crowdfunding Website With WordPress

Crowdfunding helps startups, charities, and individuals raise money for their projects. It allows you to collect small contributions from individuals to reach your fundraising goals.

Many of these projects use crowdfunding platforms like Kickstarter to run their campaign. However, you will also need your own website to better showcase your idea, mission, or cause.

This is where WordPress comes in. It’s the world’s most popular content management system, powering over 43% of all websites on the internet.

A self-hosted WordPress site gives you the flexibility and functionality to easily integrate with all popular third-party services you may be using for crowdfunding.

To get started, you will need a WordPress hosting account and a domain name. A domain name is your site’s address on the web, like wpbeginner.com or google.com. Web hosting is the storage for all your website files.

We recommend using Bluehost. They are one of the largest web hosting companies in the world and an officially recommended WordPress hosting provider.

Bluehost offer for WPBeginner readers

Bluehost is offering WPBeginner readers a big discount on hosting, plus a free domain name and free SSL certificate.

Once you have signed up for hosting, you can move on to installing WordPress. Head over to our step-by-step guide on how to make a WordPress site, and you will be up and running in no time.

Next, you will need to choose a theme for your website. You can select any theme from our expert pick below. If you need help installing the theme, then just check out our guide on how to install a WordPress theme.

Now, let’s take a look at some of the best WordPress themes for crowdfunding.

1. Astra

Astra Crowdfunding Site

Astra is a fast and lightweight WordPress multipurpose theme that works well for crowdfunding sites. You can easily add a 1-click starter template and customize it to give details about your organization or project.

You can use Astra with any popular drag-and-drop page builder plugin, such as Elementor Pro or Visual Composer. It’s also fully compatible with the WordPress block editor.

Astra also works seamlessly with all popular WordPress plugins, including crowdfunding plugins. This helps you raise money and take donations easily.

2. SeedProd

SeedProd crowdfunding and fundraising site

SeedProd is the best WordPress website and theme builder. It comes with several ready-made website templates, including a fully functional layout for your crowdfunding site.

You can import any template in one click and customize it with SeedProd’s built-in drag-and-drop builder. It’s beginner-friendly and gives you easy access to all the tools you need to design your website.

Moreover, it integrates with your favorite tools and plugins. SeedProd is the best choice for making a crowdfunding website, and we fully recommend it.

3. Divi

Divi Crowdfunding Site

Divi is a WordPress theme plus page builder plugin that gives you an easy front-end editor for your website. It uses a responsive design and is also created to be SEO-friendly.

You can use Divi’s thousands of templates to start your website quickly. They have a range of community and non-profit layout packs that could be perfect for your crowdfunding or charity site.

4. OceanWP

OceanWP

OceanWP is a free and flexible WordPress theme. You can also choose the Pro version, which comes with multiple website templates that you can use to start your site quickly.

Because OceanWP is a fully responsive theme, your website will look good on all devices. You can add a custom logo, social icons, and more.

5. Ultra

Ultra

Ultra is a dynamic and flexible theme that could be the perfect fit for your crowdfunding efforts. It ships with several ready-made websites that can be installed with one click. You can then replace the content with your own to create your site quickly.

Ultra also has an integrated drag and drop page builder, which allows you to create beautiful page layouts of your own. Inside, you will also find sections to add a portfolio, photo galleries, testimonials, events, and more.

You may also want to add a plugin such as Easy Digital Downloads if you are providing an exclusive download in return for a donation.

6. Hestia Pro

Hestia Pro

Hestia Pro is a beautiful multipurpose WordPress theme that could work perfectly for your crowdfunding website. It is fully compatible with all the best WordPress plugins, so you can easily extend your WordPress website with new features.

Plus, Hestia Pro is retina-ready. That means your website will look great on all devices, even the most recent smartphones.

7. Monochrome

Monochrome Pro

Monochrome is a minimalist WordPress theme that is stylish and simple at the same time. It’s optimized for great performance and won’t slow your site down.

Monochrome features a widgetized homepage layout, which helps you set up your website easily. It also includes a customizable header, theme options panel, widget areas, and full WooCommerce plugin support.

StudioPress is now part of WP Engine, the most popular managed WordPress hosting company. You can get this theme and all 35+ other StudioPress themes when you sign up for WP Engine hosting to build your website.

Bonus: WPBeginner users also get an additional 20% OFF. Get started with WP Engine today!

8. Struct

Struct

Struct is another modern WordPress theme that is perfect for crowdfunding. Designed for businesses and startups, it features a drag-and-drop homepage layout with a large fullscreen header at the top.

It includes unlimited color choices, custom widgets, a portfolio, photo galleries, projects, testimonials, an FAQ section, and more. It also works with all popular page builder plugins, so you can create your own page layouts if needed.

9. Nayma

Nayma

Nayma is a multi-purpose WordPress theme that can be easily used for crowdfunding projects. It uses modules as building blocks to create page layouts and has all the commonly used web elements available as modules. You can drag and drop them anywhere on your pages.

Plus, Nayma includes several ready-made websites that you can use as a starting point. It has unlimited custom sidebars, sliders, icon fonts, Typekit font support, testimonials, pricing tables, a contact form, and more.

10. Sydney Pro

Sydney Pro

Sydney Pro is another powerful WordPress theme with flexible customization options. It can be used as a one-page or multi-page theme and comes with built-in sections for your portfolio, team members, testimonials, clients, and galleries.

The theme also includes several starter templates, page layouts, custom widgets, and social media integration. It’s also eCommerce-ready with full WooCommerce support. It can also be used with popular WordPress membership plugins.

11. Essence Pro

Essence Pro

Essence Pro is an elegant WordPress theme suitable for crowdfunding, landing pages, and sales page websites. The homepage features a large fullscreen header with prominent call-to-action buttons. It has a widgetized layout, allowing you to set up the homepage using drag-and-drop content widgets.

The theme uses beautiful parallax effects to create an engaging experience for your users. It’s WooCommerce-ready and comes with a simple theme options panel and WordPress live customizer support.

12. Charity Fundraiser

Charity Fundraiser

Charity Fundraiser is a free WordPress theme for charities and non-profits to create crowdfunding websites. It features an elegant layout designed to showcase your cause and encourage donations from your supporters and backers.

The theme customization options can all be accessed using the live theme customizer. You can change the header image, image slider, and background colors and add social media links.

13. Inspiro

Inspiro

Inspiro is another great choice for a WordPress crowdfunding theme. It comes with built-in support to easily add videos as a fullscreen background. It also includes a beautiful video lightbox popup for an engaging viewing experience.

Inspiro has a drag-and-drop homepage layout and offers integration with a free page builder plugin. Other notable features include page templates, a portfolio section, a hero banner, gallery templates, custom widgets, and full WooCommerce support.

14. Corner

Corner

Corner is one of the best WordPress themes for tech startups, small businesses, and non-profits. It comes with a sidebar homepage layout that lets you display your welcome message, navigation menu, and social media icons in the sidebar.

The theme integrates with several plugins to let you add a portfolio, testimonials, a contact form, Google Maps, and more. All the theme options are easy to set up, and a 1-click demo content installer is also available for a quick start.

15. Brizy

Brizy

Brizy is a multipurpose WordPress theme with lots of template options. Their Hope template is perfect for charities and non-profits engaging in crowdfunding and fundraising campaigns. The theme includes slider layouts, a 1-click demo content installer, and Brizy’s visual drag-and-drop page builder. It has support for popular WordPress plugins for non-profits.

Brizy’s features include multiple color schemes, event management, multiple layouts, and social media integration. It can also be used to create multilingual WordPress sites with WPML.

16. Balance

Balance Crowdfunding Theme

Balance is a great business theme designed to put your brand in the center. Perfect for a crowdfunding website, Balance is a great theme that comes with a modern and stylish homepage layout. This allows you to feature your projects and boost your conversions, supporters, and backers.

It’s eCommerce-ready and has beautiful templates for shop and product pages. Other features include multiple blog styles, color schemes with unlimited customizations, an Instagram widget, custom fonts, and a logo.

17. Spencer

Spencer

Spencer is a multipurpose WordPress theme in the minimalist design tradition. It has a sticky navigation menu with multiple sections on the homepage where you can add featured blog posts, social media icons, and an email subscription form.

The homepage can be set up by simply adding content widgets to create your page layout. It also includes social media integrations and content discovery features.

18. Advance Startup

Advance Startup

Advance Startup is a stylish and free WordPress theme for business websites. It’s easy to set up and features beautiful typography, an elegant design, and a simpler theme setup.

The theme supports a custom header, custom footer formats, and a custom background. It has different page templates and is multilingual-ready with RTL language support.

19. Presence

Presence Crowdfunding Theme

Presence is a sleek WordPress theme for mobile apps or any other product website. Its homepage features a prominent call-to-action button on top of a full-width header image.

The theme comes with a dual navigation menu, social media integration, icon fonts, and custom widgets. It can be used on multilingual sites using WPML.

20. Indigo

Indigo

Indigo is a stunningly beautiful and very easy-to-use WordPress theme. It’s designed to be a multipurpose theme, allowing you to choose your own layouts and styles without writing any code. It includes several ready-made websites that you can install with 1-click to import demo content.

If you don’t want to start with a ready-made website, then you can just drag and drop modules to create your own layout. Indigo features beautiful typography, stunning templates for galleries, portfolios, services, testimonials, and many more customization options.

21. Polity Lite

Polity Lite

Polity Lite is a stylish and modern campaign theme that could be a great crowdfunding option for a charity, NGO, or political organization.

It includes the options for a custom header and custom logo and is also translation-ready to create a site for a global audience. Polity Lite also includes a social media icon menu.

Crowdfunding With WordPress: Tips for Success

How you run your crowdfunding campaign in WordPress depends on what platform you are using to raise funds. Here are some brief instructions for Kickstarter and WPForms.

Adding Your Kickstarter Project in WordPress

If you are using Kickstarter, you will first need to visit your Kickstarter project page.

On your project page, click on the ‘Embed’ button.

Click the embed button on your Kickstarter page

This will bring up a popup.

You need to click the link to embed your project on an external site.

Click the link for embedding your code on an external site

Then, simply copy the embed code.

You can copy it for either the project video or the widget.

Copy and paste the embed code

Now, you need to edit the post or page where you want to display your Kickstarter project. You can also add it to a text widget in your sidebar.

You can add the code into an HTML block in the WordPress block editor. If you are using the Classic Editor, then don’t forget to switch to the text editor mode.

Simply paste the embed code and save your post, page, or widget. You can now visit your website to see it in action.

Accept Donations Using WPForms

If you are fundraising for a non-profit cause, then you can use WPForms to create an online donation form.

WPForms is the best contact form plugin for WordPress. It has over 1300 built-in form templates, including PayPal and Stripe online donation forms.

WPForms Donation Form

You can also collect recurring donations with WPForms. And the best part is that WPForms is easy to use with a drag-and-drop form builder to add fields, text, and donate buttons and integrate payment methods to your WordPress forms.

For more details, you should check out our guide on how to add a PayPal donate button to your WordPress site.

You can also check out our step-by-step guide on how to create a donation form for nonprofit organizations in WordPress.

Alternate: You can also use WP Simple Pay to accept donations with other payment methods. WP Simple Pay is the best Stripe payment plugin for WordPress. It lets you accept Giropay payments and Affirm payments for donations.

Convert Website Visitors into Subscribers

Most people visiting your website will probably leave without donating to your project or cause, even if they support it. The best way to keep those users engaged is to start building your email list right away.

You will need to sign up with an email marketing service and use lead generation software like OptinMonster.

OptinMonster helps you convert abandoning visitors into subscribers. This allows you to keep those users engaged and eventually convert them into donors.

We hope this article helped you find the best WordPress themes for crowdfunding. You may also want to check out our other WordPress guides for crowdfunding, donations, and fundraising campaigns.

Best WordPress Guides for Crowdfunding Sites

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post 21 Best WordPress Themes for Crowdfunding first appeared on WPBeginner.

What Is Deep Learning and How Does It Power Modern AI?

The impacts and power of generative AI were realized at scale in businesses last year. Now, every software company, supermarket brand, and business, even tangentially related to tech, appears to be building an AI-based solution of their own for 2024. But how much do we know about the foundations of these technologies and what they're doing with our data behind the curtain?

How well is the AI black box we’re all learning to trust really understood outside of niche tech circles? What is there to know about something that is opaque by design? First, let's start at the beginning.

Probability Basics for Software Testing

Have you ever felt like building a castle out of sand, only to have the tide of unexpected software bugs wash it all away? In everyday work in software development, unforeseen issues can spell disaster. But what if we could predict the likelihood of these problems before they arise? Enter the realm of probability, our secret weapon for building robust and reliable software.

Probability plays a crucial role in software testing, helping us understand the likelihood of certain events like encountering specific paths within the code and assessing the effectiveness of test coverage.

Simplifying SQL Server and Kubernetes Across Hybrid/Multi-Cloud

The complexity of managing business-critical Microsoft SQL Server workloads with Kubernetes, especially across hybrid and multi-cloud infrastructure, can stall many organizations’ modernization plans. However, DH2i's new DxOperator tool aims to change that dynamic with automated deployment and simplified management capabilities purpose-built for SQL Server availability groups in Kubernetes environments. 

As DH2i CEO Don Boxley explained, a major goal was streamlining Kubernetes for the SQL Server user base: "Inexperience with Kubernetes is a common barrier preventing seasoned IT pros from being able to harness the massive scalability, flexibility, and cost savings benefits of SQL Server containerization." By reducing deployment time from 30 minutes to "just a few minutes," DXOperator unlocks the path to containerization.

The Role of Penetration Testing in Strengthening Cyber Defenses

Digital security has become a significant worry for organizations of different sizes in today's fast-paced world. With the rate at which digital threats continue to develop, enhancing security measures is very important to protect vulnerable data and infrastructure. This defense is referred to as penetration testing. Ethical hacking recognizes susceptibilities within the digital framework, making use of cybersecurity drills and offering practical knowledge that strengthens cyber defense.

Through this strategy, organizations can minimize risks and be protected against possible threats. Together, we’ll explore the relevance of penetration testing in strengthening cyber security and its different capacities in preserving a secure framework amidst the ever-changing security environment.

Reclaim Your Deleted Resources With the Reclamation Controller

Have you ever found yourself in a situation where you accidentally deleted a valuable resource, only to realize later that you still needed it? Perhaps you mistakenly deleted an important file from your cloud storage, or you removed a critical database entry without intending to. These situations can be frustrating and time-consuming to resolve, but with the Reclamation Controller, you can reclaim your deleted resources effortlessly.

How Does Reclamation Work?

Imagine you're working on a cloud platform where you manage various resources such as files, databases, or virtual machines. The Reclamation Controller acts as a safety net for these resources. When you delete a resource, whether intentionally or accidentally, the Reclamation Controller kicks in and initiates a grace period before permanently removing the resource from the system. During this grace period, you have the opportunity to restore your resource, preventing irreversible data loss.

Advancements and Capabilities in Modern Mainframe Architecture

Mainframe architecture refers to the design and structure of a mainframe computer system, which is a powerful and reliable computing platform used for large-scale data processing, transaction processing, and enterprise applications. Some of the key components and characteristics of mainframe architecture:

Central Processing Unit (CPU)

Mainframes typically feature multiple high-performance CPUs capable of executing complex instructions and handling large workloads simultaneously.

3 Ways 3D Printing is Already Changing Design

3D printing isn’t just for hobbyists and novelty trinkets anymore. This transformative technology is fundamentally reshaping the design landscape, pushing boundaries and opening doors to endless possibilities. Let’s explore three key ways 3D printing is already changing design. Design Freedom Traditional manufacturing often imposes limitations on design complexity and customization. With 3D printing, these limitations […]

Appium vs. Selenium

Can you now imagine the world without mobile apps or web apps? Obviously, no! Besides being go-to communication or information hubs, they have become fundamental platforms for performing everyday activities with just a few clicks, whether booking a restaurant table or paying your bills. 

With a highly competitive market, companies strive to deliver efficient apps without compromising on speed and quality. To ensure the app’s quality, they often prefer using the best testing solution.