- What separates you from existing API Marketplaces (e.g. Algorithmia)
- What kind of run time environments do you allow?
- Do you have programmer APIs other than JS?
- From your blog I am assuming you use docker for running the algorithms? Will the docker images be made open too?
- How much effort do you think it would take me to transform an existing algorithm that I have to be available in your system?
Macgyver differs from Mashape in that we host the program and actually run the program against the data (processing). This allows us to have more control over verifying the up-time as well as any changes to the program which might affect an end user's application (we do our own versioning so any new changes will be pushed as an incremental version) as to mitigate negative impact to clients already using the API.
We differ from Algorithmia in that we don't require you to learn our development tools or programming languages. We offer custom runtimes. We function by specifying -
1. How we will supply data to your program 2. The runtime you want us to use 3. How we expect the program to respond
But ultimately we don't care how your program does that or in what language it is programmed.
> - Do you have programmer APIs other than JS?
Not sure what you mean by this, the API takes and returns JSON but it can be used with any programming language.
> - From your blog I am assuming you use docker for running the algorithms? Will the docker images be made open too?
The programs are executed inside docker containers. We are still architecting the optimal workflow for our publishers and if that means making the macgyver docker image public we will do that but that is still TBD. We may just offer a sandbox environment for publishers to test in.
> - How much effort do you think it would take me to transform an existing algorithm that I have to be available in your system?
It's likely going to be easier than any other tool. We are going to work on providing more documentation and releasing the API docs very shortly - but the gist of the process is that you can move your algorithm program (or directory) into a folder in a standard linux box and from there you will just need to modify how you get your input data and how you format your output data, and specifying a runtime for macgyver to call on your main program file.
Thank you for the interest!
::Tim
He probably means SOAP, Corba, etc. not just REST/JSON.
"No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://askmacgyver.com' is therefore not allowed access. The response had HTTP status code 502."
You have docs for accessing it but I can't find any for me building an api endpoint. The docs also seem to suggest I use a client library called "kittn", which I'm pretty sure is wrong.
Your FAQ is empty.
Your blog has nothing (as far as I can see) to do with your product.
I've made a new program, but it's asking me for "the program file". What file? What formats, how do I specify dependencies, what API should I be building this against?
I'm trying not to be too negative, but I am really actually trying to use your product and am failing.
No you are absolutely right. The docs are not built out yet and you are seeing the template data. We will curate this process and provide documentation. But a quick overview is as follows.
The API endpoint is static.
POST https://macgyver.services
The payload is a dynamic JSON object that has the following properties.
program id, user key, program_data (as defined on the program input page)
It would look something like this -
{ id: "9s9z6J6b", key: "private-live-6w9c2p10G5p3b6y" program_data: {} }
As far as how the program should function I can just show you the addition program as example.
The program should be called "main" with a file extension that corresponds to the run time you want macgyver to call.
So the addition program is a javascript file called "main.js"
// user specified data format
var data = '';
var sum =0;
data = JSON.parse(data);
for(var i=0; i<data.values.length; i++){ sum += data.values[i]; }
var result = { "sum" : sum }
// This gets returned to the client
console.log(JSON.stringify(result));
The variable 'data' will have it's string content be populated with the clients payload send data at the time of execution.
https://askmacgyver.com/explore/program/addition/2c2c5w7W
There is some information on that here.
$.ajax({
...
key: "private-live-6w9c2p10G5p3b6y",
...
});
I haven't signed up, but if this is going in an ajax request, how do you prevent people from getting your key? Is this specifically meant for node where you can guard such things?Also, isn't the name going to get you sued?
We allow you to name your own price and that is how much you will receive from those who use your program. However the client facing price will be higher as we tack on our additional processing overhead and a fixed percentage fee.
I was here: https://askmacgyver.com/explore/program/general-optical-char...
Also why all have different pricing?
Also most of the things on website seems broken. Like there is a select dropdown on explore page But when selecting any item from the list, nothing happens. (Not sure whether that is intended)
Try this and see how well it fairs -
Program ID: 9t5A2G2a (General Optical Character Recognition)
Private Key: In your /account under "User Information"
Send Data:
{ "image_url": "https://askmacgyver.com/images/passport.jpg" }
____________________________________________
This will run the OCR program against the image below -
The image you are testing: https://askmacgyver.com/images/passport.jpg
Regardless Google and Microsoft have offered a narrow slice of what can potentially be done in this space. They are still not seeing that we really need is a marketplace that has the ability to let machine learning specialists surface their work to businesses for a profit.
> { "image_url": "http : //i2.cdn.turner.com/cnnnext/dam/assets/160203182545-bitch-face-large-169.jpg" }
Eh?
All the luck for you guys.