wit.ai
wit.ai is a NLP engine by Facebook that allows users to convert statements into a queried structural data hence allowing developers to build conversational applications such as chatbots.
To get started you can simply visit wit.ai and login with your existing Facebook account. You can also make the use of amazing documentation provided by the wit.ai team.
Integration
To add wit.ai to your Flutter app, simply install the flutter_witai package from pub.dev.
Now create a wit object and set it to the
WitManager
class from the package, which consists of 2 parameters namelyutterance
,headers
.
final wit = WitManager(utterance: "hello",headers: "XXXXXXXXXX");
Utterance will be your query statement for which you'd be creating a structured data response and headers will be the wit.ai project SERVER ACCESS TOKEN
which can be found in the settings.
- Call the
fetchLink()
function to trigger the wit.ai function and get the structured JSON response based on whatever utterance query you mentioned.
wit.fetchLink();
- You can view the results by printing out the json to the console, by setting the
fetchLink()
function to a dynamic variable
dynamic response = await wit.fetchLink();
print(response);
The response should look somewhat like this:
{"text":"hello","intents":[{"id":"985952918880417","name":"search","confidence":1}],"entities":{},"traits":{"wit$sentiment":[{"id":"5ac2b50a-44e4-466e-9d49-bad6bd40092c","value":"positive","confidence":0.5435}]}}
- You can now get any values from the response json, such as entities, traits or any such values.
print(response['entities']);
It's that simple. You can create any Flutter button such as TextButton and then simply call the function within it's onPressed
parameter to call the wit.ai function. Also remember to use the async
keyword for asynchronous operations.
You can also take a look at the example code written in the package.
Top comments (2)
Good job! If you are interested in this topic, you can also look at my article about free vs paid Flutter templates. I'm sure you'll find something useful there, too.Β - dev.to/pablonax/free-vs-paid-flutt...
Nice work! I really can make use of some of these templates, thanks! :)