Tag: AI

  • The AI T-SQL Tuesday–#160

    tsqltuesdayIt’s time for T-SQL Tuesday again, and this time there is an interesting invitation. Damien Jones reached out and wanted to host, so he gets to pick the topic this month. His invite is on the Microsoft OpenAI partnership.

    T-SQL Tuesday is a great way to keep the community engaged with a monthly topic hosted by someone new each month. I manage the party, and if you want to host, let me know. If you want to find a new topic for your blog, write each month and link to the invite.

    OpenAI

    If you read the invite, OpenAI is an artificial intelligence (AI) research company. They’re behind the and DALL-E 2 and ChatGPT services. I’ve only lightly used these, but they have been in the news quite a bit in the last year.

    Microsoft supports the company with investment and provides the cloud services they use. The invite this month is asking what we’d like to see from this partnership. What AI things should Microsoft try to integrate in Azure, O365, SQL Server, etc.

    My Wish List

    What I would love to see from this sort of partnership is more of a personal assistant AI that helps me with typing/coding/work on my laptop/desktop. I’ve seen great strides in autocorrect on my phone, and Google has some nice autocomplete stuff in Gmail and other apps. I see some of this from the laptop, but what I really would like is a better assistant that does stuff for me.

    I’m thinking of these types of things:

    • autocomplete, which I see is VS and Copilot, but more, smarter complete for the code I write. Recognize the types of mistakes I make.
    • In the Command Prompt, when I type “get status”, recognize I’ve erased and corrected this to “git status”.
    • Lately in every place I’ve needed it, I type “Floriday” for some reason. Please just fix this.
    • Help SQL Prompt be smarter, and auto complete the similar types of queries I run.
    • Recognize that I often write certain things over and over, bring up a template of sort, or remind me that it’s time to handle this task.
    • Recognize repeating actions and offer to write some code. I have a few import tasks where I have to download a file, run code to import it, and then run a SQL script. Offer to do that for me. That’s where another human would recognize a repeating task and handle it. In this case, it’s not easy to log in and download a file from a script, but an AI assistant could integrate some semi-manual tasks like that.
    • Handle some recurring search/replace stuff for me, maybe with a quick popup. In Evernote, there is some HTML added to notes that I need to remove constantly. Look for repetitive actions in an app and offer to handle them. It’s not a lot of keystrokes, but it’s also something hard for me to automate, but perhaps easy for an AI.

    These are selfish, quick things I’m thinking of, but beyond what a basic voice assistant can do today. ChatGPT seems to be moving in the direction where it might actually be able to be a better assistant, if integrated into the OS and also customized and adapting to each user.

    I’m sure we all repeat lots of actions, perhaps an AI might help us better handle these things. With notifications, reports of actions, and auditing, it might be something I’d trust.

  • Will ChatGPT Write Our Queries?

    The short answer is no.

    The longer answer is it depends, and perhaps to be more complete, ChatGPT likely will help us produce the simple, tedious queries with much less effort.

    There has been a lot of news about AI and ChatGPT and how well it performs for a computer. That last phrase is important because while it’s impressive, I don’t know that any of us would consider ChatGPT to be in our list of the Top 5 Dream Dinner Guests. The tool isn’t that impressive compared to most people, especially our friends.

    I look at Ayende Rahien’s blog often, and he recently had some thoughts on this topic, experimenting with ChatGPT and coding. Some things worked; some didn’t. In general, to get good code, you still need a subject matter expert, which is also the case with humans. We have plenty of people writing code that aren’t great at their jobs. We do see a lot of bad code, but we also have some great coders that help others to learn or just refactor their code later.

    So is ChatGPT better than a below-average developer? I don’t know. While the tool will get better, one advantage with people is we can complain to them, or send them problem queries, and they’ll learn to paste better code in from the SQL Server Central forums or StackOverflow or somewhere else. Perhaps ChatGPT will learn, but will it learn to improve and refactor code? I’m not sure how easy it will be to teach the system to edit something rather than just produce new code.

    I do think that the assistance features of AI, suggesting ways to complete sentences or lines of code, can be very valuable. They are a great productivity tool that can enhance your ability to get work done. If they learn to work in your style, suggesting the things you’ve done in the past, then these tools will help. As with most tools, they aren’t a replacement for your knowledge, but merely a lever to make you more efficient.

    Steve Jones

    Listen to the podcast at Libsyn, Stitcher, Spotify, or iTunes.

  • AI Medical Record Scanning

    Artificial Intelligence (AI) systems continue to pervade many industries, usually where there is a lot of data and human developers struggle to build solutions that handle the complexities of the problem. Often the experts in these subject areas can’t fully articulate the reasoning behind how and why they use data to arrive at some conclusion. We developers often struggle to get clear specifications from clients in simple cases, so I certainly understand why AI might be attractive in complex problem spaces.

    I think AI is a promising way to try to tackle some of these issues, some of which are important to humans. These systems can achieve a focus and analysis of complex data in a way that very few people, if any, can. The sheer volume of data and myriad of relationships among the various different metrics captured eludes the ability of most people to properly analyze.

    I found an article that looks a neat non-intrusive way of analyzing medical records from patients to detect blood issues. In this case, an AI looks at the records of treatment and test results, looking behind the doctors and nurses to catch patterns that can indicate blood poisoning. The signs are subtle, and in today’s world where the humans are often overloaded, hand-offs between people can be incomplete. This means that doctors and nurses sometimes miss things. The AI doesn’t order treatment or prescribe anything, but raises a flag to alert humans. The medical staff can then review things, examine the patient, and decide on the treatment.

    Early results seem promising, and more importantly, this is the type of lever that computing can bring to leverage human expertise and help humans. Not only can they better treat patients, but potentially this can help enhance the understanding of what signs a doctor or nurse should look for in future patients. When a flag is raised and an issue detected, the staff can go over notes or discuss how they might have caught this themselves. A little continuous learning applied between humans and machines, just what we’d want in a DevOps software pipeline in technology.

    Steve Jones

    Listen to the podcast at Libsyn, Stitcher, Spotify, or iTunes.

  • Digging into an AI Algorithm

    One of the more successful uses of AI (artificial intelligence) has been in the medical field. It seems that there is a tremendous amount of data, high variability in some aspects of the target of the data (the patient), and a need to constantly review very tedious volumes of data. A place where AI might, and has, made a difference to help humans, not replace them.

    There’s a neat article that dives into a bit of how a medical algorithm works for detecting sepsis. As you scroll, the article tries to explain in layman’s terms what the AI system(s) are doing. It goes through the necessity of regular data, which I think is a good design to push humans to gather data. It then talks about a variety of neural networks being used to analyze data, based on previous training from humans and past results.

    It’s interesting to think of multiple nodes coming to their own conclusions are different times of the day and then later nodes looking at the results of previous nodes. That’s what a human would often do, looking back at recent history and giving that some weight. The system comes up with a number that a human can use to consider in their diagnosis.

    It is interesting that the article talks about the need for humans to better communicate to use this system. I think that’s often a key with any computer assistance. The humans still need to use the computer as a tool and not as the final decision maker. However, at least in this instance, the tool seems to be helping reduce deaths in the hospital. I would hope that this is because the algorithm is detecting some patterns that are easy for a doctor to miss. It could be because the new system is focusing people’s attention better, and possibly this is a combination of both of these possibilities.

    I do think that AI systems can be very helpful in assisting humans in many tasks, and medicine might be one of the places where AI will be most useful. The sheer volumes of data, the complexity of the cases, and the load placed on medical workers to monitor many people can overwhelm any one doctor or nurse. Having a system that might remind them of a small detail will hopefully save lives.

    Steve Jones

    Listen to the podcast at Libsyn, Stitcher, Spotify, or iTunes.