Tuesday, July 23, 2024

A Resolution Engineer’s Journey into Programmability

A Resolution Engineer’s Journey into Programmability


Hello there! I´m a Options Engineer working with Collaboration and Buyer Expertise options, and one factor I’ve discovered is “one dimension doesn’t match all.” To ship probably the most impactful enterprise outcomes, clients want digital options tailor-made to their distinctive wants. Fortunately we’re surrounded by SaaS functions and highly effective platforms that present open APIs accessible to anybody with the abilities to make use of them. Briefly, if you happen to provide the motivation, the instruments are there to embrace automation as the muse for constructing customized use instances. That is how one can actually differentiate within the market, and convey worth to our clients.

My curiosity in leveraging automation to combine functions and optimize workflows was the set off that began my journey into community programmability. I knew I wished to start out by connecting with a group of like-minded individuals who might assist me get began. That’s when I discovered Cisco DevNet.

Getting began with a DevNet Studying Observe

My first step was to study the fundamentals of APIs – how they work, what they’re used for, the way to check them, and the way to combine them into different functions. RESTful APIs are broadly utilized in internet growth, permitting functions to work together with one another and change information in a regular and scalable method. They supply a versatile and environment friendly means for various programs to speak and combine with one another.

To get conversant in APIs I began working towards with Studying Labs accessible within the Cisco DevNet developer portal. As a result of I’m a Options Engineer working with Collaboration options, I select the Webex – Begin Now – Studying Observe. Observe this hyperlink to entry this studying monitor and lots of others that may get you began. This Studying Observe guided me to put in all of the required functions in my PC to start out working with APIs and coding. It additionally gave me the instruments I wanted to start out doing my first assessments with coding and APIs.

As soon as I had some fundamentals underneath my belt, my subsequent step was to create a use case and begin a “actual” programmability undertaking. I made a decision to combine Webex with ChatGPT utilizing the OpenAI APIs. The principle constructing blocks to implement this undertaking are:

  • Webex Bot
  • OpenAI APIs
  • Middleware that runs the bot logic

After I discovered the way to create a Webex bot, my subsequent step was to get conversant in the OpenAI APIs. Anybody can create a free OpenAI account. (On the time of scripting this weblog, you get a free credit score of $5.00 to make use of, which is sufficient to do some experimentation with their APIs.)

Getting the fundamentals of Python

Subsequent up, I wanted to create my bot logic. Speaking with my mentor, Julio Gomez, he shared with me a undertaking that he did for the same use case, and I used to be in a position to reuse his Phyton code. I had discovered the fundamentals of Phyton and the way it works. Thus, I used to be in a position to adapt the Phyton code to make use of with my Webex bot and the OpenAI API that I had recognized as probably the most applicable for creating my Q&A bot primarily based within the ChatGPT consumer expertise.

To make it simpler to adapt the code, I divided it into constructing blocks primarily based on the totally different capabilities: obtain a textual content message from the Webex Bot; course of the message and ship it to OpenAI APIs; obtain the reply from the OpenAI; and eventually ship it again to the Webex Bot.

I confronted one other problem

I used to be working the bot logic on my PC and I needed to expose it to the web. The Webex cloud platform requires your bot to be reachable from a publicly accessible endpoint. Utilizing Webhooks, the Webex bot sends notifications as occasions to the endpoint that subscribed to the webwook, for each interplay between you and the bot.

For that objective, I created an inbound tunnel between my native PC and the web in order that the port your bot is listening on turns into publicly accessible. Ngrok is a well-liked instrument I used to create these tunnels. The Ngrok service creates a URL that can be utilized to entry your software working in your native PC. This URL is then used to create a Webhook in your Webex bot to ship notifications when somebody interacts with it.

After I reached the purpose the place I had a working software, I used to be prepared to start out my preliminary testing. I needed to high-quality tune the code to acquire the specified end result. Actually, it was as straight ahead as altering just a few parameters within the JSON payload, associated to the OpenAI APIs. Right here is the documentation of the OpenAI API that I used:

Lastly, I used to be in a position to create a Q&A bot in Webex leveraging the LLM (Massive Language Mannequin) developed by OpenAI. The top customers are then in a position to ask inquiries to ChatGPT from the Webex App, as in the event that they have been chatting within the native ChatGPT consumer interface.

The diagram under is a high-level structure of what I constructed. You may see my undertaking on this GitHub repository.

Marcio

APIs have reworked the way in which we customise experiences and combine functions. I’m not a software program developer, however I used to be in a position to obtain my purpose, which was to construct a Q&A Bot primarily based on new applied sciences like ChatGPT. For me, working with APIs is like taking part in with Lego blocks. It’s enjoyable!

My journey in programming continues

Then one other thought got here to my thoughts – Would I be capable to create the bot with little or no code, and even no code? I put myself into one other problem, which was to make use of an orchestration platform that leverages a low code / no code framework to create workflows and automation utilizing APIs.

Actually, at Cisco we now have our very personal Low Code orchestration platform. It’s known as Webex Join and is among the most acknowledged Communications Platform as a Service (CPaaS) available in the market.

Webex Join is a platform that empowers the creation of good, proactive, and personalised interactions throughout digital channels similar to WhatsApp, Apple Messages for Enterprise, Google Enterprise Messages, Fb Messenger, Instagram, SMS, and many others. It orchestrates buyer journeys end-to-end by automating enterprise processes.

I opened the drawing canvas of the appliance known as Circulation Designer and began constructing my Bot logic. It was so simple as dragging and dropping bins, connecting them with arrows, and following the method. Once more, like taking part in with Legos.
Utilizing this platform is way less complicated, as a result of I didn’t must cope with programming languages and coding for my use case. I simply have to grasp the functions I wished to attach, and learn to use their APIs.

In a matter of some hours I had my bot up and working. This time I built-in WhatsApp with ChatGPT. What took me just a few days with Phyton was decreased to a couple hours as a result of I used to be coping with APIs, webhooks, and parsing JSON payload information. Webex Join (CPaaS) did its “magic” and executed the code behind the scenes which simplified the entire undertaking.

Right here is the ultimate circulate:

Marcio

Low code platforms like CPaaS can unlock the Artwork of Attainable, with APIs to create pleasant consumer experiences.

I hope this was useful. And maybe even made you curious to start out your individual journey into programmability. In that case, Cisco DevNet is a superb place to start out.

Good luck!!

Associated assets

Join Cisco U. | Be a part of the Cisco Studying Community.

Observe Cisco Studying & Certifications

Twitter | Fb | LinkedIn | Instagram | YouTube

Use #CiscoU and #CiscoCert to hitch the dialog.

Learn subsequent:

Intern to DevNet Skilled Certification: My Private Journey

Share:



Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest Articles