Your network blocks the Lichess assets!

lichess.org
Donate

Neural Net Engine Database (NNEDB)

Are you saying you are running a free unauthenticated API for chess position analysis with NNEDB calls? Because you are either oilfield rich or it's going to run you into the ground...

Are you saying you are running a free unauthenticated API for chess position analysis with NNEDB calls? Because you are either oilfield rich or it's going to run you into the ground...

@TotalNoob69 said ^

Are you saying you are running a free unauthenticated API for chess position analysis with NNEDB calls? Because you are either oilfield rich or it's going to run you into the ground...

Yes, its not that costly to accept the requests due to cloud I'm using and of course you can self host NNEDB. The model inference is actually quick and fits well. I'm not rich, but if requests grow a lot, I might just dump the database and clear the cache. There are tricks to not go bankrupt. Worst case I will put an auth token if things go out of hand but that doesn't stop me to making it public facing

@TotalNoob69 said [^](/forum/redirect/post/nmORSyaX) > Are you saying you are running a free unauthenticated API for chess position analysis with NNEDB calls? Because you are either oilfield rich or it's going to run you into the ground... Yes, its not that costly to accept the requests due to cloud I'm using and of course you can self host NNEDB. The model inference is actually quick and fits well. I'm not rich, but if requests grow a lot, I might just dump the database and clear the cache. There are tricks to not go bankrupt. Worst case I will put an auth token if things go out of hand but that doesn't stop me to making it public facing

Then huge smaller than three for you! Welcome to the free world :) I am going to use it in LT...

Then huge smaller than three for you! Welcome to the free world :) I am going to use it in LT...

@TotalNoob69 said ^

Then huge smaller than three for you! Welcome to the free world :) I am going to use it in LT...

great! Let me know how integration goes!!

@TotalNoob69 said [^](/forum/redirect/post/j1Eu1P7z) > Then huge smaller than three for you! Welcome to the free world :) I am going to use it in LT... great! Let me know how integration goes!!

Looking forward to playing with this. Also - love the idea of integration in LC!

Looking forward to playing with this. Also - love the idea of integration in LC!

It's great to see so many developers sharing their work here on Lichess. My only issue with all these projects is I get distracted and do not play enough chess! It's a good problem to have.

It's great to see so many developers sharing their work here on Lichess. My only issue with all these projects is I get distracted and do not play enough chess! It's a good problem to have.

@Ironusmaidenus said ^

It's great to see so many developers sharing their work here on Lichess. My only issue with all these projects is I get distracted and do not play enough chess! It's a good problem to have.

I started LiChess Tools to help me learn chess three years ago. I will let you know when I start learning...

@Ironusmaidenus said [^](/forum/redirect/post/9PV4aGNT) > It's great to see so many developers sharing their work here on Lichess. My only issue with all these projects is I get distracted and do not play enough chess! It's a good problem to have. I started LiChess Tools to help me learn chess three years ago. I will let you know when I start learning...

@Noobmasterplayer123 as a first feedback:

  1. the output of various engines is not consistent. Some things are there, some things are missing, some thing are unexpected (like the Leela rating in the Maia output)
  2. there is no line information (the moves in the line that correspond with a PV)
  3. there is no depth information

What I tried to do is inject a virtual "engine" in Lichess and see the results in the evaluation engine. Perhaps I should just use it as a cloud eval API instead, but it would be interesting to maybe have an API that returns all of the caches UCI responses to a FEN, like the data for each depth and the lines and such...

I will dig deeper when I get some time.

@Noobmasterplayer123 as a first feedback: 1. the output of various engines is not consistent. Some things are there, some things are missing, some thing are unexpected (like the Leela rating in the Maia output) 2. there is no line information (the moves in the line that correspond with a PV) 3. there is no depth information What I tried to do is inject a virtual "engine" in Lichess and see the results in the evaluation engine. Perhaps I should just use it as a cloud eval API instead, but it would be interesting to maybe have an API that returns all of the caches UCI responses to a FEN, like the data for each depth and the lines and such... I will dig deeper when I get some time.

@TotalNoob69 said ^

@Noobmasterplayer123 as a first feedback:

  1. the output of various engines is not consistent. Some things are there, some things are missing, some thing are unexpected (like the Leela rating in the Maia output)
  2. there is no line information (the moves in the line that correspond with a PV)
  3. there is no depth information

What I tried to do is inject a virtual "engine" in Lichess and see the results in the evaluation engine. Perhaps I should just use it as a cloud eval API instead, but it would be interesting to maybe have an API that returns all of the caches UCI responses to a FEN, like the data for each depth and the lines and such...

I will dig deeper when I get some time.

Hey! Thanks for this, NNEDB doesn't run chess engines as I said in the blog, it runs a "engine" to get neural nets' raw policy head and other stats and convert them into HEE and lc0 evals and return the response. NNEDB can't tell you what the moves in a pv or depth because it simply gives you the root fen nets eval. You would need to build the tree yourself via either browser engine or ChessDB/cloud APIs and on leaf nodes or any node in the tree, you can request NNEDB evals. I can add building the tree to NNEDB, but that can easily be done on the client side on a chess GUI, so I didn't add support for it. The API schema asks for "engine" name to run a specific net -> calculation engine on the server not necessary the lc0 chess engine. Regarding the output schema, rating is not a mandatory field, and HEE and lc0 calculations might also be optional if calculations fail for some positions. Hope this makes it clear, and let me know what else I can help with.

@TotalNoob69 said [^](/forum/redirect/post/tqF0Sfha) > @Noobmasterplayer123 as a first feedback: > 1. the output of various engines is not consistent. Some things are there, some things are missing, some thing are unexpected (like the Leela rating in the Maia output) > 2. there is no line information (the moves in the line that correspond with a PV) > 3. there is no depth information > > What I tried to do is inject a virtual "engine" in Lichess and see the results in the evaluation engine. Perhaps I should just use it as a cloud eval API instead, but it would be interesting to maybe have an API that returns all of the caches UCI responses to a FEN, like the data for each depth and the lines and such... > > I will dig deeper when I get some time. Hey! Thanks for this, NNEDB doesn't run chess engines as I said in the blog, it runs a "engine" to get neural nets' raw policy head and other stats and convert them into HEE and lc0 evals and return the response. NNEDB can't tell you what the moves in a pv or depth because it simply gives you the root fen nets eval. You would need to build the tree yourself via either browser engine or ChessDB/cloud APIs and on leaf nodes or any node in the tree, you can request NNEDB evals. I can add building the tree to NNEDB, but that can easily be done on the client side on a chess GUI, so I didn't add support for it. The API schema asks for "engine" name to run a specific net -> calculation engine on the server not necessary the lc0 chess engine. Regarding the output schema, rating is not a mandatory field, and HEE and lc0 calculations might also be optional if calculations fail for some positions. Hope this makes it clear, and let me know what else I can help with.