This first step is to decide what you are going to ask of ChatGPT -- but not yet ask it anything. Decide what you want your function or routine to do, or what you want to learn about to incorporate into your code. Decide on the parameters you're going to pass into your code and what you want to get out. And then look at how you're going to describe it.
Also: How to write better ChatGPT prompts
Imagine you're paying a human programmer to do this. Are you giving that person enough information to be able to work on your assignment? Or are you too vague and the person you're paying is more likely to either ask questions or turn in something entirely unrelated to what you want?
Here's an example. Let's say I want to be able to summarize any web page. I want to feed it something like this article and get back a short summary that's well-considered and appropriate. As my input, I'll specify a web page URL. As my output, it's a block of text with a summary.
Continuing with the example above, a very old school way of extracting web page data was to find the text between HTML paragraph tags.
But with the rise of AI tools, it makes more sense to use an AI library to do an intelligent extract and summary. One of the places ChatGPT excels (and it's also an area you can easily verify to avoid its authoritative-but-wrong behavior pattern) is finding libraries and resources.
Also: How to make ChatGPT provide sources and citations
OpenAI (the maker of ChatGPT) sells API access to the GPT-3 and GPT-4 engines that will do exactly what we want. But in the case of this example, let's assume we don't want to pay transaction fees.
So let's look at interacting with ChatGPT to figure out how to use such a tool, for free, with a project that runs in PHP.
I started with a prompt that was designed to elicit information about what libraries would provide the functionality I wanted. A library (for those of you reading along who aren't programmers) is a body of code a programmer can access that does a lot of the heavy lifting for a specific purpose. A big part of modern programming is finding and choosing the right libraries. So this is a good starting point.
Also: I used ChatGPT to write the same routine in 12 top programming languages. Here's how it did
In this case, I'm looking at blocks of code written by other people that will summarize text. Here's my first prompt:
Describe ten different open source AI libraries (and the languages they work with) that I can use to generate a summary of the main core contents of any web page, ignoring any ads or embedded materials.
This gave me exactly what I wanted, including a mention of OpenAI's offerings. I think OpenAI would do great here, but for this hypothetical project, I don't want to budget for API fees. So I'll narrow down the question.
Are any of these free?
ChatGPT hedged its bets with its answer. Here's what it said: "Yes, all ten of these AI libraries are open source and free to use. However, some of them may have usage limits or require payment for access to additional features or resources." So, based on that, I clarified my query.
Which of these libraries have no usage limits and don't require any additional payment or licensing?
Notice how this is very much a conversation. I don't have to re-ask the originating question. I'm just drilling down in the same way I might if I had an expert at hand and was seeking clarification. In this case, ChatGPT gave me eight library choices, but none of them mentioned the PHP language that I was planning to code in. So, here's the next prompt:
Of those 8 libraries, can I use any with PHP?
It returned three libraries, but I wasn't sure about what each did. So another question:
What's the difference between Sumy, Gensim, and NLTK?
I still wasn't sure, so I clarified my use plan and then asked:
If I want to create summaries of web page news articles, which library would work better?
The answer I got was clear and promising: "Sumy is specifically designed for text summarization, which is the task of creating a summary that captures the most important information from a piece of text." So, now it was time to see what was involved in using it with PHP. I asked my last question for this part of the project:
Can you explain how to use Sumy from PHP?
Feel free to play along on your computer and paste these prompts into your instance of ChatGPT. Notice that, in step one, I decided what program module I was going to get help on. Then, in this step, I had a conversation with ChatGPT to decide what library to use and how to integrate it into my project.
Also: The best AI chatbots
That may not seem like programming, but I assure you it is. Programming isn't just blasting lines of code onto a page. Programming is figuring out how to integrate all the various resources and systems together, and how to talk to all the various components of your solution. Here, ChatGPT helped me do that integration analysis.
Okay, let's take a pause here. This article is entitled "How to use ChatGPT to write code." And it will! But we're really asking ChatGPT to write example code. Wait. What?
Also: What is GPT-4? Here's everything you need to know
Let's be clear. Unless you're writing a very small function (like the line sorter/randomizer ChatGPT wrote for my wife), ChatGPT isn't going to be able to write your final code. First, you're going to have to maintain it. ChatGPT is terrible at modifying already-written code. Terrible, as in, it doesn't do it. So to get new code, you have to ask ChatGPT to generate something new. As I found previously, even if your prompt is virtually identical, ChatGPT may change what it gives you in very unexpected ways.
So, bottom line: ChatGPT can't maintain your code, or even tweak it.
That means you have to do it yourself. As we know, the first draft of a piece of code is rarely the final code. So even if you were to expect ChatGPT to generate final code, it would really be a starting point, one where you need to take it to completion, integrate it into your bigger project, test it, refine it, debug it, and so on.
Also: I asked ChatGPT to write a short Star Trek episode. It actually succeeded
But that doesn't mean the example code is worthless. Far from it. Let's take a look at a prompt I wrote based on the project I described earlier. Here's the first part:
Wite a PHP function called summarize_article.
As input, summarize_article will be passed a URL to an article on a news-related site like ZDNET.com or Reuters.com.
I'm telling ChatGPT the programming language it should use. I'm also telling it the input but, while doing so, providing two sites as samples to help ChatGPT understand the style of article. Honestly, I'm not sure ChatGPT didn't ignore that bit of guidance. Next, I'll tell it how to do the bulk of the work:
Inside summarize_article, retrieve the contents of the web page at the URL provided. Using the library Sumy from within PHP and any other libraries necessary, extract the main body of the article, ignoring any ads or embedded materials, and summarize it to approximately 50 words. Make sure the summary consists of complete sentences. You can go above the 50 words to finish the last sentence, if necessary.
This is very similar to how I'd instruct an employee. I'd want that person to know that they weren't only restricted to Sumy. If they needed another tool, I wanted them to use it.
Also: How to get a perfect face match using Midjourney AI
I also specified an approximate number of words to create bounds for what I wanted as a summary. A later version of the routine might take that number as a parameter. I then ended by saying what I wanted as a result:
Once processing is complete, code summarize_article so it returns the summary in plain text.
The resulting code is pretty simple. ChatGPT did call on another library (Goose) to retrieve the article contents. It then passed that to Sumy with a 50-word limit, and then returned the result. That's it. But once the basics are written, it's a mere matter of programming to go back in and add tweaks, customize what's passed to the two libraries, and deliver the results.
One interesting point of note. ChatGPT created a sample call to the routine it wrote, using a URL from after 2021 (when ChatGPT's dataset ends).
https://www.reuters.com/business/retail-consumer/teslas-musk-says-fremont-california-factory-may-be-sold-chip-shortage-bites-2022-03-18/
I checked that URL against both Reuters' site and the Wayback Machine, and it doesn't exist. ChatGPT just made it up.
22 videos|29 docs|3 tests
|
|
Explore Courses for Software Development exam
|