You are browsing as a guest. Sign up (or log in) to start making projects!

utilisateur_richard

@utilisateur_richard

Joined June 9th, 2026

  • 9Devlogs
  • 4Projects
  • 2Ships
  • 30Votes
The name is temporary (because the name is already taken :/) but it is basically a B2C project for an LLM aggregator with an agent that chooses which model is the best for the request (because the AI race is hard to follow for the average person)
Ship Changes requested

This is an AI (neural network, please do not think it is like ChatGPT) designed to reach superhuman / master level in PTCG (the Pokémon Trading Card Game).
Unfortunately, due to its nature and due to the fact that the game engine is proprietary, I cannot send it to you and let you play with it.
It is based on the MuZero architecture (made by DeepMind), on the Stochastic MuZero, on the Gumbel MuZero architecture, and on the EfficientZero architecture.
How does it work? It is 3 NNs (neural networks) that work together to be invincible at a given game without even knowing the rules!
How can it play without knowing the rules?
Well, it has an imagination that lets it predict what will happen all by itself without any help.
For that, the first network, the Encoder formerly named h, will create a latent space (the imagination / position) based on the real state of the game for the other networks.
After that, the Strategist (formerly f) network will see the latent space (the imagination / position) and check:

  1. Is this position a winning or a losing position with the V (value) network?
  2. What will be the next best moves with the P (policy) network?
    Then, based on the moves suggested by the P network, the the Simulator network (g) simulates the outcome to create the next imaginary state (latent space). It repeats this loop with the Strategist (f) and the Simulator (g) until it exhausts its thinking budget.

But does it just imagine ONE line of play and blindly follow it? No! It actually imagines many different possible moves at the same time, like a tree of possibilities (this is called Monte Carlo Tree Search, or MCTS). At each node of this tree, the model has to pick which branch to expand next, and it does this using a formula (called PUCT) that balances two things: how good the P network and V network think this branch is (exploitation), and how few times this branch has been visited so far compared to its siblings (exploration). So a branch gets visited more when it keeps looking promising as it gets expanded deeper, but every branch still gets a fair shot early on so the model does not tunnel-vision on its first guess. This creates a feedback loop: good branches get explored more, which refines their value estimate even further, and bad branches get abandoned early. In the end, the move it picks is the one that got explored/visited the most during this search, not just “whatever the P network liked the most” at first glance. This is what makes the whole system so much stronger than the raw network alone!

Safety mechanics:
To avoid having problems like the imagination of the model being completely inaccurate, I added some probes (they are networks, but just remember that they are here to evaluate the model). Their goal is to extract information from the latent space to see if it is accurate. E.g., we create a latent space in which a Pokémon is or isn’t (50-50) K.O., and the probe has to, based only on the latent space, say if the Pokémon is K.O. or not.
I also added a lot of logs, for example a log that counts the number of actions that the model takes (e.g., does it attack or does it pass its turn? (I had a problem one time where the model passed its turn 75% to 90% of the time!!)).

below, you can see two different latent space (imagination), every dot is a real position in the game, the distance between the dots is their similarity (far = different, close = similar), you can also see in the 4th graph the age of the state (blue = start of the game, yellow = end of the game) and the most important in the 1st, 2nd and 3rd graph, you can see the predicted value of the model, the real value (red = win blue = loose) and the difference between the prediction of the AI and the real value
the first png is the model at the first state (not trained) and the second png is the model at its best level

  • 6 devlogs
  • 31h
Try project → See source code →
Ship Changes requested

I have made an LLM agregator that is supposed to have a smart selection (but because i don’t have the models, i cannot train anything on them) due to the cost of the API, I don’t have enough fundings to continue it
I think it was a good training in for the frontend and even if i can’t continue it, i zm proud of what I have done !
some text might be in french, some api might work (I have found some free API) and the plan aren’t real (if you try to create an account with a paid plan, an error will appear)

  • 3 devlogs
  • 6h
Try project → See source code →
Open comments for this post

4h 44m 17s logged

Today is the day when the flex.ai project is discontinuated because of the API pricing that are too high and the fact that without any user-base, the project can’t continue feel free to use the code if you want

0
0
2
Open comments for this post

1h 16m 56s logged

A quick rundown of a fun bug I encountered today. The concurrency API doesn’t provide any tools for generating or validating a deck, it’s entirely up to the model to create a valid 60card deck, without any safeguards

I ran into a big problem with ACE SPEC cards: the game rules prohibit having more than one per deck, regardless of the ACE SPEC category. However, the card database is poorly designed, some cards simply weren’t declared as ACE SPEC in the rules column. My code treated them as standard cards and added several to the deck without issue. The C++ game engine, however, wasn’t having any of it: it systematically rejected the deck, and the worker went into a crash loop.

The fix required restarting the detection system from scratch: I now scan all suspicious columns in the CSV and the engine’s API to list absolutely every ACE SPEC in the game. As soon as the Deck Builder draws one, the other 19 are immediately locked for the rest of the draw

So now the error is finally corrected and I can finally focus on the real nightmare : the training of the neural network

0
0
3
Open comments for this post

55m 30s logged

Log: flex.ai is officially deployed to the internet!

Ran into a classic cloud networking headache during the setup. Every time I launched the Caddy Docker container, the logs showed a connection timeout while trying to provision the SSL certificate.

At first, I was convinced my subnet security rules were the issue. But after digging through OCI’s notoriously confusing interface, I finally found the real culprit: a hidden option to “Connect public subnet to internet.” It turns out the subnet wasn’t properly routed to the internet gateway.

Once that was enabled, everything clicked instantly. Let’s Encrypt passed, Caddy secured the domain, and the API is now fully live over HTTPS.

0
0
3
Open comments for this post

41m 29s logged

beginning of the project !
for now i just created the auth functionality (I tried my best to make it as secure as possible) for now, I didn’t started the LLM part but I will soon !
(for now it is in french but I will make all the translation when I will publish the project on my servers)

0
0
4

Followers

Loading…