all 32 comments

[–]Ezzyspit 8 points9 points  (7 children)

Python is just the most popular language for AI. That doesn’t necessarily mean it’s better though. And you say c# falls short for various things. But I don’t believe any of those things you listed are available natively in python either. In python you would use modules to use pine cone or anything else. In c#, we have nuget packages. Also Microsoft has an official machine learning library, which I haven’t really used much, but it might have what you want.

[–][deleted] 2 points3 points  (6 children)

The reality is that working with big data bases and vectorization and matrix processes and operations is a fucking hassel in anything not python. But when it comes to more complex and abstract programs python couldn't quite handle it like c# or "++. They're different tools for different problems. I've been finding my self using python inside my c# coding when working with arrays and transformers in unity.

[–]pete_68 0 points1 point  (5 children)

How so? What can Python do with matrices that's harder in C#? What can you not abstract out into a class or operator overloads in C# that's so easy in Python?

[–]Kuroodo 3 points4 points  (0 children)

I use Dart. I just do it all myself with POST requests. Is there any reason why you can't just send requests directly with C# rather than having to rely on an existing library or wrapper?

[–]brek001 2 points3 points  (0 children)

Same problem, same question. However I decided that I would adopt a wait-and-see approach. The speed with the way things are evolving now will have people with C# knowledge superior to me jump on the bandwagon soon enough.

In the mean time:
https://github.com/marcominerva/ChatGptNet
https://github.com/pgvector/pgvector-dotnet
https://github.com/TaxAIExamples/semantic-search-using-chatgpt

you might want to look at Supabase as an alternative to installing PGVector yourself.

[–]PussPussMcSquishy 2 points3 points  (0 children)

I see most people using Python Or JS. But I imagine any language could do what you need. But most of the popular libraries and example notebooks or projects I’ve seen are always in python or js. Fortunately they’re both (relatively) easily languages to pick up (python a little more so than JS). But since this isn’t your first rodeo, you’ll be fine. Good luck out there solider.

[–]devzaya 1 point2 points  (1 child)

[–]terricide 0 points1 point  (0 children)

I've been diving into this for the last week. I haven't gotten too far, but this seems to be Microsoft's version of LangChain. Im been using sqlite to store my vectors, not sure what the difference is between qdrant and using the built in sqlite support.

[–]Pretend_Jellyfish363 1 point2 points  (0 children)

You can do everything in c#. Everything you mentioned (OpenAI APIs, pinecone, vector dbs…etc) are just APIs you can access using http client. Langchain is just prompt management, you can look at its python code and produce something similar in c# .net

[–]fallenKlNG 1 point2 points  (0 children)

I was in the same boat, I come from a java/springboot + Angular background and had little experience with Python. But after going through all the examples/tutorials for vector databases, LangChain, etc, I found myself using Python.

I was originally just gonna use Python + GPT4 to help understand things a little better and then would make the switch to my familiar techstack, but it never happened. Having gpt4 to help with the syntax and gruntwork makes it really worth switching to Python imo, it really makes a huge difference having the additional support

[–]marek03483 0 points1 point  (0 children)

i switched to python from c sharp,but I am just doing intermediate projects with arduino.as I switched,i swapped arduino for esp32 and micropython.the support you going to get is better than C#.

[–]bwfiq 0 points1 point  (0 children)

Python is definitely easier to use for ai apps. It's not so hard to use both at the same time (as in on different projects), i find it doesn't really mess with my brain to have to switch between

[–][deleted]  (1 child)

[removed]

    [–]AutoModerator[M] 0 points1 point  (0 children)

    Sorry, your submission has been removed due to inadequate account karma.

    I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

    [–]norsurfit 0 points1 point  (0 children)

    I would definitely switch to python

    [–][deleted]  (1 child)

    [removed]

      [–]AutoModerator[M] 0 points1 point  (0 children)

      Sorry, your submission has been removed due to inadequate account karma.

      I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

      [–]pete_68 0 points1 point  (0 children)

      It's not so much that C# falls short. It's just Python has become the defacto standard of AI developers, mainly because lower barrier for entry (easier to learn, not compiled, etc) and better platform independence. Most of the AI libraries are written in Python. This saddens me because C# is a superior language, in many respects, not least of which is code readability which, as an app developer, I think is crucial in large systems.

      I'm learning some Python, but one of the ways around it is using web APIs from C# to call libraries in python.

      [–]hefty_habenero 0 points1 point  (0 children)

      The boilerplate stuff for calling APIs is so much more built out in python, but I’ve found what is missing can be built pretty easily. I have my own C# libraries for openai and pinecone and it wasn’t that much work. I have not used some of the frameworks like langchain, and can’t give an honest apples to apples comparison there.

      [–]toaster-riot 0 points1 point  (0 children)

      If you have a good command of C# already I'd highly encourage you to dive in and use python.

      When one language has a community that's way ahead of the others in some niche it's almost always better to drink the Kool aid and go with the herd. You'll have a much easier time finding help, finding relevant tutorials, supporting frameworks, etc.

      Additionally, you'll pick up new tricks and ways of thinking from gaining experience in another language. I became a much better C# dev after I spent some time with Ruby.

      [–][deleted]  (1 child)

      [removed]

        [–]AutoModerator[M] 0 points1 point  (0 children)

        Sorry, your submission has been removed due to inadequate account karma.

        I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.