Question and Answering (Q&A) BERT model implementation for ML.NET.
An example of BERT model predictions in .NET Core/.NET Standard.
https://github.com/onnx/models/tree/master/text/machine_comprehension/bert-squad
Download the pre-trained BERT ONNX model by running getDependicies.sh
. Or download the model to the BERT.WebApi/Model
folder.
The project is setup to run on CPU. This allows the sample to run on machines without an Nvidia GPU.
To run on an Nvidia CUDA GPU:
- Set
hasGpu = true
in OnnxModelConfigurator.cs - Remove NuGet
Microsoft.ML.OnnxRuntime.NoOpenMP
- Add NuGet
Microsoft.ML.OnnxRuntime.Gpu
When the solution runs, it will start an ASP.NET webservice at localhost:5001.
Context | Question | Model Reply | |
---|---|---|---|
(link) | Bob is walking through the woods collecting blueberries and strawberries to make a pie. | What is his name? | ✅ {"tokens":["bob"],"probability":0.8884454} |
(link) | Bob is walking through the woods collecting blueberries and strawberries to make a pie. | What will he bring home? | ✅ {"tokens":["blueberries","and","strawberries"],"probability":0.4070111} |
(link) | Bob is walking through the woods collecting blueberries and strawberries to make a pie. | Where is Bob? | ✅ {"tokens":["walking","through","the","woods"],"probability":0.6123137} |
(link) | Bob is walking through the woods collecting blueberries and strawberries to make a pie. | What will he bake? | ❌ {"tokens":["blueberries","and","strawberries"],"probability":0.48385787} |