• 6 Posts
  • 166 Comments
Joined 2 years ago
cake
Cake day: June 23rd, 2023

help-circle

  • A lot of the times this comes down to a user error.

    For example, very similar to your case, I knew someone that enabled Cloudtrail, and configured some things to have Cloudtrail logs dumped on S3. Guess what? Dumping things on S3 also creates a Cloudtrail that gets logged to S3 that Cloudtrail logs. Etc

    Doing things like that and creating a loop can get you massive bills









  • 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



  • 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