Aviz Networks Network Copilot Demo
In this Networking Field Day session, Aviz Networks introduced Network Copilot (NCP), their private AI platform built for NetOps, emphasizing their vision of “Networks for AI, AI for Networks” and enabling open networking with SONiC and LLMs. The demonstration showcased NCP as a self-hosted software solution that integrates with existing network data sources through various data connectors, such as Cisco Catalyst Center, Nexus Dashboard, IP Fabric, Elastic, Splunk, and Zendesk. The primary goal of NCP is to centralize disparate network data, allowing users to query and correlate information through a natural language chat interface, thereby streamlining operations and reducing the need for manual data aggregation from various tools or complex scripting.
The demo highlighted NCP’s ability to perform tasks like inventory analysis and hostname validation. Users can create projects within NCP to focus on specific troubleshooting sessions or events, inviting collaborators and selectively enabling relevant data connectors to avoid data pollution. A key feature is the ability to upload static contextual information, like naming conventions or CVE lists, as files, which NCP can then use to validate device configurations or generate compliance reports. The presenters stressed that NCP doesn’t “train” on operational data in the traditional sense; instead, it uses a pre-trained LLM (like Llama 70B), fine-tuned for networking, to interpret questions and leverage AI agents to retrieve, process, and summarize data from connected sources.
While acknowledging that some functions could be replicated with scripting, the true value of NCP lies in its abstraction layer, enabling network engineers to manage diverse multi-vendor, multi-NOS environments without needing deep knowledge of every CLI or proprietary system. This empowers junior engineers by providing suggestions for troubleshooting and allows for more efficient audit reporting and capacity planning. Aviz Networks emphasized that NCP is not a CLI replacement, nor does it push configurations, but it can provide insights and facilitate data-driven decisions. The platform’s self-hosted nature with GPU requirements (like NVIDIA A100 or H100) ensures data privacy and offers a quicker ROI by automating tedious tasks, freeing up valuable engineering time.
Presented by Thomas Scheibe, Chief Product Officer, and Madhu Paluru, Director, AI Engineering. Recorded live at Networking Field Day 38 in Silicon Valley on July 9, 2025. Watch the entire presentation at https://techfieldday.com/appearance/aviz-networks-presents-at-networking-field-day-38/ or visit https://techfieldday.com/event/nfd38/ or https://AvizNetworks.com for more information.
Transcript
So the way we're gonna do it, because we only have DU and I will ask questions. And the reason why we have two people, because we have two users in this tool, and I will walk you through. Uh, so we have two logins here.
So on the bottom here, you see one is locked in as the admin, the other one, and the second we know the other one is locked in as Thomas. So here's the admin, I'm Thomas. So what I wanna do first is if you, normally, the way you're gonna start is you're gonna set this up, you're gonna be the admin, obviously, and the tool is split like an enterprise tool, right?
You wanna have multiple users, you have an admin, what are you gonna do First? You're gonna install the software. It's a piece of software install on your own physical hardware.
They're metal server has to have a GPU. Otherwise you don't get good performance because it runs an LM. And we can't get to this.
The lessons learned how big of A GPU want, depending on how big the models are that you're gonna run. But it's basically a survey. Run the software, you install it.
The first thing you want to do, you want to connect to your existing data sources. Again, to answer operations questions, you have to get to the data because if you don't go data in, you have no good answers coming out, right? It's the garbage in garbage agile principle.
So as a first thing is say, Hey, data connectors, we prebuilt a bunch of them. This is clearly getting updated. I think this will accelerate significantly because most of the data source readiness today, they will build in MCP gateways and now integrating is much, much easier.
Uh, but basically what you're gonna do is saying, Hey, here's the whole list of pre-built data connectors that we have. You pick the one you want. You see the one that I created out, they already activated.
If you want to activate one, you would click on one, give it a name, give it a ui you have, give it a credentials or a token, and basically connect it to the tool. So the ones you see running, we have, uh, two Cisco products running. And quite frankly, the reason why you see this is not because we left Cisco more than anybody else.
We're very neutral when it comes to hardware. It's just rebooted demo for this little event that Tom referenced, uh, months ago. So we have a catalyst center connector bird, we have a dashboard connector.
Bird once is our own Sonic Orchestrator, uh, telemetry collector for Sonic devices. Uh, we have a connector into, uh, elastic 'cause we use this for similar flow data. Um, we have a connector into, uh, IP fabric is a, is, I don't know how many of you have put it.
There we go. Uh, didn't know. Interesting.
Used to work for them. Oh, there we go. Didn't know either.
So we have, we built one where the others you're gonna see, uh, if you looked at a, if you squinted, there's another engagement we we're having with this company here. Um, but yeah, it's, it's interesting to ask because it's a data lake. It's an interesting that it has snapshots a lot of data in there.
If, if a customer uses this, um, we're a collector and to, uh, connect into Splunk, uh, most customers we talking to use Splunk as for flow collection and lock collection. So we showing this here as a how to get, uh, information about flow data. And then we have a Zendesk integration because we actually use this internally for all our ticketing, all of our customers that we support, we track all our open tickets and Zendesk.
And so this gives you an idea. If you're an operations person that tries to figure out what's going on in your infrastructure, this is typical, right? You have to get some information from your device, you need to connect.
You probably have some ticketing system somewhere, hopefully. Um, and then you have other data sources, right? Uh, so that's direct pull, right?
This is just API or MCP integration. Uh, we have an option that you actually can't connect devices directly. And so this is coming where customers saying, Hey, I don't have a controller.
I just want to get the data directly of one of your devices. You can onboard that too. The other piece that is very, very important, what we have found is you will have what I call more static, uh, contextual information that you use.
And we're gonna go through a bunch of these host, we actually use this feature of files a lot, right? This is like, I have end of life, end of sales information that is not changing every minute. I don't need to go to the controller, right?
I just need to have a spreadsheet or some kind of document where I have this in, right? Or I got a new CVE list that I need to care about. You can upload these things as files.
These are data sources you can pull. Today we use a file. Eventually, I have a feeling the answer is gonna be, can you just connect to Google Docs Drive and my company?
I think that's where it's gonna go. But for this demo, we are just using Pfizer. Um, then obviously as I mentioned as an administrator, you're gonna set up users.
You say, Hey, you literally can add users. You know, today we set this up local. Next up guarantee, again, integration with authentication mechanism and enterprise.
You basically didn't just have the automatic um, uh, privilege assignment. And then there's a license tab. So once you're done with this, you're ready to go.
It's literally what does this, so what we built in here, you can be, particularly in smaller companies, you can post admin user, you just toggle this over and you get the user screen. You see this here. This is the capability you have as a user.
And that's the same when I'm just a user. I can't actually get the admin function, I just be the user, right? But you see it's the same things, right?
And important thing, and we are going straight in. We have two things. We have chats, and this is what you would expect from a chat interface, right?
Ask question, go on, right? Um, and then we have this tap called project. And the reason we built this, again, feedback from customers saying, Hey, I just don't want to chat Thomas talking with the copilot, right?
I want to have the ability to build containers. Think about a troubleshooting session around certain events, right? Could be use case, could just be in ran, could be, Hey, I have an outage going on.
I want a couple of people being part of the project. I have contact information relevant for this event. I upload.
Um, and I want to have a chat around this. And so what we're gonna go through in, you see we have a bunch of these populated. These are basically all the use cases.
We're gonna talk through the events. And I think that was the question is like, where's the value? Um, the first one is around inventory.
Uh, and you see the way it works, you basically create a project inventory, which I did. Um, then what we have for every inventory, you see the chat history in this inventory, then you can see, hey, are there additional files that you want upload? You could just say click upload from your local device.
You will be able to point to your L or you will be able to point to a local pass on the server depending on how you deploy it. And then you have information around every one of these projects, which is always the same. It tells you, Hey, what's the description?
Who created it? Who's the admin? And the admin for the project is the person that creates it, right?
You will have to control who do you wanna invite to be part of your chat session, so to speak. And then you say, Hey, I added super admin versus this gentleman today. And he has his own account as well.
But we basically have these two in here. And then the other very important pieces, remember we have these data connectors that the administrator sets up. You can actually turn 'em on and off depending on what you wanna do, right?
Because part of this is nice to have a lot of data, but why pollute when, you know, for that particular project, like I run inventory, I really don't need Zendesk, right? What I really want is I want a connection to the relevant controllers where my inventory network device inventory sits, right? And you're just saying, Hey, these are the ones I care about and turn 'em on off.
And now you're basically going on and asking questions. So I gonna be come Thomas now. Mm-hmm.
And Madu becomes the person asking questions. So I assume we're probably something We'll be getting. Lemme see.
This is where hopefully the demo works. Looks like I have some Wow. So That, that one yeah.
I assume we have both. There we go. Yeah, yeah, yeah.
So this works. Oh, here we see it. Yeah.
Little delay. Why didn't you talk? Yeah, So there is a, uh, user tag.
So DNAC is for Catalyst Center. I'm just asking like, you know, um, so show me all the I ps and host names is essentially under the hold. Like there is a bunch of agents working in tandem and you know, manage agent is kind of receiving this prompt.
And essentially it's delegating to a, a data agent, which collects the data and it is displaying in a nice, you know, uh, table format. You see some of the data, uh, there is something like, you know, empty data. So which of these are the devices, uh, like, you know, having not speaking, you know, enough data so we can go ahead and, you know, fix those issues, right?
So you'll be having, you know, bunch of data, uh, it'll give you a snapshot about your data center, which is managing by Catalyst Center, right? Okay. Yeah.
So yeah, I probably should have, when I saw the connective return on, we had Catalyst Center and Thomas, because I used to work in this company, said, oh, just give it a nickname, DAC that some of you probably get the joke. Um, we turned on Nexus dashboard for Nexus devices, and we turned on IP fabric, IP Fabric, Uh, a data source for device information. So here, what you say is basically saying you can basically pick, when you ask the question, you say, you say, Hey, which data connector I want to use?
So you can specify, you can either not specify and you pull from everyone, or you just specify, I want data from this, this collector, and you saw this here, right? This is basically saying, Hey, provide me hosting information. What device do you have available?
Yeah. So the next question I would like to see, like know how many devices being managed by, you know, my Nexus dashboard. So essentially there are two nine key devices, which is managed by an Nexus dashboard.
And I pick up these devices. I wanted to go, like, I wanted to find out what is the voice versions. So basically they're running on it.
So we can also have like, you know, some of the devices details, like, you know, Well he's doing this, I basically can comment on a parallel. Yeah. Right?
And so you basically, when you don't want to ask, when you don't want to ask the to tool, you just basically say, Hey, who's the person I wanna talk to? And you say, Hey, this is cool, or what about this? Right?
And the idea behind this really is if you're in a troubleshooting session, number one, we never sit next to each other. Yeah. You probably sit in different rooms, so in different locations and you can chat while you're actually inspecting this stuff.
Yeah. So here, so I receive a notification here, I can say, Right? So he asked, he asked the question, oh, there we go.
He asked, uh, the question he asked was around, give me some of the device detail for this host name, right? Uh, and I don't know whether he caught this, this is basically coming out of Catalyst Center, but you see it's actually Wood ONO system. Mm-hmm.
Which tells you actually Catalyst Center can nexus devices. Um, I didn't know this to run this in our own lab, we basically have a set of these. And so yeah, you find this out, right?
And you just get the information and you look at the other thing you see here, this is basically the detailed information that we're currently pulling, silver connector, but you basically can pull whatever you want. It's just the definition, what data you want to get out of your existing data lake. Uh, Yeah.
So those are some of the notifications you would see on the bell symbol. Yeah. So how is that, uh, the data that you're pulling there, how is that defined?
Because you, you said a couple times that you're not really training on operational data. It's, it's too hard or maybe even impossible to train on an operational da, uh, network because everything's changing. So then how are these different fields and these different, like how does it know when you're asking for an IP address what an IP address is?
Yeah, so first thing is we didn't, you know, um, so there is no training here. So essentially we use like supervised, fine tuning. So basically we set up a bunch of agents, for example, for, uh, SQL retrieval.
We have a SQL agent, essentially it has like, you know, both the reasoning capabilities, not just answering to you, it is thinking it is breaking down the steps. And it's also fine tuned for like, you know, for networking domain. So we took them, you know, uh, pre-train, you know, foundation model and fine tuned for our networking use case.
So that like, you know, we should be able to understand what is the networking, you know. So then are these are the, so the agents themselves and the, and the LLM itself, are those things that, I mean, that's, is that, I'm, I'm guessing you didn't build an entire LLM yourselves? No, No, no, No.
Good point. Absolutely not. Absolute.
I, I did not, I kind of, maybe I went too fast. Modular, we build data connectors. And so yeah, you do need to specify in the data connector, either the specific data set you want knowing the API or with MCP going forward.
MCP will tell you based on what you asked, can I have that data? And then you can map it into your internal data structure. So that's how the first line of mapping functions, either you know, the specific APIs you're calling, you know, these are the attributes I care about, and you pull 'em in or you goes through an MCP connector, that kind of advertises what it has.
Uh, and then the second one is really the agent that says, Hey, based on that set of attributes I pulled, and the question you ask, this is what I'm gonna do with reasoning summarization with the data I pulled, right? And you can now have agent, single agent, multi-agent and just keep manipulating the data and then coming back with an answer and then you can follow up. So yeah, that's why it's very important.
There is really no training on the data in the LLM. The LLM we use, actually for this one, we're using a 70 b Yeah, 70 B lama model. We can plug anyone in.
So we prefer open source, because you prefer probably not paying extra for the token. Uh, but yeah, you can package up any open source. We started off initially with a seven or eight meter model.
Yeah, we tried menstrual And We, lama lama Pretty Smart. You can, you can point wherever you want. It's basically modular.
And one of the feature version, and since we're caught, I have to be careful how much I say, but you saw when you as an admin, you can define not just data connectors, you will have the ability to choose lms. Yeah. So to the point like the technical, like we use, like, you know, instruction fine tuning, that's where like, you know, so it is the like least common denominator of all the schemas.
So, which, which can understand by multiple controllers. So that's why we should be able to see the better answers here. Yeah.
So When you're using an MCP from a vendor, how does that part work then? If you have that kind of layer in there to kind of translate, you know, a port as an interface and interfaces? Yes.
So that's what the, uh, so that's what the adoption layer, like, you know, basically the normalization. So, so the two things actually, if it is a data coming to our data lake, we have a pipeline where it's not only collection, it is data normalization before actually storing it. But in the MCP collect MCP, when you have a, a pretty determin MCP, you know, col, you know, connectors essentially the agent should be agent have the capability to, you know, Alize before answering that.
That's a set it up like, you know how it's kind of a software design model. So that, that's really where all the development is from your side is really that normalization of that, those outputs. Yeah.
Yes. Yeah. So that is the heavy lifting we are Doing.
And the way, the way I see this with our customers playing is, and it's not, like you said, we have like 20 connectors. It's not like you connecting 20 different data sources, right? This is more like you probably have 5, 4, 6 you use, it's just they're not the same five or six with different customers.
So that's why you see the different set. Realistically, you have one or two probably where your action network device information lives. You probably have one or two for flow and lock, right?
Uh, you probably have A-C-M-D-B, uh, and you for sure have a ticketing system. Um, and then that's probably it. And then maybe, maybe there's, we don't, have we shown the show, you probably have a Slack interface or whatever is your choice of communications, and you might wanna tie that one in.
So you can use this as an input output channel for whatever you're gonna do with the copilot. But that's in the end, it's probably as an operations team, what you care about, right? Uh, and so it's just now when you set this up is picking the right connectors, making sure for the question or use case you wanna go after I get the right data.
That is actually not a lot of work because again, we built this very modular, you can tune the adopters correctly, right? We have a base set there. But if you say, Hey, you see, this is what we have, I want only, I want also the, uh, let's say the, uh, firmware version, we can add this because most of these data sources will have them, right?
And so that's, that's really the adjustment. And that's, and I don't wanna, yeah, it's probably like less than four weeks work to actually get this going for a specific environment. But yeah.
Let's, So let's, yeah. Sorry. Oh, you have a question?
Go Ahead. So, um, uh, is it hosted by VIS or is it No, it's self-hosted. Okay.
We, we, we can, but we don't sing that. What is what you want? Okay.
Is there deployed on your own server? Okay. Uh, is there like, um, specific require requirements?
Do you need a, uh, um, uh, specific chip set is, or can you run this Nvidia? Nvidia, GPU. Okay.
Based on what we know, you want at least an A 100, uh, you're probably better off using an H 100 and the A 100 goes away anyway. Okay. Uh, you need a single GPU, you don't need a large class.
You basically need one server versus A GPU, and then you need a certain amount of memory. So yeah, it's, you need basically a server with a GPU in. Okay, perfect.
Yeah. So Because you've got a lot of different, like data connectors here and some of these things you can have overlapping data. So like IP fabric can get inventory and DNA or What didn't you ask the IP fabric question?
I'll just show it Yeah. While I answer. Yeah.
So that is a good point. So this is one of the scenarios you use. 'cause we don't have it in here, but I do actually think this is one of the basic use cases that all of our customers want is, hey, some run some data consistency, overlapping data set issues, right?
It's not just one is a, in the, in the same, let's say in the same, uh, um, controller you have developing IP address, clearly prom or duplicate Mac addresses clearly prom, you should be able to scan for this, right? This is very easy. But now you have to, Hey, I got data for the same IP address from two different data sources.
What are I gonna do with this? Right? And so, yeah, you basically have to build some logic as an agent.
Either you say, Hey, I prefer that source over that, or you actually run this and then start cleaning up your data sets, right? And you see this, there was one of the tables, you saw some of the, the attributes were missing. It's actually a powerful tool.
I believe this a powerful tool because now you say, Hey, I have inconsistent data, right? I need to clean this up because if I don't have this clean up, I just have misleading answers, misguided answers. So yeah, theoretically you could do something like show me the inventory from IP fabric versus Yes.
The inventory from You could absolutely do headless center compare data. We, we haven't built this in. I don't know whether it will, but, but that's part of the look we have to this option here.
We built this on purpose that you can actually either not specify the data source or you specify the data source. You can actually look at different outputs depending on what happens. Yeah.
Because I like, I want to answer questions like, what devices am I getting slog stuff from, which I don't have Yeah. Recorded in any inventory anywhere, uh, because for whatever reason they haven't been discovered, those sorts of things. That's the sort of stuff I wanna solve.
Yeah. It's In the CMDB that in ServiceNow, that hasn't shown up in long. It's in ServiceNow.
It's marked as we killed that off five years ago, but hey, it's still, Or it's in service now, but I don't see it. And that's probably because you forgot to clean up. So these are, these are really, this is like, by the way, this is I think where the shines, because you can figure out, some of these are real issues.
Some of this just data cleanup issues that have nothing to do with a tool, by the way. That's just, you can find this very quick and then say, Hey, ServiceNow owner, what happens? Go, go fish.
So this was the example here just to show the top, so you see the question asked Yeah. Is so how many IP fabric we specify, you know, how IP fabric works. That snapshots we're basically saying, Hey, tell us how many snapshot we're using a sandbox that they graciously provided to us.
And you see, you basically get the detail off snapshot id, snapshot, timestamp name, and you see these are not all snapshots on the same network, right? Again, that's a sandbox. They're different sizes.
There's like 700 devices. Some of these are the same. These are, you know, you see different days of the same.
Yeah. Right. And you see device changes.
Yeah. So I, I got a quick one too, so before you move on mm-hmm. So is, does this do correlation on historical data?
Like If you have correlation, if you have historical data? Absolutely. Yeah.
Okay. So, so it says ask whatever you want. And like I can ask it like, Hey, last Tuesday we were having this issue and, but it went away.
Can you gimme some insights around the state of the environment during this time on this day? Is that, That you can ask? Yeah.
So Yeah, I mean, so basically, yeah, you can pull like, you know, historical data in the past 24 hours or like, you know, what day you want, right? So essentially to pull the data and then it finally provide that correlator respond to you. Yeah.
So one of the lessons learned based on, because Thomas de precisely when I started is like, let me ask all this question. Number one, you need to know what data's available. Sure.
If you ask questions of what data's not available, you're not gonna get a good answer. Right? Or the tool is just, hey, I don't know what to do.
Um, second one is also very important is like this, this whole prompting, right? The more specific you ask the question, you better of an answer you get. Right?
And not only a better answer, but faster you get an answer, right? You actually can ask a question. We have to, it's like we get through the security order.
I hope we get there. Yeah. If you ask without specifying the IP address or your paids range, it's just will try to run this across all the devices you have access to.
If you have a thousand devices, you probably need to go for lunch, right? Unless you have a really large GPU. Yeah.
Right? But that's very normal. It is like the boiling the ocean question versus tuning enough so you get what you want to go to the next step.
But yes, you can absolutely ask this question. If you have, let's say in the controller you have contextual windows for like two weeks past and you say, Hey, there was an event last Tuesday. Show me all the alerts that happened.
Within one hour, you will get that data. Yeah. And if you had available and if you have another like source of data that it's pulling from that, that has that data, it can, it can pull it for, for example, if there's like dynamic baselining in catalyst center and it's, there's a variant and an anomaly, it can Yes, you can ask about that.
Yeah. 'cause that's a data source that's absolutely Okay. Absolutely.
You can do that. And that's where LMS really shine because they're good correlating data streams. What you need to think about is, are these data streams using the same time and intervals and, and you know, data, right?
If you ask about last Tuesday and Catalyst sent it, Tuesday is very well defined. And maybe in Splunk way of flow data sets you don't have last Tuesday, that's a problem. But as long, you know how your data, where it sits, you can absolutely do this.
You don't have an intermediate data source, right? You don't, you don't, you don't extract the data, put it into a temporary store. Yes, we Do.
We do. You do That. We do.
Absolutely. You have to Actually. You have to.
Okay. Yeah. Yeah.
Well I think you should. That's Thomas's opinion. You know, there public companies saying you don't do this at all.
You Probably have to because Yes. You, otherwise it takes so long, right? That's correct.
So you will do the reasoning will actually query the, the data from one source, put it into interim. Yes. And then do a SQL query or whatever appropriate to it to un answer that.
So basically to correlate the, you know, multiple. Yeah. Because otherwise it's, it's gonna be very difficult.
You can't do that. Yeah. You like ephemeral stories are like in persist stories, right?
So keeping that, So like a specific of that would be like, you know, uh, host name one, one system might use host names and might one might use IP addresses. So your your, your data would have those two stitched together so that when I look at a data source, I ask about this host name, it knows that's this ip. You have to have a common attribute.
So yeah. Common attribute. Yeah.
Right. If you only have host name in one and IPS the other, you will never be able to match. Okay.
But if you have only host in one data source and the other one has IP name and host name, now I will be able to pull data that is only linked to host name that can do To do that. Yeah, it's, Yeah. You have to do the SQL join.
Yeah. Yeah. Absolutely.
Precise. And lemme when you So one more point. Yeah.
So when you, I mean you're working on a huge data. So we are having a workflow saying that instead of like staring at screen, we are sending it as a know offline thing. So we can Yeah, That makes sense.
Basically Turn it or Slack query To filter, extract that, put it in there and then do the massive join across whatever it that you believe are necessary to answer the question. Yeah. Write the query to your interim data source and then answer the question.
Absolutely. Makes That's Correct. Yeah.
So let's do this. Uh, we were in the inventory. This is the basic stuff.
I would call this the basic stuff. Trying to figure out what do you actually have in your network, right? Uh, let's maybe go to the next one.
Um, so You want to touch upon use cases? Yeah. Let's, let's come of there.
Let's go to the next one. Hosting validation. Yeah.
This is one that Thomas, I don't wanna say made up. I got this a lot. I know this from a lot of enterprise customers.
Yeah. They're very, let me just go there. Yeah.
Uh, similar idea. You have to go there on both sides. Yeah.
So you see the same, um, similar idea here. What we do is we actually have uploaded a file, right? You basically can upload file.
And it's basically the idea is, hey, most of the enterprises have very specific hosting, naming convention. And part of this is because you just wanna know based on a host name, where system wise, right? Location, geo rack, whatever you en code, right?
And you really hate when people just adding devices and giving a, a non-descriptive unnamed host name. So what you can do is if you're saying, Hey, I have a naming convention file, it's static information, it just specifies what that convention ought to be. And anyway, say hey, and now we go, which one are we going to?
Yeah, I'll click on that. Yeah. Yeah.
That's what the same thing. Alright, So we actually run this here, right? And so the first one was, Hey, show me all the host names.
Oh, what I forgot to tell you, you go back here, where's the data coming from? Right? I should actually show you this.
Yeah, yeah, yeah. Right. So in this ca, man, Okay.
It takes a while normally. Yeah. Yeah.
So here we connect it to IP fabric and we're connected to ones, right? So again, you can change this based on project, what you want to connect to. Yeah.
Um, and so basically here the question is really show me, show me, um, all the host names. So it basically, and since I doesn't specify which source to go, the pulse from bowls right. And shows to the list what I have, right?
You see some of these come out of the IP fabric sandbox. Uh, and I'm not saying they don't have an naming convention, it's just not the one that you want. And then some you're in the middle, you see it, they come out of once.
And then we are basically saying as a follow up to this, um, actually the follow up needs to happen. Yeah. It is happening.
It's working. Yeah, It's working. Yeah.
It's not popping up yet, but then it's like, Hey, let me actually see you heavy. Or maybe I'm on the wrong chat. We have another one.
Let me see this. Oh, there we go. Yeah.
Same list all the host names. Yeah. Yeah.
Then you basically say, oh, I need to wait. This is a scrolling thing. There we go.
Now can, you can ask a question. This was all the host names saying, Hey, list all valid host names. Pretty uploaded file that has the naming convention.
And the file is very, very simple. In this case, it basically says, Hey, the first three digits has to be either one of these, the next four after this. But you, it's, you really can define what you want.
It's very, you define what you want. Right? That's the beauty of having a separate input file.
And then you just filter down saying, Hey, show me all the host name that match. Right? And you're saying, Hey, these are the four and all the other ones don't.
Right? So the use case really here is if you come in the morning saying, Hey, who added device to my network? Show me which ones, and then show me whether they're correctly names.
And if not, you know, you're gonna Yeah. Go fix. So, So do you have a way to tag something in as like your, your source of truth?
Like if, if there's all these different sources and, and there are variants, can you identify, okay, this is what it should be and, or, or is it only polling information? Are you, are you able to execute like, Hey, by the way, these should be this, make sure that the other ones get updated. So maybe just to make sure I understand the question.
We are not controlling when you create a device, right? That's done somewhere else. This is strictly Just Basically occurring and saying, Hey, tell me based on what is available, whether they are named properly.
Right? And all you do is saying properly is defined in your file, what properly means. And now I basically pull from all my data connectors to devices that are actively live and saying, Hey, properly, does it match?
And the answer is yes or no. Right? And then yes, as a follow up, what you probably will do is instead of saying, Hey, show me not the ones that are valid, show me the ones that are non-valid and you just open a ticket and say, go fix.
Right? Or if you actually the individual it user for everything, you could just go and go to the revised login and fix the host names. And, and these do show the, the source.
Like if you're pulling seven things and you're getting back eight different examples are gonna show exactly which one was we Haven't added. Hold on. I don't think we have edited here.
That's the next step. What you have is you can't, you can't pick the source. You can say, Hey, you can basic sequence this.
What we will do, one of feedback we have is, besides what you say, if you pull from multiple data, so the same time hack data based on where the source, what the source is. So we actually see where it's coming from. Yeah.
Yeah. Is the data ranked too by source in some way? Do you have multiple of the same indicators?
Is That that's, that's some of those things to work through. How do, then you basically would have to tech a this, let's say if you go by hosting IP address of what you're asking for, and it is in both, uh, it comes from different data sources. You will have to tech it with multiple source tag.
Yeah. Right? And, and kind of where my, my thoughts were going on that as far as like a source of truth goes, right?
Yeah. Okay. If I, if I've got 12 things that came back, I can look and say, oh, but that's the one that it should be.
So let me, let me make sure that I'm getting the rest of these. You have to define, or you as the organization has to define which one you would seek. Believe is the right one.
Right? Co-pilot will not be able to tell you this, right? You, it just tells you there's a, there's a, there's a drift or there differences, right?
Again, we we're not, we're not the data management tool. Right? But yeah, you probably come after why to the conclusion that's the data source I trust.
And you might just use that and then just check the other ones. Yeah. So the user still has to be aware of the data source and, and how the data source does its work, right?
It it, it doesn't, it's not like any user can come into this. They still have to have knowledge of that underlying technology. You have to, it is not the technology I thinking in the knowledge.
You need to know as an operations person, which tool I go to today because it's, again, it's not like you go to different tools with this, right? It's not magic all what it does and is what was asking a question? What's the value?
You, you, you, you use the same tools you, you use today and you trust today to get the data, but it's easy to get it in one spot and it automatically correlates stuff here. Instead of you having to do this in spreadsheets and download and trying to figure this out, all of this is done here, right? But whether the data source is a source of truth or has errors or needs to get cleaned up, I can highlight this here.
Right? So this is actually variable in highlighting whether there's inconsistency, but fixing that is not what copilot would do, right? Because copilot cannot do it, quite frankly, I don't think it should.
Yeah. And the long term you can add hint. So as a user you can hint and you can say, I preferred this over this with this kind of data.
You can put your preferences file in there eventually, right? No. You see this.
So we have to, you see, lemme see you see it here. We, we, this is what we have in mind. You basically can use this for questions as like, I like the answer, I don't.
Mm-hmm. And then you can use, we use this as a feedback mechanism to Sure. To you can do Reinforcement rank, Know what questions are good, but in the same you will end up doing with data sources, right?
I think in the end you will trust certain data sources more than others. But again, the tool will allow you to, to discover blind spots, right? Because you will have inconsistencies.
Yeah. But I want to hear, right? So the next time I use it, it absolutely, it has preferences on my preferences.
So Speak. Can I, can I ask a question? I I, you use this word correlation.
And I, and I think maybe what's in my mind for correlation, especially when I think about machine learning and AI and stuff is different to what I've seen so far, at least. Wait, You haven't seen all of it yet. And Right now, yeah.
This is a fancy query front end. It is. And I honestly have, I don't remember the last time I thought, you know, I want to know what device I have in that data center.
I need to go and type out, this is not realistic for me at all. Right? And I'm struggling to see a use.
Now the example that was given about, well, last Tuesday I had a problem, and you have visibility of the network device data, Splunk, no tickets coming in, and you can look at all this stuff Now if you can literally correlate that stuff, I don't want a list of, I have far, far too many events coming into my, my seam into, into Splunk and stuff. In order to be able to go, just list them out, that's crazy. I'm looking for it to say, you know what, this all seems to have started here because this event happened.
And that was, that's what I see as correlation. And I'm hoping part of your demo shows that kind of intelligence. 'cause to me, that's where the value is.
Mm-hmm. Everything I've seen so far, give or take, can be done with the Python script. Right.
And I don't mean to be insulting to the work in the product, I just struggle to see the benefit of ChatOps or AI ChatOps or AI ops or whatever we want to call this, unless it does more than just query multiple data sources to get the answer right. And I, I appreciate being able to take a naming convention file. Yeah.
Have it determine what it is. Okay, fine. But it's still not, I'm, I'm waiting for the value prop here.
We, we, we'll have some more, but I know where you're going. Okay, Good. Good, good.
The interesting feedback, and I'm, I'm by the way, that's, I, if you're like a heart, if you're the one who has to troubleshoot, that's precisely what you want. Mm-hmm. Right?
Some of what we had shown so far, we get a lot of question from like IT ops people and saying, Hey, I own a network of thousand devices across multiple locations, let's say school districts, which is basically where some of these comes from. Mm-hmm. I have to run a report every quarter, uh, which is, by the way, the security order, we probably should click on this.
Yeah. Um, and that's just a saying. And this is similar to, again, this is very similar to we saying, Hey, all my devices have to have a certain basic set of configurations, right?
Mm-hmm. Tech X, aaa, SNMP community string on off, just generate me this report. Yeah.
This is not what you're looking for. This is just please generate me that PDF and go, um, which One You want, which one you wanna go on. So click.
Yeah. Yeah. But I will come, we have, we have, I think a few, let's maybe after this we gonna jump to, yeah.
So, Uh, but before we go, let's go through this, but I know where you're going with this. Okay, good. Thank you.
So, uh, essentially like, you know, when you ask a, a report, right? Basically that there are a bunch of agents working in tandem. So one agent basically go and grab, uh, configuration from the devices securely.
The second agent, basically it, it understands the user, you know, the compliance requirements basically take the requirements, what are the features I need to, you know, validate it. Once it validated on the configuration, it provides you, you know, the compliance report. So if you look at that compliance requirements, so you can set it up like, you know, I wanted how security feature and, you know, logging and management and for, for example, different customer, you don't need all the thing I want to have only, you know, security.
So basically it is customized for you and it send you a, a report. And if you have a collaboration channel, it'll be pushing onto your slack or you know, there is no tickets. Yeah.
That's what it is. And So in is that very, very similar to producer run different scenario, right? You basically, in this case, you're saying, Hey, I have a certain set of things that need to be present in every configuration.
Mm-hmm. I define this in a data source and then I just check on a regular basis across all my devices and generated nice format report. Um, initial time we got this, this was out of a financial institution saying, Hey, we have to do these CIS side reports.
This the seven you look for. Can you do this answer? Yes, absolutely can.
It's pretty straightforward. Then the next one I say is there's a lot of, a lot of people that run large networks but are very short staffed. It's like, I don't wanna do this manually.
I want to run this as a estrogen tool. But yeah, you're right. It's a correlation of device information and set of conditions you need to do.
Yeah. Yeah. So do you wanna show the files or, Uh, That's The fight we could show, but basically what is the input file?
What we were using? Say you just specify the features that are the condition, what you wanna show in the report, and then the agent is spilled around and saying, go to every device that you've access. That's, or whereas my comment earlier, there was a question, how do you frame the question you want to ask us around specific IP addresses?
Because otherwise you're trying to get the information from every one of potentially thousand devices. That would take very long. If you ask us very specific that we'll just pick this device, or let's go to the device.
We'll use the credentials that are, pull the actual config, compare against the reference what you're asking for, and we'll give you a summary. Yeah. Right?
I mean, and again, I'm not being rude. I literally do this with A shelf script. I know.
Mm-hmm. I know. Mm-hmm.
And, and I, and I'm trying to help you 'cause I wanna see something that isn't easily replaceable with a script. Uh, and, and maybe easily as rude, but do you know what I mean? I, I'm, I'm looking for something that makes me go, oh, I don't know how I would do that.
Let's, Let's, which one do we wanna pick next? The Blow me away please. No, I don't wanna do that.
I don't wanna have the liability man for this one Correl case. Yeah, No, let's not do that. Let's, um, pick Thing.
Yeah. You Wanna do p Yeah, no, let's do the ticketing. Yeah.
Which is probably a good one to come close. Yeah, I can pick on this. Which one you want me go over This one?
Okay. Yeah. So the ticketing, so maybe we set it up before we go there.
Actually, I should tell this. Well, a couple things we're gonna do here. Um, one is the data source we're really using is Zendesk, right?
Uh, and so what does this is say we use this actually for all our internal case tracking, for our actual customer support. So that's why I need to be careful here how I ask question, because otherwise you're gonna see customer details, which I don't wanna share. Um, and then the other thing, what we have is you saw, we uploaded a file here, which is actually a console log from an actually a customer situation.
Uh, again, I just renamed this in A, B, C and screened this out so it becomes clean. Um, and so this probably gets a little bit into the direction where you're going, but I do wanna make the comment, a lot of these things you will be able to do with scripting. Mm-hmm.
The beauty of this is one, as you know how to script this one is what, it's basically agent, the way I think about agents these days, these are basically scripts around certain topics, right? Uh, that tells you, I need this data, I need this data, and I need this output, right? And then the LLM helps you to stitch together the agents.
Um, so if you are a very sophist sophisticated descriptor, a lot of pulling the data together, you will be able to do where the LLM comes in. This we show to see a little bit is, is actually interpreting the data and then helping you with suggestions. Yeah.
But maybe let's also this. Yeah. So it is, I mean, so here is the agent is not, it have a bunch of tools available.
It's not only pulling the data from, you know, agendas in real time. It's also used like, you know, how to flood it and how to generate by charts, you know, how to, you know, basically to make sure that, you know, um, in past 30 days, like timeline series, right? So basically it is summarize it for you.
And for example, here, I ask a question saying that and, uh, plot a line chart for a number of tickets closed in per week. It gives you like over a timeline in the past one year. So it gives you like, the trend.
So how does, how many tickets being closed per week? So it's kind of a trend is in around like much timeframe we have, you know, peak and it's come down in, you know, basically July. And here's one, one other thing I want to use one second.
Not going down. Keep going. I keep going.
Okay. Let me ask this question. So what are you guys watching this?
Any other ideas you have? What you actually, I heard the troubleshooting piece. I Kind of to piggyback on that a little bit.
What about like, like RCA, like, hey, I've got these things that happened and I, I do need to take things from seven or eight different things and try to come up with a root cause instead of having to manually go in and eat one of those and then try to put that stuff together myself. Yeah. I think, and so there is a problem is going on.
Yeah. Let me, I don't see it yet, but Yeah. Yeah.
So let me know. Yeah. Just, uh, refresh here.
I'm, I'm under the right one, right? Yeah, Yeah. Right.
Yeah. Yeah. So, so is a, it is basically, uh, agent is pulling, you know, the data and it's showing in a trend.
So how, how, how many tickets being, you know, so what is the status of, you know, monthly, uh, tickets is kind of providing you a nice, you know, bot charts, how many being closed or how many pending, and how many, uh, you know, kind of solve, right? So this is the kind of a timeline we are showing it. The next question, I think whatever in the same lines I'm going to ask you.
So provide a root cause analysis of like, you know, uh, the pile I have uploaded, right? So let me, So just be clear there, there's no, um, configuration that can take place with this. It's, it's strictly input of data.
What We show today In correlation, We have not implemented that. Okay. You can, right?
Because you're connecting to a, to a, a configuration controller. You actually can, if you implement the, the M-C-P-A-P-I interface as pushing information or configuring actually could. Okay.
Yeah. So here, I mean, I got, you know, a bunch of files from customer. I wanted to pick clean stuff, like going through all the, you know, list.
I just upload. I just, you know, upload to the tool, another copilot. It should be able to, uh, basically provide you all the, you know, uh, important details to find out like, you know, root cause it's not really, uh, it's kind of a first kind of a draft I can take, take over.
And if you look at this, it, it talk about like, you know, what is the confidence being there? So what are the other messages? What are the, you know, basically it is giving us to, you know, troubleshoot, you know, on the, and also it gives you, uh, what is the issue and what could be the potential root cause and how to, it can quickly assist.
And I would say that this is not the, you know, uh, end of the day, but you can take this as a handout and we can, uh, go to the next level. We can see we can fix that problem. Yeah.
So just for context here, because it's very important to understand, we, basically, what we have is we have collection of locks that came through a ticketing system in this case, uh, from a customer environment. Uh, we added in that same file, additional context on what devices were used. Uh, and then we're basically running this, um, through the LLM and the agents who basically passes this out and saying, Hey, give me, give me a summary of what's going on.
Right? And so based on what it sees in that log, right, which if you have a log, it's like, it's basically like CLI output is mm-hmm. You know, it literally gives you something saying, Hey, uh, what devices do I have?
Where do I have problems? Uh, status up, status down. Uh, it really shows you that there's some interface issues, right?
It changed actually from, uh, up to down, right? And you, you can actually see that history going on here. Uh, and then it also, based on the lock, I will tell you, Hey, we see some issues around this Mac address.
There seems to be an, uh, multi chassis like issue going on. Um, and then you basically see additional things that happen during this time in the lock, right? It's just literally passing through way quickly.
Uh, and then what you can do is basic saying, Hey, uh, summarize this out and can you ask follow up and saying, do a root cause analysis. I think this is where you're going. Mm-hmm.
Hey, can you actually give me based on, this is where LS pres are actually pretty powerful. If you have tried this out based on what they know based on public trained information around issues that pops up, they will give you actually a pretty good guidance on what the potential is. Uh, it will go through this, it finds all the error message with the detail and saying, Hey, here's some of the things that I see.
And then it will go through and saying, here are potential root causes. And now you can use that and saying, Hey, uh, configuration issue. And what you would do is, I think what you're getting saying, okay, now I would know this device saying, Hey, show me the timeline of configuration changes for this device.
Doing that, doing, doing that specific spot, right? And so now you can go and follow up and, and get that data, right? Or you can say, Hey, I see a link issue.
Give me the link status for both ends of that link in that time. Right? And so you either can do this as a follow-up question or if you actually know the sequence of questions you wanna ask, you build an agent around it.
Uh, and that becomes pretty straightforward. We actually tested this out, uh, again, since we have real customer data, we tested this out saying, Hey, if you would just take this and feed this into the, the, uh, LLM we're using here versus, uh, public lms, the datas are 50 to 70%, very much on, on, on point. You actually get very good guidance on potential issues.
What's going on that help you to follow up. So question on this, with what you're showing here with this log data that you've uploaded with this, is this from a single device or is this from a series of multiple devices that are providing that data set? It's multiple devices.
Okay. M select no menu. Yeah.
Yeah. And this particular case is a multis like issues. We seeing link flaps going on, we're trying to figure out what's going on.
We pulled the lock from both devices, right. Uh, over time and then saying, tell me what's going on. Okay.
So if I can zoom out a little bit from, from the, these pieces you've shown us here, which are good, and, and to John's point about, you know, maybe I could write a script for any one of these individual use cases. Yeah. But when I'm looking at this, and I guess I'm looking for you to tell me if I'm right or wrong, how I'm seeing this, you know, one of the kind of fallbacks or the, the holding, the things that's holding us back from doing network automation and better observability some of these things is you've got network engineers who are saying, what if I don't wanna learn Python?
What if I don't want to become a programmer? And so what I'm seeing here is I can do the things that I would be able to do with a program Yeah. Without having to write the program.
So if I know the network, if I know networking, if I understand OSPF and BGP and VLANs, and I know what questions to ask, I can just ask those questions, get results back, and not have to have someone write a script for me for every single use case. And then also you're kind of, just hold on on that one. Creating a a, an abstraction layer there where maybe I don't have to go learn Junos if I know iOS, and maybe I don't need to learn Catalyst Center if I already, if I, you know, if I don't know happy fabric.
And so now all of a sudden, the only thing that matters to me as a network engineer is knowing how a network works. Yes. And this gives me a tool that I can manage any network without any additional knowledge.
Yes. Oh, I couldn't have summarized much better than that. No, but I think it's very important.
That's what I'm saying is I look at this at different, different user types. If you are a scripter, you probably can't do most of this. However, you can't make it easily usable for everybody else, right?
If you're not like, you're like level one network op support, you're not scripting. You need this, right? If you are a person that has to do, uh, audit reports, capacity planning, budget request, because I need to lock out what my devices end of life and when do I need to buy new ones, this is ideal for you, right?
Um, I think the question you ask, can I configure where we think this as a lot of value for, for, for configuration is not pushing configuration because most people have their pipelines to do this. They will never use a tool like this. In my personal opinion, where we'll use it for is like, Hey, I want to get port up and down, or I want to attach a v to a port or port group.
Yeah. That's very easy to do, right? You can say, Hey, show me the ports that went down, or I want a troubleshoot, I need to bring the port up and down that you can easily do here, right?
And you can see this, right? You just look at, show me the status of this device, show me the status of the port, uh, change it, you know, what you would typically do in a troubleshooting session, right? Saying, Hey, anything else that I, that I have better reachability or not?
You can do all of that. Yeah, I was gonna say, um, one of the big things I've seen this in Catalyst Center is, uh, during a troubleshooting, giving suggestions on commands to run, um, to uh, kind of see what could possibly be the issue. Um, and I, I think that's a big thing, especially for junior engineers that, you know, haven't done, you know, haven't gone through a particular troubleshooting session or seen an issue like that before.
Um, and just knowing kind of those kind of esoteric show commands that, you know, you use once or twice in your career type of thing. Yeah. Um, but uh, that, that's where I see a lot of value in that.
So yeah. Yeah. This is not a tool if you are on ACL I, this is not a replacement for ACL I, I wouldn't even suggest that it is really more like what you were saying.
I don't know all the different COIs. I don't want to learn all of this. Give me the information across.
Right. Can you execute CLI under the hood? Absolutely.
Like what you said, call center, say that you just copy this, please execute. And if the connector set up properly, you basically got the outputs. Yep.
I assume we're gonna run out of time. You are up. Ah, damn.
We have way more in there. But I guess you basically have to just all follow up if you're interested. And this is for the larger audience, uh, on, on the uh, screen.
Let me do one more and then I give it back to Tom. Uh, what I did want to go, Nope. I want to just leave you with two things, uh, a bunch.
I'm not gonna go through this. Um, what I wanted to leave you with is, hey, uh, I always got the question. So how hard is this?
It's not hard. You can't deploy this way quick. It's your own server.
You set it up we'll work with issue, making sure if you don't have the data connector, get the data connector we work with you. Make sure to get the data out of the data connector. We put in the hardware requirement here and then based on everything I have seen, this will pay for itself within a year.
Right? And the question always is, if you want to use these kind of capabilities, you either have to hire a data scientist or you have to figure out how to get this infrastructure a cloud, which costs a lot. You don't have to do this yet.
Software running on a standard server. Uh, and you should be able to automate away all the boring stuff, which was stuff that you actually enjoy doing. So that's, I think where I want to leave it.
Well, we didn't get through, but we will have more. We have integration how we actually can use this to do interesting packet capture analysis, observability analysis, but we'll have an end up event coming up and you can learn all of this stuff there. Yeah.
So with that, thanks for the good feedback. Um, troubleshooting is a holy grail. It's gonna be fun, but think about this tool as available for a whole set of different user personas and you capture it actually really well.
Where I see a lot of value with that.