Select Page
Meeting DSPy: From Prompting to Programming Language Models

Meeting DSPy: From Prompting to Programming Language Models

Are you exhausted from constantly prompting engineering tasks? Do you find the process fragile and tiresome? Are you involved in creating workflows using language models? If so, you might be interested in DSPy. This blog post provides a gentle introduction to its core concepts.

While building robust neuro-symbolic AI workflows, we’ll explore the synergy between LMs and graph knowledge bases within digital marketing and SEO tasks.

Table of content:

  1. What is DSPy?
  2. Let’s Build Our First Agents
  3. Automated Optimization Using DSPy Compiler
  4. Creating a Learning Agent
  5. Implementing Multi-Hop Search with DSPy and WordLift
  6. Conclusion and Future Work

What is DSPy?

DSPy is an acronym that stands for Declarative Self-Improving Language Programs. It is a framework developed by the Stanford NLP team that aims to shift the focus from using LMs with orchestrating frameworks like LangChain, Llama Index, or Semantic Kernel to programming with foundational models. This approach addresses the need for structured and programming-first prompting that can improve itself over time.

A Real Machine Learning Workflow🤩

For those with experience working with PyTorch and machine learning in general, DSPy is an excellent tool. It is designed around the concept of constructing neural networks. Let me explain: when starting a machine learning project, you typically begin by working on datasets, defining the model, running the training, configuring the evaluation, and testing.

DSPy simplifies this process by providing general-purpose modules like ChainOfThought and ReAct, which you can use instead of complex prompting structures. Most importantly, DSPy brings general optimizers (BootstrapFewShotWithRandomSearch or BayesianSignatureOptimizer), which are algorithms that will automatically update the parameters in your AI program.

You can recompile your program whenever you change your code, data, assertions, or metrics, and DSPy will generate new effective prompts that fit your modifications.

DSPy’s design philosophy is the opposite of thinking, “Prompting is the future of programming.” you will build modules to express the logic behind your task and let the framework deal with the language model.

Core Concepts Behind DSPy💡

Let’s review the fundamental components of the framework:

  • Signatures: Here is how you abstract both prompting and fine-tuning. Imagine signatures as the core directive of your program (e.g., read a question and answer it, do sentiment analysis, optimize title tags). This is where you define the inputs and outputs of your program; it’s the contract between you and the LM. Question answering is represented, for example as question -> answer, sentiment analysis is sentence -> sentiment, title optimization is title, keyword -> optimized title and so on.
  • Modules: They are the building blocks of your program. Here is where you define how things shall be done (e.g., use Chain of Thought or Act as an SEO specialist, etc.). Using parameters here, you can encode your prompting strategies without directly messing up with prompt engineering. DSPy comes with pre-defined modules (dspy.Predict, dspy.ChainOfThought, dspy.ProgramOfThought, dspy.ReAct, and so on ). Modules use the Signature as an indication of what needs to be done.
  • Optimizers: to improve the accuracy of the LM, a DSPy Optimizer will automatically update the prompts or even the LM’s weights to improve on a given metric. To use an optimizer, you will need the following:
    • a DSPy program (like a simple dspy.Predict or a RAG),
    • a metric to assess the quality of the output,
    • a training dataset to identify valuable examples (even small batches like 10 or 20 would work here).

Let’s Build Our First Agents 🤖

Before further ado, let’s begin with a few examples to dive into the implementation by following a simple Colab Notebook.

We will:

  • Run a few basic examples for zero-shot prompting, entity extraction, and summarization. These are simple NLP tasks that we can run using LMs. We will execute them using DSPy to grasp its intrinsic logic.
  • After familiarizing ourselves with these concepts, we will implement our first Retrieval-Augmented Generation (RAG) pipeline. Retrieval-augmented generation (RAG) allows LMs to tap into a large corpus of knowledge from sources such as a Knowledge Graph (KG). The RAG will query the KG behind this blog to find the relevant passages/content that can produce a well-refined response. Here, we will construct a DSPy retriever using WordLift’s Vector Search. It is our first time using this new functionality from our platform 😍.  
  • We will then:
    a. Compile a program using the RAG previously created.
    b. Create a training dataset by extracting question-answer pairs from our KG (we will extract a set of schema:faqPages).
    c. Configure a DSPy Optimizer to improve our program.
    d. Evaluate the results.

A Simple Workflow For Content Summarization🗜️ 

Let’s create a signature to elaborate a summary from a long text. This can be handy for generating the meta description of blog posts or other similar tasks. We will simply instruct DSPy to use long_context -> tldr using the Chain Of Thought methodology.

Worth noticing we didn’t have to write any prompts! 

WordLift DSPy Retriever🔎

The next step is to use WordLift’s Knowledge Graph and its new semantic search capabilities. DSPy supports various retrieval modules out of the box, such as ColBERTv2, AzureCognitiveSearch, Pinecone, Weaviate, and now also WordLift 😎. 

Here is how we’re creating the WordLiftRetriever, which, given a query, will provide the most relevant passages.

Building a RAG, once we have a retriever,  using DSPy is quite straightforward. We begin by setting up both the language model and the new retriever with the following line: 

dspy.settings.configure(lm=turbo, rm=wl_retriever)

The RAG comprises a signature made of a context (obtained from WordLift’s KG), a question, and an answer.

Automated Optimization Using DSPy Compiler

Using the DSPy compiler, we can now optimize the performance or efficiency of an NLP pipeline by simulating different program versions and bootstrapping examples to construct effective few-shot prompts.

I like this about DSPy: not only are we moving away from chaining tasks, but we’re using programming and can rely on the framework to automate the prompt optimization process. 

The “optimizer” component, previously known as the teleprompter, helps to refine a program’s modules by prompting or fine-tuning the optimization process. This is the real magic of using the DSPy framework. As we feed more data into our Knowledge Graph, the AI agent we create using DSPy evolves to align its generation with the gold standard we have established.

Let’s Create a DSPy Program

DSPy programs like the one built in the Colab help us with tasks like question answering, information extraction, or content optimization.

As with traditional machine learning, the general workflow comprises these steps:

  • Get data. To train your program, you will need some training data. To do this, you should provide examples of the inputs and outputs that your program will use. For instance, collecting FAQs from your blog will give you a relevant set of question-answer pairs. Using at least 10 samples is recommended, but remember that the more data you have, the better your program will perform.
  • Write your program. Define your program’s modules (i.e., sub-tasks) and how they should interact to solve your task. We are using primarily a RAG with a Chain Of Thought. Imagine using control flows if/then statements and effectively using the data in our knowledge base and external APIs to accomplish more sophisticated tasks. 
  • Define some validation logic. What makes for a good run of your program? Maybe the answers we have already marked up as FAQs? Maybe the best descriptions for our products? Specify the logic that will validate that.
  • Compile! Ask DSPy to compile your program using your data. The compiler will use our data and validation logic to optimize the program (e.g., prompts and modules).
  • Iterate. Repeat the process by improving your data, program, and validation or using more advanced DSPy compiler features.

Creating a Learning Agent

By combining DSPy with curated data in a graph, we can create LM-based applications that are modular, easy to maintain, self-optimizing, and robust to changes in the underlying models and datasets. The synergies between semantic data and a declarative framework like DSPy enable a new paradigm of LLM programming, where high-level reasoning strategies (i.e., optimize the product description by reading all the latest reviews) can be automatically discovered, optimized, and integrated into efficient and interpretable pipelines. 

DSPy is brilliant as it creates a new paradigm for AI agent development. Using the DSPy compiler we can ground the generation in the information we store in our knowledge graph and have a system that is self-optimizing and easier to be understood. 

Here is DSPy’s teleprompter and compiler pipeline, which helps us create a modular, extensible, self-optimizing RAG system that adapts by leveraging human-annotated question-answer pairs on our website! 

When dealing with complex queries that combine multiple information needs, we can implement a sophisticated retrieval mechanism, Multi-Hop Search (“Baleen” – Khattab et al., 2021), to help us find different parts of the same query in different documents. 

Using DSPy, we can recreate such a system that will read the retrieved results and generate additional queries to gather further information when necessary. 

We can do it with only a few lines of code.

Let’s review this bare-bone implementation. The __init__ method defines a few key sub-modules: 

  • generate_query: We use the Chain of Thought predictor within the GenerateSearchQuery signature for each turn. 
  • retrieve: This module uses WordLift Vector Search to do the actual search using the generated queries. 
  • generate_answer: This dspy.Predict module is used after all the search steps. It has a GenerateAnswer to produce the final answer. The forward method uses these sub-modules in simple control flow. First, we’ll loop up to self.max_hops times. We generate a search query during each iteration using the predictor at self.generate_query[hop]. We’ll retrieve the top-k passages using that query. We’ll add the (deduplicated) passages to our accumulator of context. After the loop, we’ll use self.generate_answer to produce the final answer. We’ll return a prediction with the retrieved context and the predicted answer.

Quite interestingly, we can inspect the last calls to the LLM with a simple command: turbo.inspect_history(n=3). This is a practical way to examine the extensive optimization work done automatically with these very few lines of code. 

Conclusion and Future Work

As new language models emerge with advanced abilities, there is a trend to move away from fine-tuning and towards more sophisticated prompting techniques.

The combination of symbolic reasoning enabled by function calling and semantic data requires a robust AI development and validation strategy. 

While still at its earliest stage, DSPy represents a breakthrough in orchestration frameworks. It improves language programs with more refined semantic data, clean definitions, and a programming-first approach that best suits our neuro-symbolic thinking

Diving deeper into DSPy will help us improve our tooling and Agent WordLift’s skills in providing more accurate responses. Evaluation in LLM applications remains a strategic goal, and DSPy brings the right approach to solving the problem. 

Imagine the potential advancements in generating product descriptions as we continuously enrich the knowledge graph (KG) with additional training data. Integrating data from Google Search Console will allow us to pinpoint and leverage the most effective samples to improve a DSPy program. 

Beyond SEOs and digital marketing, creating self-optimizing AI systems raises ethical implications for using these technologies. As we develop increasingly powerful and autonomous AI agents and workflows, it is vital that we do so responsibly and in a way that is fully aligned with human values.

Are you evaluating the integration of Generative AI within your organization to enhance marketing efforts? I am eager to hear your plans. Drop me a line with your thoughts.

References

Valentina Izzo

Valentina Izzo

Who is Valentina Izzo?

Valentina Izzo’s journey from an avid reader and aspiring journalist to a significant player in the digital marketing and SEO landscape is a testament to her resilience and creativity. Born in Naples and now proudly Roman, Valentina’s early love of books and writing laid the foundation for her future endeavors.

Discovering the vast potential of the web and new communication channels, Valentina turned to marketing, immersing herself in the world of SEO and communication agencies. In the dynamic environment of social media, she honed her ability to directly engage her audience, blending the essence of a brand with authentic human interaction. This experience was pivotal, making her realize that her true calling was content creation.

Joining the WordLift team as Marketing Content Manager marked a significant milestone in Valentina’s career. Here, she has been instrumental in creating content that resonates with the Italian and international communities that follow WordLift. Her work is characterized by a harmonious blend of honesty, creativity, and a keen understanding of audience engagement. Valentina’s ability to turn words into “music to the ears” of readers reflects her deep commitment to delivering value through content.

Valentina’s contributions go beyond content creation. She has co-authored exciting articles on the evolving SEO landscape, highlighting the importance of Knowledge Graphs and generative AI in improving search engine optimization strategies. Her exploration of Google’s Multitask Unified Model (MUM) and its impact on search capabilities demonstrates her expertise in navigating the complexities of AI in SEO. In addition, Valentina’s collaboration on articles on conversational search in SEO and her use of tools such as Streamlit for AI-based SEO tools underscore her forward-thinking approach and dedication to innovation in the field.

Valentina Izzo’s journey is a compelling tale of growth, adaptation, and impact in digital marketing. Her contributions to WordLift and the broader SEO community reflect her passion for storytelling, strategic mindset, and unwavering commitment to excellence in content creation and digital marketing strategies.

Relevant Articles & Events

Valentina has written over 30 articles for the WordLift blog and other platforms. Here you will find collected some of the most recent and relevant ones that have been published.

WordLift Blog

Other websites

Webinars & Events

Get in touch

Visit my LinkedIn profile here.

Chiara Carrozza

Chiara Carrozza

Who is Chiara Carrozza

Hey everyone!

So, imagine this: born and raised in Rome, and after 18 years away, I’m back in the heart of the city, stepping into the role of COO at WordLift. Yep, talk about a homecoming! But let me give you a quick rundown of how I got here.

After completing my MA in Economics at La Sapienza, I dove headfirst into the consultancy world from 2004 to 2011, right here in Rome. I started from scratch, learning the ins and outs of project management while collaborating with a variety of public and private organizations.

But you know what they say – variety is the spice of life. So, in 2005, I made the leap into academia, pursuing a PhD journey and diving into research and teaching, first in Turin and later in Lisbon. My thirst for knowledge led me to explore diverse areas such as policy analysis, Science and Technology Studies (STS), and the ever-evolving dynamics of digital markets.

Fast forward to 2011, and I found myself at the helm of various R&D organizations, steering the ship towards innovation and success. One standout experience? My time as Programme Coordinator at the prestigious European University Institute in Florence, where I lived for six years. There, I managed a flurry of activities, from coordinating academic resources to forging strategic partnerships with heavyweights like the European Commission and global tech giants in e-commerce and technology.

And now, armed with a robust toolkit of skills and insights honed over the years, I‘m ready to dive headfirst into the dynamic world of WordLift. From mastering project management intricacies to navigating the ever-shifting digital landscape, I’m geared up and eager to tackle any challenges that come our way.

What does a Chief Operating Officer do?

So, let’s dive into what it means to be the Chief Operating Officer at WordLift.
As COO, my role revolves around ensuring that WordLift runs like a well-oiled machine, keeping everything in check so we can focus on what we do best – revolutionizing the world of modern and AI-powered SEO.

I take charge of planning, coordinating, and supervising the key areas of the company, including the tech team, innovation hub, and business development. This involves not only overseeing the day-to-day operations but also strategically aligning these departments with the company’s long-term goals. I work closely with each team to identify opportunities for synergy and collaboration, ensuring that our efforts are cohesive and aligned towards driving growth.

My goal is to integrate processes and procedures across the different departments to streamline operations and maximize efficiency. By implementing best practices and fostering a culture of continuous improvement, I aim to ensure that we are well-equipped to execute our growth plans effectively.

Additionally, I provide the company with the necessary infrastructures for growth. This includes developing and implementing policies and procedures to support our expanding team, optimizing our financial resources to fuel growth initiatives, and ensuring that we remain compliant with relevant regulations and standards. By proactively addressing these foundational aspects of our business, I help lay the groundwork for sustainable growth and success.

But perhaps most importantly, I’m here to support our team, and that’s what I love doing. Whether it’s providing guidance, fostering a culture of innovation, or rolling up my sleeves to lend a hand, I’m committed to empowering our talented individuals to thrive and succeed.

So there you have it – a glimpse into the world of a Chief Operating Officer at WordLift. It’s a role that’s equal parts strategy, execution, and support, and I wouldn’t have it any other way.

Articles & Webinars

Do you want to know more about Chiara’s story and experience? Read her interview in Meet the Management🌟

Meet Chiara Carrozza, our Chief Operating Officer!

Meet Chiara Carrozza, our Chief Operating Officer!

Leadership and strategic planning emerge as pivotal elements in the rapidly evolving tech industry landscape, where innovation and adaptability are the cornerstones of success. At the helm of these transformative journeys are visionary leaders who foresee the challenges ahead and chart a course that aligns with the company’s ambitious growth plans. 

We meet Chiara Carrozza, the Chief Operating Officer (COO) of WordLift, and she shares with us her perspective on steering the company through the intricacies of technological advancements and regulatory landscapes. 

Join us as we explore the strategic initiatives and leadership philosophies shaping the future of WordLift, setting a benchmark for excellence in the tech industry.

Introduction to Chiara’s Professional Path

Chiara, we’re thrilled to explore the depths of your extensive professional journey. Could you share how your varied experiences have prepared you for the critical role of Chief Operating Officer (COO) at WordLift?

My career has spanned both the private sector and the academic world, encompassing roles in consultancy for both public and private entities (2004-2011), academic research and teaching (beginning in 2005), and leadership and coordination within R&D organizations (starting in 2011). Each of these roles has contributed a unique set of skills and knowledge crucial for tackling the challenges at WordLift.

In my consultancy roles within the private sector, I honed a comprehensive skill set in project management, encompassing the entire lifecycle of a project from its inception, through planning and execution, to its successful conclusion. My academic pursuits as a researcher and lecturer have endowed me with deep insights, analytical prowess, and communication skills, particularly in policy analysis, Science and Technology Studies (STS), the regulation of emerging and disruptive technologies, and competition dynamics in digital markets.

As the Programme Coordinator at the European University Institute (EUI), I managed the program’s activities and academic and administrative resources. I managed strategic relationship management with key external partners and stakeholders. This included engagements with EU institutions (notably the European Commission) and leading global corporations in telecommunications, digital technologies, semiconductors, and e-commerce & delivery. This rich tapestry of experiences has equipped me with a diverse toolkit of competencies that perfectly align with the demands and aspirations of my role as COO at WordLift.

Exploring the COO’s Role at WordLift

Chiara, as you delve into the core responsibilities of the COO role at WordLift, how do you perceive your essential functions and duties? Furthermore, how do you plan to enhance the synergy between your role and the CEO’s vision?

Upon embarking on my journey with WordLift a few months back, I was recommended the insightful book “How to be a Chief Operating Officer” by Jennifer Geary. The book paints the COO as a multifaceted role, overseeing various technical areas ranging from HR policy and regulation to Legal & Compliance, Internal Communications & Public Relations, and Finance.

It’s a role marked by complexity and diversity, highly dependent on the company’s size and stage. Crucially, it evolves in close synergy with the CEO, necessitating a tailored approach to complement the CEO’s personality and experience. In essence, no two COO roles are identical. In steering WordLift through its dynamic and ever-evolving landscape, my primary aim is to synchronize the company’s strategic ambitions with the efficient management of daily operations. Currently, my efforts are centered around three key pillars: leadership, collaboration, and communication.

Firstly, I’m focusing on bolstering the organization’s leadership, particularly at the management level, by establishing a board of managers. This forum serves as a platform for in-depth discussions on strategic decisions and the execution of major initiatives.

Secondly, I aim to cultivate a culture of collaboration and cooperation across the company’s various functional areas. I emphasize recognizing the interplay and dependencies among departments to achieve collective success. By promoting open communication, encouraging cross-functional teamwork, and fostering a shared understanding of each area’s contribution to our common objectives, I aim to enhance the synergy and efficiency of our operations.

Lastly, a significant aspect of my role involves improving internal communication within WordLift. A key focus is bridging the communication gap between our technical and non-technical teams. Acknowledging the crucial role of effective translation in a tech-centric company, I am dedicated to ensuring smooth communication to facilitate knowledge and expertise exchange across departments and enhance problem-solving within the organization.

Navigating Future Horizons and Strategic Initiatives

Chiara, as we look to the horizon, what do you foresee as the primary challenges awaiting WordLift, especially within your sphere of influence? How do you intend to guide the organization through these hurdles, ensuring alignment with our ambitious growth objectives?

As for the future challenges in the technological domain, these are outside my area of expertise: I rely on our brilliant CEO’s vision and our talented team’s capacity to forecast emerging trends and develop innovative solutions to uphold our competitive edge in the market. 

As for the future challenges that will directly affect my role, I foresee two key areas. Firstly, we must stay proactive in anticipating forthcoming AI regulations, ensuring that our operations maintain compliance and adhere to ethical standards as the regulatory environment evolves in the next few years.

In second place, I will be committed to aligning our company’s trajectory with the three-year growth plan we outlined towards the end of 2023. This plan encompasses strategic expansion initiatives aimed at propelling our business forward. By staying committed to this roadmap, we can navigate uncertainties effectively and capitalize on opportunities for sustainable growth.

Meet Ángela Ballesteros García, our Business Developer!

Meet Ángela Ballesteros García, our Business Developer!

WordLift is happy to announce a member of the team – Ángela Ballesteros García 💙

Quick Facts

Name: Ángela Ballesteros García

Age: 25

Position in WordLift: Business Developer & Account Manager.

Languages spoken: Spanish, German, English, italian

Let’s Get to Know Ángela

Tell us more about yourself…

My name is Ángela Ballesteros García, and I’m a 25-year-old. I was born in Los Molinos, a small mountainous village in the northern Sierra of Madrid – in Spain. I’ve always been fascinated by languages, different cultures, and worldviews.

When I turned twenty, I moved to Regensburg, Germany, for my studies. I engaged in a comprehensive German-Spanish studies program, which immersed me in various disciplines, including politics, culture, linguistics, literature, and languages. Enhancing this foundation, I pursued an additional certification in German for International Rhetorical Competence, refining skills vital for persuasion, critical thinking, reading, communication, public speaking, and ethical reasoning.

Furthermore, I dedicated myself to German, Italian, and English language courses. Concurrently, I actively worked ‘in diverse customer-facing roles” to further enhance my proficiency in German.

There, I had the chance to meet people from various countries and cultural backgrounds, but more importantly, I got to know myself better. Accustomed to being surrounded by friends and family, I faced life’s challenges alone. 

At the beginning of the pandemic, I was in Houston, Texas. Then, the spread of COVID-19 started, and I could not return to Germany. After almost three months, I was finally able to return home. I spent a lot of time reading, walking, and studying. Most of my friends were abroad, so I was alone, which motivated me to nurture my knowledge in diverse human disciplines like anthropology and psychology.

During this period of self-discovery, I realized two things: first, after finishing my university degree, I wanted to live in a country where people were more similar to me. I was living in Germany, then I moved to Italy because I desired a country where people are known for being more talkative, humorous, and easy-going. I sought a place where human connections are valued over mechanical interactions and where there’s a genuine appreciation for the art of cooking and dining, as well as for fashion and beauty.

Secondly, I wanted to learn something completely new, different from my previous studies. That’s why I decided to move to Rome and pursue a master’s degree in marketing and sales.

During my master’s, I had the opportunity to intern at WordLift. WordLift offered me the chance to start from scratch with no previous knowledge of technical SEO or knowledge graphs. This shows that you can always start something new, and as we say in Spain, it’s never too late if the opportunity is good.

Three things you love the most about being a Wordlifter🏋️‍♀️

What I love most about working at WordLift is that I can be surrounded by very ambitious and knowledge-hungry people, which helps me broaden my horizons, learn new things, and constantly strive to better myself. 

I also appreciate that the technology and the field where WordLift operates are very innovative, which means I always stay energized because there’s always something new to discover!

Lastly, what I love most about WordLift is our clients. It’s an immense pleasure for me to serve people who are engaged in what they do and, like the WordLift team, always want to improve and be their best version.

Can you share the exciting, innovative work that you’re doing at WordLift?

Currently, I hold all clients who have acquired a WordLift license, whether it’s StarterProfessional, or Business. Additionally, I serve as the crucial link between leads and potential clients and our final product.

This means I work closely with those intrigued by WordLift, demonstrating our platform’s immense value. I do this through the WordLift Demo. Once a lead transitions into a client, I become their dedicated account manager, optimizing their website’s interaction with our product to achieve the most excellent synergy possible.

So, if you’re not yet a client, what are you waiting for? As a Business Developer and Account Manager, I’m here to ensure you unlock the full potential of WordLift. Reach out, and let’s embark on this journey together. Let’s meet 🤝

Get in touch with Angela

Link to my Linkedin

WordLift Wraps Up 2023 With Multiple Recognitions

WordLift Wraps Up 2023 With Multiple Recognitions

WordLift completes 2023 with huge success and accolades from the Gartner Digital Markets brands – Capterra, Software Advice, and GetApp. Our products got recognized in various flagship reports under multiple software categories in 2023!

Capterra

“I like how easy it was to connect Google Sheets to your Google Search console and pull all the data into the sheet where it was easy to use. The confidence measure of which schema to add was also very useful”

[Source: Zunaid K.]

“WordLift has been an incredibly useful tool to manage our website’s SEO strategy. We appreciate the user-friendly interface which allowed us to quickly and efficiently optimize pages for search engine friendliness. The automated processes eliminated manual labor, saving us time and money. What truly impressed us is the personalized customer support we received from the WordLift team – they quickly responded with helpful advice and solutions whenever we had questions or issues.”

[Source: Sarfaraz K.]

Software Advice

“I like the opportunity to augment my website with additional data that help search engines understand my topics.”

[Source: Marco]

“I like support provided by the wordlift team to create adhoc customization”

[Source: Federico]

GetApp

“Implemented it on an article that wasn’t doing well for the target keyword, even though it was the only page targeting that exact term on the internet. So, as soon as I used WordLift to mention the entities that were in the exact term, the rankings started increasing, and the article went from 12th to 2nd position.”

[Source: Ishaan S.]

“This is one of the best SEO applications out there. I recommend this to all those who are looking for an excellent SEO application. Its AI system works amazingly with your marketing needs.”

[Source: Francis Rod D.]

Want to review WordLift ? Click here.

Our recognition in these prestigious reports is a significant achievement for us. It is a testament to our commitment to providing a high-quality solution that meets the needs of businesses across a wide range of industries. It also serves as a valuable endorsement for businesses looking for effective software solutions.

We have always strived to achieve higher customer satisfaction, which is why WordLift has been a top-rated product on all Gartner Digital Markets sites, with an overall rating of 4.8 out of 5. We would like to sincerely thank all our users for loving us so much and rating us so high.

About Gartner Digital Markets:

Gartner Digital Markets is a Gartner business unit composed of Capterra, GetApp, and Software Advice. It is the world’s premier source for software vendors to connect with in-market buyers, through research, reviews, and lead generation.

For more information, visit this page.