Arkangel AI Search Engine: Innovation in APIs for Artificial Intelligence Models

Reading time
2 minutes
Date
Reading time
2 minutes
Date

Every now and then, a project comes our way that requires exactly the technology we’ve been studying and reading about. A little over a month ago, Jose Zea, co-founder of Arkangel AI, approached us with these requests:

* “I need an API written in Python that my client can consume.” – “No problem, we can do it with FastAPI, easy ✅.”

* “The API must make calls to one of our AI models to generate predictions.” – “When you export the machine learning model in the final production file, we’ll include it in the project and run whatever code you want to generate the predictions and return the response.”

* “We also need to track how many times the model is called over time.” – “I suggest making a call to an external API on Arkangel’s side with each hit to our endpoint, so you can store that data and use it however you need.”

* “How can we recognize each client and cut off access if needed?” – “🔓 We’ll create a simple auth system based on API keys. If you ever need to block a user, just deactivate the API key, and the requests will fail.”

So far, everything sounded pretty straightforward. Then things got even more interesting…

* “If we want to add more models dynamically, we need to generate dynamic endpoints in the API too.” – “🧐 We’ll build a feature that listens for requests on different routes based on a JSON configuration file that you can manage for each client.”

* “We want this system to be deployed on the client’s cloud infrastructure, and the deployment needs to be as simple as possible.” – “This is my favorite request! Inspired by CLI applications like Plane and Campfire from 37signals, we used a python library called Click to build a command-line interface that allows you to fully install the system with just a few commands, using Docker.” We ended up adding an update functionality too, so they can easily deploy new code to the client’s server. 🤩

* “What can we do to put a ‘physical’ barrier around the code, complementing the conditions in our contract with the client?” – “😳 Jose, we’ve never done this before, but we love the challenge!” We solved this request using a combination of tools. We used PyArmor to obfuscate the code, PyInstaller to create a single executable with all the necessary packages to run the program independently, and we also made some Docker configurations to prevent unwanted commands.

* “Lastly, this needs to be delivered to the client by September 15th.” – “😂 Ok, we’ll do our best.” We delivered a week early 😎.

We love projects that involve getting creative with infrastructure. They bring an extra layer of challenge to what we normally do, allowing us to tap into the broad knowledge of our DevOps and development teams to accomplish something we’ve never done before.

Leave a Comment

Recent Posts

Check our latest posts and learn more

May 13, 2025

While juggling all these roles, infrastructure can quietly become a critical vulnerability. Not because it’s ignored, but because there simply

May 5, 2025

This article is based on our conversation with Laura Velásquez, Co-founder and President of Arkangel AI, where she shared how

April 16, 2025

This article is based on our conversation with Laura Velásquez, Co-founder and President of Arkangel AI, where she shared how