surrealdb / surrealdb.go

SurrealDB SDK for Golang
https://surrealdb.com
Apache License 2.0
232 stars 60 forks source link

Feature: surrealML for golang #132

Open gedw99 opened 5 months ago

gedw99 commented 5 months ago

Is your feature request related to a problem?

https://github.com/surrealdb/surrealml is the current rust repo for ML aspects to do with Surreal and what I presume is the Vector based DB aspects provided by Surreal DB.

ML ( machine learning ) as distinct from DL ( deep learning ) is very possible with golang, and the SurrealML team seems to have decided to focus on developers embracing scikit-learn as the developer framework for any ML projects.

https://surrealdb.com/blog/what-is-surrealml-a-getting-started-guide explained the basis for training is scikit-learn

Thankfully there are golang implementations of scikit-learn at decent levels of maturity.

There are some advantages of a golang implementation that come to mind:

Deploying machine learning at the edge is way harder with python because it needs python under it, where as golang needs nothing under it.

Putting python into production, in general, is much harder because of the many dependencies required, where as golang is much easier to manage, version and upgrade IMHO.

Golang has a huge set of ancillary packages for language and image transformation also, many of them without any CGO and decent runtime performance.

Describe the solution

https://github.com/ksaid39/sklearn has most of what is needed from what I can see. Its a fork of https://github.com/pa-m/sklearn.

There are many golang projects using this btw. See https://github.com/pa-m/sklearn/network/dependents?dependent_type=PACKAGE

sklearn is a thin layer on top of gonum.org/v1/gonum, which is a widely used and supported golang package for ML.

https://github.com/mattn/go-sklearn-example is a decent basis of base examples.

Also, I do not know if the surrealDB golang driver provides enough API coverage to reach into surreal ML API yet. Would be very useful to know this if anyone can comment ?

Alternative methods

none

SurrealDB version

latest

Contact Details

gedw99@gmail.com

Is there an existing issue for this?

Code of Conduct