Skip to content
/ intento Public

Open source intent recognition framework powered by LLMs.

License

Notifications You must be signed in to change notification settings

oconva/intento

Repository files navigation

Intento

Intento is a simple-to-use open source framework that lets you build and deploy intent recognition services powered by large language models (LLM). It aim to make it easier, accessible, and faster for developers to empower their apps and projects with conversational AI.

Built with the mission to make conversational AI more open and accessible to all. No need to spend thousands on empowering your apps with conversational AI and providing your users the ability to interact with your app using natural language. Using QvikChat and Intento you can build powerful, reliable and secure conversational AI services at almost no cost.

Intento focuses only on one aspect of conversational AI - intent recognition. This helps Intento to be more specialized, efficient, and faster. This is also lets you to easily integrate it with your existing conversational AI services or build a new one from scratch. Moreover, it allows Intento open source project to be more maintainable and reduces the usage and implementation complexity.

Get Started | Intento Starter Template

Example of an intent recognition service built using Intento

Why use Intento?

Consider a scenario where you have a chat interface in your app or website, where users can give voice or text commands to get something done. You need to understand what the user is asking for, and then take the appropriate action based on the user's intent. You may also need to extract some information from the user input to be able to perform the action. This is where Intento comes in.

Intento helps you decipher what that something is that the user wants done, and helps you extract the required information from the user input.

Features

  • Powered by LLMs: Intento uses large language models (LLMs) to recognize intents and extract information from user input. No need to constantly train and update custom machine learning models or NLU systems.
  • Simple and Easy to Use: Intento is designed to be simple and easy to use, with a minimal learning curve. You can get started with Intento and deploy your own intent recognition service in minutes and in few lines of code.
  • Deploy to any NodeJS platform: Deploy your app or service to any NodeJS platform, including Firebase, Google Cloud, AWS, Heroku, etc., with ease.
  • Firebase Firestore: In-built support for using Cloud Firestore as the data source for storing information of your intent recognition service, including intents and API keys.
  • Advanced Features: Intento provides support advance features like query expansion and response evaluation to improve the accuracy and performance of your intent recognition service.
  • Focus on Performance, Reliability, and Security: Every component in Intento is built to ensure low latency and scalable performance without compromising on security. From using prompts that help mitigate LLM hallucination and deter prompt injection attacks, to providing in-built support for authentication for each endpoint, Intento is designed to help you build secure, performant, and reliable intent recognition services.

QvikChat

QvikChat is a Firebase Genkit and LangChain based framework that provides you with a solid foundation to build powerful AI-powered chat service endpoints quickly and efficiently. It includes support for multiple types of conversations (open-ended, close-ended), chat history, response caching, authentication, and information retrieval using Retrieval Augmented Generation (RAG).

Get Started | Documentation

Contributions

Contributions are welcome! Please refer to the contribution guidelines for more information.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Issues

If you encounter any issues or bugs while using Intento, please report them by following these steps:

  1. Check if the issue has already been reported by searching our issue tracker.
  2. If the issue hasn't been reported, create a new issue and provide a detailed description of the problem.
  3. Include steps to reproduce the issue and any relevant error messages or screenshots.

Open Issue