5
$\begingroup$

I see stuff in my Twitter feed like this every day, showing "ChatGPT used to create X new customized/tailored AI feature".

  1. ColorGPT: Generate a color hex name from real-world color capture from your iPhone.
  2. Castmagic: AI content for podcasts & long-format audio.
  3. AI Gift for you: AI-powered search for gift ideas based on personalized filters.
  4. Cody: ChatGPT with the added benefit of being able to train it on your business, your team, your processes, and your clients with your own knowledge base.
  5. Gitfluence: Helps you quickly find the correct Git command in seconds.
  6. etc..

How are they taking advantage of the ChatGPT API to accomplish these sorts of things (at a high level)? For example, to create the personalized gift filters, how do you go from an arbitrary ChatGPT prompt to stuff specific to products? Or the Gitfluence, how does it tailor ChatGPT to search specifically for git commands?

There is a missing link in my head on how you go from ChatGPT prompt to "AI-feature-based startup hack". Basically, what is that missing link, what do you need to think about to tailor ChatGPT to a specific niche? Roughly how does it work?

I am a software engineer with much experience, so I am aware how to build apps in general, I just don't see what is going on behind the scenes for these sort of "built on ChatGPT" feature apps, or at a high level how it works.

$\endgroup$

1 Answer 1

4
$\begingroup$

In general, ChatGPT can already solve the problem, and the app provides a user interface to solve a specific problem.

The most important part is the prompt used to query the ChatGPT API.

It defines the question we ask the model, and also the format of the output. The output may be presented in some application specific way.


ColorGPT is a good example of that:

It uses the camera to capture an image, and uses the RGB color code of a color from this image as input for ChatGPT.

ChatGPT can find a color name for a color code, if you query in the right way:

Give me the color name for  #601A35. Only the name.

Output:

The color name for #601A35 is "Dark Raspberry".

The result is not very good in this case, if the prompt would contain a list of color codes and names, it would probably work much better.


On the example with git: ChatGPT knows most shell commands pretty well, it can sometimes reproduce the complete man page if you ask nicely.

For the prompt:

 How do I clone a git repo in a new branch?

I get a full page of explanation, nicely formated.

When I ask for a terse output (with the prompt "Make it terse"), I get:

To clone a Git repository in a new branch:

    Clone the repository: git clone <repository-url>
    Navigate to the repository's directory: cd <repository-directory>
    Create a new branch: git checkout -b <new-branch-name>
    Make changes to the code in the new branch.
    Push changes to the new branch: git push origin <new-branch-name>

This is all with no fine-tuning and basically no prompt engineering.


(As a side note: GPT-4 is used in exactly the same way, and is much more powerful. Scary powerful)

$\endgroup$
6
  • $\begingroup$ So are they fine-tuning the prompt enough to get back structured data? Or what? $\endgroup$ Commented Mar 22, 2023 at 22:39
  • $\begingroup$ Refining and tweaking the prompt is called prompt engineering. The term fine-tuning refers to fine-tuning the model. You can teach the ChatGPT model application specific data, and then have your own variant of ChatGPT with specific capabilities and/or knowledge. It is run at OpenAI for you, and you use is in the API like the default models. Fine tuning is much more powerful, but also more difficult and expensive, so I assume in almost all cases, prompt engineering is used. You can do a lot with a prompt of about 4000 tokens. $\endgroup$ Commented Mar 22, 2023 at 22:49
  • $\begingroup$ @Lance yes, you can use the prompt to get structured output. $\endgroup$ Commented Mar 22, 2023 at 22:51
  • 1
    $\begingroup$ An interesting effect is that if you just asked for the terse git instructions directly you would probably not get such good output. By asking for the full instructions first and then "make it terse" the second step is able to reference the full instructions. I remember reading a paper about this. $\endgroup$ Commented Mar 22, 2023 at 23:24
  • 1
    $\begingroup$ @user253751 Good point. There is also the method of appending "Let's think step by step." to the prompt. $\endgroup$ Commented Mar 23, 2023 at 0:41

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .