he/him

Alts (mostly for modding)

@sga013@lemmy.world

(Earlier also had @sga@lemmy.world for a year before I switched to @sga@lemmings.world, now trying piefed)

  • 1 Post
  • 12 Comments
Joined 6 months ago
cake
Cake day: March 14th, 2025

help-circle

  • I am doing something very similar, but for different kinda source (pdfs) and connverting to json (json/yaml do not matter).

    what i have done is

    • create a good enough template. - this is very important. i can not show my template exactly as it is work related, but it is simple, like define various key value pairs, and how it is meant to be presented. something like
    
    {  
    	// charecter description  
    	"name": "NAME_OF_CHARACTER",  
    	"powers": [{name: "fly"},{name: "see_through_walls"} ]  
    }  
    
    

    and so on. try to cover as many cases you think that can be done.

    • install llama cpp (or ollama works too), i am using smollm3 3b (more knowledge, but slower (15-18tps)) and qwen3 1.7b (less knowledge, faster(25 tps)), i am currenty just running stuff on my laptop igpu.

    • here is my simplified code ( i have removed some important bits which are work related from promt, but just imagine a detailed prompt aking model to do something)

    # assuming pdf with text - if it does not have text, then we might have to perform ocr  
    import sys  
    import pdftotext  
    input_file = sys.argv[1]  
    # Load your PDF  
    with open(input_file, "rb") as f:  
        pdf = pdftotext.PDF(f)  
    pdf_text = "\n\n".join(pdf)  
    # print(pdf_text)  
    
    # reading the jsonc template  
    with open('./sample-json-skeleton.jsonc', 'r') as f:  
    	template = f.read().strip()  
    # print(template)  
    
    
    # creating the prompt - we want to ask the model to fit the given pdf_text into a format sigven by json template 
    prompt = "/no_think You have to parse a given text according to given json template. You must not generate false data, or alter sentences much, and must try to keep most things verbatim \n here is the json template. do note the template currently contains comments, but you should try to not generate any comments. Stick very closely to the structure of template, and do not create any new headers. do not create keys which do not exist in template. if you find a key or title from the source, try to fit it to keys/titles from the template. stick with the format. if you are unable to fit something to given template, add the additional section as that is the catch all section. Stick to the template. \n\n``` \n " + template + " \n``` \n\n and here is the data that you have to parse \n\n``` \n " + pdf_text + " \n```"  
    # print(prompt)  
    
    
    # asking llm to parse  
    # using openai's python lib to call, but I am not calling openai's servers. instead I am using a locally hosted openai api compatible server (llama.cpp-server ftw)  
    from openai import OpenAI  
    client = OpenAI(base_url="http://127.0.0.1:11737/", api_key="sk-xxx")  
    config = { 'temperature': 0.4, }  
    response = client.chat.completions.create(model="", messages=[{"role": "user", "content": [{"type": "text", "text": prompt},],}],)  
    print(response.choices[0].message.content)  
    
    

    it is not perfect, but i get 85+% on the way, and it is simple enough. if you need some more help, please ask.




  • To make the notifications timely you’d need to request the feed very often, which is super inefficient - 99% of requests would produce no new notification.

    I know this, and that is why i do not (my usual pull rate is once in 6-12 hours).

    Making a RSS feed is not difficult especially as we already produce them for other content.

    thank you. to me rss is one of the best things possible. instead of me manually checking each website, i just get the content i ask for, in cliennt i prefer, from where i can open it however i feel (for example, with threadiverse communities, i diectly subscribe to community’s rss from their base instance, which also kinda distributes the load).


  • I remember their appointment from brodie’s video on this, and iirc, they were someone who has been in community for ~20 years, and they also had some kind of vision disability (not 100% sure), because of which there was hope that gnome would do more investments on accessibilty front. Which to gnome’s credit, they have the best among other wayland folks, but this feels to sson. if it had been a year or 2, it would have made sense (they already were an old person, so time was not favoring them), because it is reasonable for such posts 2 change in that timeframe. the previous director also left in 5-6 months, then this person in 4, it really speaks something about gnome’s board




  • Is there some kind of authentication you have to do to access this, or is it simply just a big long string of characters so that it is hard to guess?

    precisely. it is nearly 150 digits (alpha-numeric). it is convinient to get notification (to be honest most things) via rss, and for modding, you can program a frequent rss refresh, and have some loud external notification, at least in theory.

    There is potentially sensitive information in an inbox such as private messages

    in theory, yes, but almost nobody uses threadiverse private messages for like private private chat. Many already know that instance admins can in theory read them.

    RSS feed for a user

    This does exist!

    pardon me, i completely missed the button (and it is not a ui problem, it is nice front and center. i just goofed up)

    Should i make issues for these? I planned to do that earlier, but just asked here first in case they already exist and i am just missing.