Jump to content
CoeurdeLeon

What is the best AI at Delphi

Recommended Posts

Posted (edited)

I have been using AI since it came out more than a year ago.

 

In the beginning Delphi requests for code almost always had errors and fictitious information.

 

Things have gotten better but I still find a lot of errors.

 

The AI tools I am using currently are:

Amazon Q Developer
Blackbox AI
ChatGPT
Claude 3 Sonnet
Google Gemini
mistral.ai
Paid-GitHub Copilot
Paid-Replit AI
Paid-Tabnine

 

Of all of these as of 5/16/24 I find Claude the best but still frequently lacking.

 

Please add your AI favorites and comment on their delphi coding skills.

 

Dick Maley

Edited by CoeurdeLeon
  • Like 1

Share this post


Link to post

You have listed chatGPT. Which version(s) were you using?

 

My own experience is that neither the free chatGPT nor Gemini are any good for producing Delphi code. I haven't tried any others.

  • Like 2

Share this post


Link to post
Posted (edited)

I usually ask my questions about the Delphi code to ChatGPT 4.
It is very fast and enougth precise.
You can use same chat session to teach it when is wrong and it learn for next responses.

Recently I've played with local AI using "ollama" and "mixtral" model for programming.

Example in pastebin : https://pastebin.com/wWaLsw1V

Mixtral model requires a lot of memory, I've 48GB in my PC, but I don't have a compatible CUDA GPU
so will take 4 minutes to get the pastebin result using only I7 CPU.
 

Edited by shineworld

Share this post


Link to post

In ChatGPT4, have you tried setting the 'temperature' setting to zero? That's supposedly a setting to moderate how much / little it exercises its own "creativity".

Share this post


Link to post

Another option where I had a better experience than with OpenAI and Gemini is YouChat

  • Like 1

Share this post


Link to post

I think Claude3.5 has improved a lot in the last few months. It will even request outputs from runs to analyze. Note I don’t have subscriptions but use the free time they offer. The other thing I do is ask the same question to ChatGPT 4o and claude3.5 and look at both answers. Sometimes I have to suggest alternative approaches in order to help them. Sometimes one will fail while the other succeeds. I also tried copilot and it doesn’t seem to know much. In general I use them to write mundane boiler plate code, like reading a json file. I could write the code but asking the AI to do it is such a time saver. It lets one focus on the more creative parts of the coding.  It’s also much less stressful than asking questions on stackoverflow.

Share this post


Link to post

Claude has multiple advantages for me :

- You can give it a large amount of info (I've been pasting entire units into it)

- Moderately better at Delphi (ie not making too much stuff up)

- Won't give you entire paragraphs explaining why 1+1=2, it's way more concise and won't re-explain everything with every answer, mostly just show the code change. Not sure if this is a measure to not consume as much but it's great for since I always have to bang ChatGPT's head about giving only-code answers.

Share this post


Link to post

You can "teach" chatgpt with tags to avoid to repeat same things, eg:

to chatgpt > When I use tag #DCODE you have to create a clean Delphi code as in followed text description adding short comments which does not use capital letter, eg: // sort the list, etc etc etc.

So you can ask:

> #DCODE create an alphabetical acending and descending sort of a TList<string> object.

Edited by shineworld

Share this post


Link to post
On 5/16/2024 at 2:58 PM, CoeurdeLeon said:

The AI tools I am using currently are: ...

 

Of all of these as of 5/16/24 I find Claude the best but still frequently lacking.

It was interesting seeing this list and the responses as I've only used the free ChatGPT about a half dozen times--I haven't considered getting into it seriously. But I decided I should look through these tools listed here (didn't know there were so many geared for programming!) and get up to speed since AI is here and being used and talked about everywhere these days--I'm starting to see how this could be quite a time-saver for many things.

 

Today, I was struggling with some untyped string parameters being passed into a function and it was failing to get the values properly after converting this old code from Delphi 5 to Delphi 12. I knew I had to add support for UnicodeCode types but I was struggling with how to get the value from the embedded pointer. I asked ChatGPT and it gave a pretty good answer--and it was correct but it only listed the new Unicode and WideString types. I wanted to be able to support ShortString as well. So, I posed the exact same question to Claude and it gave a nearly identical answer BUT included support for ShortString as well, noting the slightly different syntax (you have to dereference it while you don't with the new modern string types). I asked Claude about the difference and it gave a good answer about the history of string types and why ShortString has to be handled differently.

 

I'm very impressed and am about ready to sign up for Claude! (I like what I'm reading about it's "project" feature as well.)

 

Thanks all for your comments!

  • Like 2

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×