Build Your Own Conversation-Based Search with AI

Feb 14, 2021 | Educational

If you’re looking to harness the power of AI for a more interactive search experience, you’re in luck! This guide will walk you through the steps to set up your own conversation-based search using Node.js and Vue3. With built-in support for various large language models, search engines, and a customizable user interface, you’ll be well on your way to building an intelligent search application.

Features You Can Explore

  • Support for multiple LLM providers: OpenAI, Google, Lepton, DeepSeek, and more.
  • Integration with popular search engines like Bing and Google.
  • Customizable, aesthetically pleasing UI with dark mode support.
  • Mobile display capability.
  • Continue QA with contexts and cache results.
  • Image search support.

Step-by-Step Deployment Guide

To make your project a reality, follow these steps:

1. Set Up Docker (Recommended)

Begin by installing Docker if you haven’t already. You can find instructions on the official Docker documentation.

2. Get the Code

git clone https://github.com/yokingma/search_with_ai.git
cd search_with_ai

3. Edit the Configuration File

You’ll need to modify the .env.docker file with your API keys and other relevant details. Here’s a sneak peek:

# OpenAI's key
OPENAI_KEY=#your_key
# Ollama hostname
OLLAMA_HOST=http://host.docker.internal:11434
# SearXNG hostname
SEARXNG_HOSTNAME=http://searxng:8080

4. Run Your Application

docker compose up -d

Visit http://localhost:3000 to see your application in action!

5. Keep Your App Updated

Whenever you need to update your application, follow these steps:

  • Run git pull to fetch the latest changes.
  • Delete old images from Docker Desktop or the CLI.
  • Run docker compose down.
  • Finally, run docker compose up -d.

Understanding the Code with an Analogy

Imagine you’re building a smart library. You need to gather various books from different authors (LLMs) who speak different languages (search engines). Each author offers unique insights, but to make sure your visitors can easily find their desired book, you build a smart librarian (Node.js and Vue3) who understands both the visitors’ questions and the authors’ styles.

Just like a library needs organization, your project requires configuration files to manage different authors and their contacts. This way, when a visitor asks for a specific book, your librarian quickly fetches it, ensuring an efficient and pleasant search experience.

Troubleshooting Tips

  • Issue: Application not running on localhost.
  • Solution: Ensure that Docker is running and that you executed the docker compose up -d command correctly.
  • Issue: Environment variables not set correctly.
  • Solution: Double-check your .env.docker file for correctness.
  • Issue: API calls failing.
  • Solution: Make sure your API keys are valid and have appropriate permissions, particularly for services like Bing or Google.

For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.

Conclusion

By following this guide, you should now have a running conversation-based search application empowered by AI. Feel free to explore and customize it further to meet your needs.

At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.

Stay Informed with the Newest F(x) Insights and Blogs

Tech News and Blog Highlights, Straight to Your Inbox