From f4aeb68e217b883184fe7dd8a6dd4faf0d8b5ba0 Mon Sep 17 00:00:00 2001 From: Martin Alfaro <50346244+alfaromartino@users.noreply.github.com> Date: Mon, 31 Jul 2023 19:10:31 -0600 Subject: [PATCH] new post --- PAGES/01_packageUpdate/index.html | 16 +- PAGES/02_worldHeatmaps/index.html | 8 +- PAGES/03_LazyArrays/index.html | 10 +- PAGES/04_staticVectors/index.html | 10 +- PAGES/05_allocations/index.html | 10 +- PAGES/06_preAllocations/index.html | 12 +- PAGES/07_AIcoding/index.html | 2909 +++++++++++++++++ assets/PAGES/07_AIcoding/pics/chatgpt3_01.png | Bin 0 -> 107633 bytes links/index.html | 3 +- list_posts/index.html | 2 + sitemap.xml | 16 +- 11 files changed, 2963 insertions(+), 33 deletions(-) create mode 100644 PAGES/07_AIcoding/index.html create mode 100644 assets/PAGES/07_AIcoding/pics/chatgpt3_01.png diff --git a/PAGES/01_packageUpdate/index.html b/PAGES/01_packageUpdate/index.html index e19dba1..2903929 100644 --- a/PAGES/01_packageUpdate/index.html +++ b/PAGES/01_packageUpdate/index.html @@ -1284,7 +1284,7 @@ } - .name_format a { color: white; } + .name_format a { color:rgba(183, 219, 255, 0.8); } .name_format a:hover { color: rgb(212, 212, 212); color: rgb(214, 227, 240) @@ -1317,8 +1317,10 @@

Conflicting Packages Preventing Updating

Martin Alfaro + - PhD in Economics
-
PhD in Economics
+
June 2, 2023
+ @@ -1659,7 +1661,7 @@

NOTATION AND KEYBOARD SHORTCUTS

-
+
@@ -1676,7 +1678,7 @@

Description of the Issue Covered

-
+
@@ -1716,7 +1718,7 @@

Miscellaneous (OPTIONAL)

-
+
@@ -1742,11 +1744,11 @@

Conclusion

- Previous Post Next Post - © Martin Alfaro
Website Last Modified on July 3, 2023
+ © Martin Alfaro
Website Last Modified on July 31, 2023
diff --git a/PAGES/02_worldHeatmaps/index.html b/PAGES/02_worldHeatmaps/index.html index 4dd4036..025d47b 100644 --- a/PAGES/02_worldHeatmaps/index.html +++ b/PAGES/02_worldHeatmaps/index.html @@ -1284,7 +1284,7 @@ } - .name_format a { color: white; } + .name_format a { color:rgba(183, 219, 255, 0.8); } .name_format a:hover { color: rgb(212, 212, 212); color: rgb(214, 227, 240) @@ -1317,8 +1317,10 @@

World Heatmaps in Julia

Martin Alfaro + - PhD in Economics
-
PhD in Economics
+
June 12, 2023
+ @@ -1696,7 +1698,7 @@

Summary

style="width:40px; height:auto;opacity:0.9;padding-bottom:5px;"> Previous Post Next Post - © Martin Alfaro
Website Last Modified on July 3, 2023
+ © Martin Alfaro
Website Last Modified on July 31, 2023
diff --git a/PAGES/03_LazyArrays/index.html b/PAGES/03_LazyArrays/index.html index 34f64ca..4807f83 100644 --- a/PAGES/03_LazyArrays/index.html +++ b/PAGES/03_LazyArrays/index.html @@ -1292,7 +1292,7 @@ } - .name_format a { color: white; } + .name_format a { color:rgba(183, 219, 255, 0.8); } .name_format a:hover { color: rgb(212, 212, 212); color: rgb(214, 227, 240) @@ -1325,8 +1325,10 @@

Performance Improvements in Julia (Part 1): Lazy Broadcasting

Martin Alfaro + - PhD in Economics
-
PhD in Economics
+
June 12, 2023
+ @@ -1669,7 +1671,7 @@

NOTATION AND KEYBOARD SHORTCUTS

- Remark
The script used in this post can be found here under the name allCode.jl. To replicate the code with the same package versions I used, download allCode_withPkg.jl instead, along with Project.toml and Manifest.toml.

The benchmarks in this post wrap each variable into the function ref(x) = (Ref(x))[]. This prevents the computer from realizing that we're repeating the same calculation. Otherwise, @btime ends up repeating the result after a few iterations, without performing any computation. We also interpolate the variables with $ to avoid a function's arguments being interpreted as a global variable.

The code has been tested under Julia 1.9.
+ Remark
The script in this post is available here under the name allCode.jl. It's been tested under Julia 1.9.

For more accurate benchmarks, each variable is wrapped in ref(x) = (Ref(x))[] and interpolated through $.
@@ -1874,7 +1876,7 @@

When to Use Lazy Broadcasts?

style="width:40px; height:auto;opacity:0.9;padding-bottom:5px;"> Previous Post Next Post - © Martin Alfaro
Website Last Modified on July 3, 2023
+ © Martin Alfaro
Website Last Modified on July 31, 2023
diff --git a/PAGES/04_staticVectors/index.html b/PAGES/04_staticVectors/index.html index a6d754a..1f66ec4 100644 --- a/PAGES/04_staticVectors/index.html +++ b/PAGES/04_staticVectors/index.html @@ -1284,7 +1284,7 @@ } - .name_format a { color: white; } + .name_format a { color:rgba(183, 219, 255, 0.8); } .name_format a:hover { color: rgb(212, 212, 212); color: rgb(214, 227, 240) @@ -1317,8 +1317,10 @@

Performance Improvements in Julia (Part 2): Tuples and Static Arrays

Martin Alfaro + - PhD in Economics
-
PhD in Economics
+
June 19, 2023
+ @@ -1661,7 +1663,7 @@

NOTATION AND KEYBOARD SHORTCUTS

- Remark
The script used in this post can be found here under the name allCode.jl. To replicate the code with the same package versions I used, download allCode_withPkg.jl instead, along with Project.toml and Manifest.toml.

The benchmarks in this post wrap each variable into the function ref(x) = (Ref(x))[]. This prevents the computer from realizing that we're repeating the same calculation. Otherwise, @btime ends up repeating the result after a few iterations, without performing any computation. We also interpolate the variables with $ to avoid a function's arguments being interpreted as a global variable.

The code has been tested under Julia 1.9.
+ Remark
The script in this post is available here under the name allCode.jl. It's been tested under Julia 1.9.

For more accurate benchmarks, each variable is wrapped in ref(x) = (Ref(x))[] and interpolated through $.
@@ -1920,7 +1922,7 @@

Static Vectors

style="width:40px; height:auto;opacity:0.9;padding-bottom:5px;"> Previous Post Next Post - © Martin Alfaro
Website Last Modified on July 3, 2023
+ © Martin Alfaro
Website Last Modified on July 31, 2023
diff --git a/PAGES/05_allocations/index.html b/PAGES/05_allocations/index.html index ae1c445..56842ab 100644 --- a/PAGES/05_allocations/index.html +++ b/PAGES/05_allocations/index.html @@ -1284,7 +1284,7 @@ } - .name_format a { color: white; } + .name_format a { color:rgba(183, 219, 255, 0.8); } .name_format a:hover { color: rgb(212, 212, 212); color: rgb(214, 227, 240) @@ -1317,8 +1317,10 @@

Performance Improvements in Julia (Part 3): Reducing Allocations from Slices
Martin Alfaro + - PhD in Economics
-
PhD in Economics
+
June 25, 2023
+ @@ -1661,7 +1663,7 @@

NOTATION AND KEYBOARD SHORTCUTS

- Remark
The script used in this post can be found here under the name allCode.jl. To replicate the code with the same package versions I used, download allCode_withPkg.jl instead, along with Project.toml and Manifest.toml.

The benchmarks in this post wrap each variable into the function ref(x) = (Ref(x))[]. This prevents the computer from realizing that we're repeating the same calculation. Otherwise, @btime ends up repeating the result after a few iterations, without performing any computation. We also interpolate the variables with $ to avoid a function's arguments being interpreted as a global variable.

The code has been tested under Julia 1.9.
+ Remark
The script in this post is available here under the name allCode.jl. It's been tested under Julia 1.9.

For more accurate benchmarks, each variable is wrapped in ref(x) = (Ref(x))[] and interpolated through $.
@@ -1895,7 +1897,7 @@

Why not Static Vectors?

style="width:40px; height:auto;opacity:0.9;padding-bottom:5px;"> Previous Post Next Post - © Martin Alfaro
Website Last Modified on July 3, 2023
+ © Martin Alfaro
Website Last Modified on July 31, 2023
diff --git a/PAGES/06_preAllocations/index.html b/PAGES/06_preAllocations/index.html index 4c27f47..2434c14 100644 --- a/PAGES/06_preAllocations/index.html +++ b/PAGES/06_preAllocations/index.html @@ -1284,7 +1284,7 @@ } - .name_format a { color: white; } + .name_format a { color:rgba(183, 219, 255, 0.8); } .name_format a:hover { color: rgb(212, 212, 212); color: rgb(214, 227, 240) @@ -1317,8 +1317,10 @@

Performance Improvements in Julia (Part 4): Pre-Allocations

Martin Alfaro + - PhD in Economics
-
PhD in Economics
+
July 3, 2023
+ @@ -1661,7 +1663,7 @@

NOTATION AND KEYBOARD SHORTCUTS

- Remark
The script used in this post can be found here under the name allCode.jl. To replicate the code with the same package versions I used, download allCode_withPkg.jl instead, along with Project.toml and Manifest.toml.

The benchmarks in this post wrap each variable into the function ref(x) = (Ref(x))[]. This prevents the computer from realizing that we're repeating the same calculation. Otherwise, @btime ends up repeating the result after a few iterations, without performing any computation. We also interpolate the variables with $ to avoid a function's arguments being interpreted as a global variable.

The code has been tested under Julia 1.9.
+ Remark
The script in this post is available here under the name allCode.jl. It's been tested under Julia 1.9.

For more accurate benchmarks, each variable is wrapped in ref(x) = (Ref(x))[] and interpolated through $.
@@ -1908,9 +1910,9 @@

Some Conclusions

Previous Post - Next Post Next Post - © Martin Alfaro
Website Last Modified on July 3, 2023
+ © Martin Alfaro
Website Last Modified on July 31, 2023
diff --git a/PAGES/07_AIcoding/index.html b/PAGES/07_AIcoding/index.html new file mode 100644 index 0000000..2ef863a --- /dev/null +++ b/PAGES/07_AIcoding/index.html @@ -0,0 +1,2909 @@ + + + + + + + + + + + + + + + + + + + + + + + + + T.E.C.H. - Martin Alfaro + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + pic + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +

Free AI Tools for Coding in Julia: Disappointing Results

+
+ + +
+ Martin Alfaro + - PhD in Economics +
+
July 31, 2023
+ + + + + + + + +
+
+ + +
+
    +
  • +
    + +
    +
    + + + + + + + +
  • +
+
+ + + + + + + + + + + +
+
+
+
+
+

Introduction

+

In the past, I've applied AI tools for coding in HTML/CSS/JS, Python, and R. While the results are far from perfect, they tend to work relatively well after some minor adjustments. However, Julia is a less popular language, and hence there's a limited amount of information to train AI models. Despite this limitation, can we expect AI tools to perform decently well when applied to Julia?

+

The post explores this question by focusing on free AI tools. The conclusion is that these tools applied to Julia tend to perform quite poorly. My claim is supported by two reasons.

+

First, the suggested Julia code often requires more than simple adjustments—it's not uncommon for the code to need a complete rewrite, unlike what occurs with more popular languages.

+

Second, AI chatbots perform particularly poorly at justifying their answers. This is a more severe issue than the first one, as it affects new learners disproportionately and incorrect explanations aren't as easy to spot as invalid code. In fact, it's quite common obtaining answers based on other languages. This is likely arising because of the limited Julia data, combined with ample information for other languages. As an example, all the AI chatbots consistently claim that vectorized code is faster than for-loops in Julia, and even discourage the use of functions.

+

On a more positive note, AI tools seem pretty efficient at constructing regular expressions in Julia. This is remarkable, as writing regular expressions isn't particularly hard, but can quickly become tedious. [note] To avoid a lengthy post, examples with regular expressions aren't included. I'll probably write a separate post about it.

+

Overall, the main message is that you should be cautious when using AI tools for coding, but even more so when applying them to Julia. This becomes particularly relevant if you rely on AI tools to learn the language itself.

+

+
+
+
+
+
+
+
+

Models Tested

+

I present the outputs from several sample prompts. The goal is to illustrate my impressions of AI tools for Julia coding.

+

I only consider free options, which include ChatGPT-3.5, ChatGPT-4, Bard, Claude-2, and LLaMA2-70b. You can freely access each as follows.

+
    +
  • ChatGPT-3.5, Claude-2, and LLaMA2-70b: accessed through poe.com. The first two models can also be accessed directly through their websites. The less performant version Claude-1 yields similar results to Claude-2 for Julia.

    +
  • +
+
    +
  • ChatGPT-4: accessed through www.phind.com. A couple of free messages per day are also available through poe.com.

    +
  • +
+
    +
  • Bard: accessed directly through bard.google.com. For countries where Bard is not available (e.g., Canada), it can still be freely accessed. This requires installing Opera browser, which has a basic built-in VPN. The same method can be applied to access Claude-2 through its official website (only possible in the USA and UK), rather than through Poe.

    +
  • +
+
+
+ + Remark
GitHub Copilot (free for students and professors) and Bing Chat are allegedly powered by ChatGPT-4. However, in my tests, they were providing the same responses as ChatGPT-3.5. This was clear to see when ChatGPT-3.5 was providing incorrect answers, while ChatGPT-4 through Phind or Poe was giving accurate answers.
+

+
+
+
+
+
+
+
+

Conclusions of the Tests

+

There are two key points you can appreciate from the results.

+
    +
  1. ChatGPT-4 seems to be the top option at the moment, although its performance when applied to Julia is not breathtaking. Yet, it signals the possibility of better free alternatives arriving quite soon. Indeed, given the quick advances in the field, it's highly likely that this post will become obsolete within just a few months!

    +
  2. +
+
    +
  1. LLaMA2-70b and Bard are the worst alternatives. Furthermore, I was expecting a better performance from Claude-2—I had previously used it for various tasks, and their results were outperforming ChatGPT-3.5 in several domains.

    +
  2. +
+
+

All code has been checked under Julia 1.9.2.

+

+
+
+
+
+
+
+
+

TEST 1: CODE CREATION

+

I show two tests. The first one describes the task concisely, without any explanation. This helps us identify whether any problems stem from the user's formulation or the AI's ability to code in Julia. The second one considers a more specific task, for which I provide some clarifications. Overall, the solutions suggested by the AI accomplish their purpose, but tend to be more complex than necessary.

+

Simple Task

+

I deliberately provided a short vague prompt, by not defining the concepts of "normalize" and "share".

+

PROMPT: Provide some code in Julia that normalizes a vector, expressing each entry as a share.

+

+
+
+

+
function normalize_vector(v)
+    total = sum(v)
+    return [x/total for x in v]
+end
+

+
Output in REPL
julia> normalize_vector([1,2,3])
3-element Vector{Float64}: + 0.16666666666666666 + 0.3333333333333333 + 0.5
+
+

+
function normalize_vector(v)
+    sum_v = sum(v)
+    return v ./ sum_v
+end
+

+
Output in REPL
julia> normalize_vector([1,2,3])
3-element Vector{Float64}: + 0.16666666666666666 + 0.3333333333333333 + 0.5
+
+

+
function normalize(v)
+    s = sum(v)
+    if s == 0
+        return v
+    else
+        return v ./ s
+    end
+end
+

+
Output in REPL
julia> normalize([1,2,3])
3-element Vector{Float64}: + 0.16666666666666666 + 0.3333333333333333 + 0.5
+
+

+
function normalize_vector(x)  
+  # Check if the vector is empty
+  if length(x) == 0
+    return x
+  end
+
+  # Calculate the sum of the vector
+  sum_x = sum(x)
+
+  # If the sum is zero, return a vector of zeros
+  if sum_x == 0
+    return zeros(length(x))
+  end
+
+  # Divide each element of the vector by the sum
+  y = x / sum_x
+
+  # Return the normalized vector
+  return y
+end
+

+
Output in REPL
julia> normalize_vector([1,2,3])
3-element Vector{Float64}: + 0.16666666666666666 + 0.3333333333333333 + 0.5
+
+

+
using LinearAlgebra
+
+# Define a vector
+x = [1, 2, 3]
+
+# Normalize the vector
+normalized_x = x / (sum(x) / length(x))
+

+
Output in REPL
julia> normalized_x #WRONG result
3-element Vector{Float64}: + 0.5 + 1.0 + 1.5
+
+

+

A Wordier Task With User-Provided Hints.

+

I now consider a more specific task and provide some hints to guide the AI. The objective is to identify whether the AI can provide a brief efficient solution when it has a clear understanding of the user's needs.

+

PROMPT: Provide some code in Julia that, given a vector x, provides a vector y with the ranking position of x. The index 1 of y has to represent the highest value of x. For instance, given x=[2,10,1,0], we should obtain y=[2,1,3,4].

+

+
+
+

+
function rank_vector(x)
+    y = sortperm(x, rev=true)
+    return y
+end
+

+
Output in REPL
julia> rank_vector([2,10,1,0])
4-element Vector{Int64}: + 2 + 1 + 3 + 4
+
+

+
function rank_vector(x)
+    sorted_indices = sortperm(x, rev=true)
+    ranks = zeros(Int, length(x))
+    for i in 1:length(x)
+        ranks[sorted_indices[i]] = i
+    end
+    return ranks
+end
+

+
Output in REPL
julia> rank_vector([2,10,1,0])
4-element Vector{Int64}: + 2 + 1 + 3 + 4
+
+

+
function ranking(x)
+    p = sortperm(x, rev=true)
+    y = zeros(Int, length(x))
+    for (i,j) in enumerate(p)
+        y[j] = i 
+    end
+    return y
+end
+

+
Output in REPL
julia> ranking([2,10,1,0])
4-element Vector{Int64}: + 2 + 1 + 3 + 4
+
+

+
function ranking(x)
+  y = zeros(length(x))
+  for i in 1:length(x)
+    # Find the number of elements in x that are less than or equal to x[i]
+    count = sum(x <= x[i])
+    # Set the ranking position of x[i] to count + 1
+    y[i] = count + 1
+  end
+  return y
+end
+

+
Output in REPL
julia> ranking([2,10,1,0])
ERROR: MethodError: no method matching isless(::Vector{Int64}, ::Int64)
+
+

+
function ranking(x)
+    # Sort the vector in descending order
+    sorted_x = sort(x, by = x -> -x)
+    # Get the indices of the sorted vector
+    indices = collect(sorted_x)
+    # Create a new vector with the ranking positions
+    y = ones(Int, length(x)) .* (indices .- 1)
+    return y
+end
+

+
Output in REPL
julia> ranking([2,10,1,0]) #WRONG result
4-element Vector{Int64}: + 9 + 1 + 0 + 1
+
+

+

+
+
+
+
+
+
+
+

TEST 2: IDENTIFYING PERFORMANT CODE

+

For this test, I also consider two options. The first one asks the AIs to improve some existent code. The second one asks the AIs to rank three code snippets by performance.

+

Asking for Improvements in Code

+

The example considers a code snippet that is clearly inefficient due to the use of global variables. The goal was to identify whether the AIs would suggest wrapping the code in a function. None of them did it.

+
PROMPT

+
# The following code is written in Julia to compute 'y'. 
+# Rewrite it to speed up its computations.
+
+x = rand(1000)
+y = zeros(length(x))
+
+for i in eachindex(x)
+    y[i] = sum(x[i:end]) / i
+end
+

+

+
+
+

+
x = rand(1000)
+n = length(x)
+y = zeros(n)
+
+cumulative_sum = cumsum(x)
+
+for i in 1:n
+    y[i] = cumulative_sum[n] - cumulative_sum[i-1]
+    y[i] /= i
+end
+

+
+

+
x = rand(1000)
+y = zeros(length(x))
+cumulative_sum = sum(x)
+
+for i in eachindex(x)
+    y[i] = cumulative_sum / i
+    cumulative_sum -= x[i]
+end
+

+
+

+
x = rand(1000)
+y = zeros(length(x)) 
+
+s = cumsum(x)
+
+for i in eachindex(x)
+    y[i] = (s[end] - s[i]) / i  
+end
+

+
+

+
x = rand(1000)
+y = zeros(length(x))
+
+# Calculate the cumulative sum of x.
+cumsum_x = cumsum(x)
+
+# Calculate y using the cumulative sum.
+for i in 1:length(y)
+    y[i] = cumsum_x[i] / i
+end
+

+
+

+
# invalid code, and changing `dim` for `dims` provides a different result
+x = rand(1000)
+y = cumsum(x, dim = 1) / cumsum(1:length(x), dim = 1)
+

+
+

+

All the models provide similar answers if you clear the chat and re-execute the prompt, so this feature is not determining the results. The only exception is Bard, which provides different answers. It occasionally suggested performant code, but due to incorrect reasons. [note] For instance, several times it wrapped the code in a function, without any reference to why it was doing it. Quite likely, the use of functions was actually responding to a "hallucination", where it provided computation times by executing @btime.

+

For ChatGPT-4, I additionally tested other prompts. The aim was to ensure that the model wasn't assuming I'd eventually wrap the code in a function. The results were identical. Furthermore, I asked whether the code suggested was "a more" efficient or "the most" efficient solution, for which it indicated that "the provided solution is the most efficient for this specific problem."

+

It's also interesting that Phind has the capability of accessing the internet. This makes the incorrect answer more surprising, as it reports "Performance Tips" as one of its sources. This webpage is part of the official documentation, and its first recommendation is to wrap code in functions to avoid the use of global variables.

+

Ranking Code Snippets by Performance

+

The example provides three code snippets to the AIs, all of which return the same output. Then, the task of the AI is to rank each code by performance. This makes it possible to identify whether the AIs provide a correct answer, but also assess the explanations outlined. Only ChatGPT-4 was able to do it.

+
PROMPT

+
# I'm using Julia and have codes named 'code 1', 'code 2', and 'code3'. 
+# If I execute each as they're written, which code should be faster? 
+# Rank them by speed.
+
+##### CODE 1 ######
+x = rand(100_000)
+y = similar(x)
+
+function example1(x,y)
+  for i in eachindex(x)
+      y[i] = log(x[i] + 1) ^ x[i]
+  end 
+end
+
+example1(x,y)
+
+##### CODE 2 ######
+x = rand(100_000)
+y = similar(x)
+
+for i in eachindex(x)
+  y[i] = log(x[i] + 1) ^ x[i]
+end 
+
+
+##### CODE 3 ######
+x = rand(100_000)
+y = similar(x)
+
+function example3()
+  for i in eachindex(x)
+      y[i] = log(x[i] + 1) ^ x[i]
+  end 
+end
+
+example3()
+

+

The results are as follows.

+

+ + + + + + + + + + + + + + + + + + + +
ChatGPT-3.5ChatGPT-4Claude-2BardLLaMA2-70b
Code 3 > Code 1 > Code 2Code 1 > Code 2 > Code 3Code 3 > Code 2 > Code 1
+

+

ChatGPT-3.5 indicates that Code 3 is the fastest because "it preallocates the memory for `y` before the loop, which can be more efficient than allocating it within the loop ". Conversely, Claude-2, Bard, and LLaMA2-70b reach the same conclusion, but because "Code 3 avoids the function overhead of Code 1 and Code 2".

+

ChatGPT-4 is the only model that provides the correct answer. Furthermore, it offers an appropriate analysis of each option.

+
    +
  • Code 1 is "good practice as the function is self-contained and does not depend on any global variable."

    +
  • +
+
    +
  • Code 2 "directly uses the global variable x. This can slow down the execution as global variables in Julia are not as efficient as local variables."

    +
  • +
+
    +
  • Code 3 "is the least efficient among the three codes due to the heavy use of global variables."

    +
  • +
+
+
+ + Remark
Phind only uses ChatGPT-4 if you're logged in, otherwise it's powered by ChatGPT-3.5.
+

+
+
+
+ + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/PAGES/07_AIcoding/pics/chatgpt3_01.png b/assets/PAGES/07_AIcoding/pics/chatgpt3_01.png new file mode 100644 index 0000000000000000000000000000000000000000..265e8f5da53dec63f65619c391bf9d1e2fe884bb GIT binary patch literal 107633 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

gIZ^+R{WK{Fo?~n`{JwCxuVhr=^F>_i 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

b#w1M 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 Ram$?UX{c!<^HeYU{tvDLPfY*- literal 0 HcmV?d00001 diff --git a/links/index.html b/links/index.html index a00a819..a959d5b 100644 --- a/links/index.html +++ b/links/index.html @@ -1400,7 +1400,8 @@

My Notes

Coding Guides
-

Free AI Tools for Coding

GitHub Copilot: Extension for VS Code, free for students and professors.
www.poe.com: Several chatbots, including ChatGPT and Claude.
www.forefront.ai: Chatbots in the form of "personas", including an assistant for coding. Both ChatGPT and Claude available.
phind.com: Search engine focused on coding, with access to the internet.
you.com: Search engine with an option focused on coding and with access to the internet.
chat.lmsys.org: Open-source chatbots. Still in beta. == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == ==

+

Free AI Tools for Coding

The following three are the most useful.
www.poe.com: Several models available, including ChatGPT, Claude-2, Claude-1 Instant, and LLaMA-2. It makes it possible to create "personas" to execute specific tasks.
phind.com: Search engine focused on coding, with access to the internet and powered by ChatGPT-4.
https://codeium.com/: Free Extension for VS Code, similar to GitHub Copilot. Note that GitHub Copilot is free for students and professors.

+

The following can be used as complements.
www.forefront.ai: Chatbots in the form of "personas", including an assistant for coding. Both ChatGPT and Claude available.
you.com: Search engine with an option focused on coding and with access to the internet.
chat.lmsys.org: Open-source chatbots. Still in beta. == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == ==

diff --git a/list_posts/index.html b/list_posts/index.html index 076c7fb..28e1f94 100644 --- a/list_posts/index.html +++ b/list_posts/index.html @@ -1398,6 +1398,8 @@

List of Posts