• 8 Posts
  • 270 Comments
Joined 1 year ago
cake
Cake day: June 23rd, 2023

help-circle

  • Also some feedback, a bit more technical, since I was trying to see how it works, more of a suggestion I suppose

    It looks like you’re looping through the documents and asking it for known tags, right? ({str(db.current_library.tags)}.)

    I don’t know if I would do this through a chat completion and a chat response, there are special functions for keyword-like searching, like embeddings. It’s a lot faster, and also probably way cheaper, since you’re paying barely anything for embeddings compared to chat tokens

    So the common way to do something like this in AI would be to use Vectors and embeddings: https://platform.openai.com/docs/guides/embeddings

    So - you’d ask for an embedding (A vector) for all your tags first. Then you ask for embeddings of your document.

    Then you can do a Nearest Neighbor Search for the tags, and see how closely they match



  • I haven’t used json(b) in a Spring app, so I can’t say much about that.

    Json vs Jsonb depends on the use-case. Inserting json is faster than inserting Jsonb. Reading json (based on searching for specific json properties) Jsonb is faster, because Jsonb is parsed into a more optimized tree.

    From my experience, I don’t really like doing selects based on json properties. If I know I’ll be selecting a certain property, I usually add an additional column next to the json with the data, and insert that property there (At least in c#/dotnet, with EF) The frameworks don’t have that much support for selecting within json (you can do it, it’s just a lot more natively supported to use proper columns)


  • I’m not entirely sure what you hope to achieve: have a GPG encrypted subject, and have ThunderBird automatically understand that it’s encrypted, so it can be automatically decrypted?

    Since you’re saying you’re building software to support this, what are you building? A ThunderBird plugin that can do this? Or just standalone software that you want to make compatible with ThunderBird default way of handling encryption?




  • It gives an example:

    For example, with the phrase “My favorite tropical fruits are __.” The LLM might start completing the sentence with the tokens “mango,” “lychee,” “papaya,” or “durian,” and each token is given a probability score. When there’s a range of different tokens to choose from, SynthID can adjust the probability score of each predicted token, in cases where it won’t compromise the quality, accuracy and creativity of the output.

    So I suppose with a larger text, if all lists of things are “LLM Sorted”, it’s an indicator.

    That’s probably not the only thing, if it can detect a bunch of these indicators, there’s a higher likelihood it’s LLM text


  • Having to pass in null values seems a bit weird. You can define functions and optional parameters like this:

    function myFunction(a = 1, b = 1, c = null, d = null, e = true) {
      return a * b;
    }
    

    Then people don’t have to call your function with

    myLibrary.myFunction(1, 7, null, null, true);
    

    they just call your library with

    myLibrary.myFunction(1, 7);
    

    You could add a default inside the method signature, like:

    function myFunction(a = 1, b = 1, c = null, d = null, e = true) {
      if (c === null) {
        c = 5;
      }
      return a * b * c;
    }
    

    because if you define it in the method:

    function myFunction(a = 1, b = 1, c = 5, d = null, e = true) {
      return a * b * c;
    }
    

    then if people still call it with

    console.log(myFunction(5, 2, null));
    

    Then the default c = 5 is overwritten by null, and results in 0.

    I don’t know if you really need to handle all that though, instead of just doing c = 5 - if people intentionally call your library with null, and things go wrong…? well yea ok, don’t do that then.

    But it depends on the use-case. If this is some method deep within a library, and some other calling method might be unintentionally dumping null into it, you could default it inside the method, and handle it



  • Since others already suggested mostly on-topic suggests, here’s an alternative suggestion:

    Instead of looking specifically for a mentor - look for an open source project that you can help with. Ideally one with a discord or something to it’s easy to be in contact the the lead dev. A lot people don’t mind mentoring juniors, but in my experience it doesn’t happens that explicitly - “be my mentor” - and it might sound like you’re asking them a lot.

    If you invert it into “Hey I wanna help you with your open-source project, but I don’t really know what to do, what your expectations are, how to implement a specific feature” - then you’re offering to do work them, instead of asking for something. And implicitly you’ll get mentorship in return.

    And “real” projects probably also look better on your github / portfolio than only some dummy projects for learning purposes









  • It’s more the fault of the implementation and documentation.

    Yea sure. Though it’s slightly XMLs fault for allowing that kinda implementations. Every random thing is in it’s own obscure namespace with 20 levels of nested objects in different namespaces, and if you get anything wrong it barely explains what’s wrong, and just refuses to work.

    It’s mostly WCFs fault. I just automatically associate XML with nightmare flashbacks of implementing WCF stuff