AI Inference - Qwen 30b Coder - drobné chybky

em.ve

AI Inference - Qwen 30b Coder - drobné chybky
« kdy: 22. 10. 2025, 12:29:52 »
Testuju tady 4bitový Qwen 30b Coder, běžící na lokálním serveru - trápím ho Pythonem:

Chci po něm, ať napíše metodu pro parsování vstupního parametru host:port
na commandlajně. Metoda má vrátit tuple (string,string), když je parametr
přítomen a None v případě chyby.
To celkem zvládne, nicméně jsem mu následně zadal, ať vrací v případě chyby ("",0):

Kód: [Vybrat]
def getComplexArgValue(arg):
    """
    Get the value of a command line argument that contains a colon separator.
   
    Args:
        arg (str): The argument name to search for (e.g., '-h')
   
    Returns:
        tuple: (host, port) if argument is found and has colon separator
        (None, 0) if argument is not found or format is invalid
    """
    try:
        for i, item in enumerate(sys.argv):
            if item == arg and i + 1 < len(sys.argv):
                value = sys.argv[i + 1]
                if ':' in value and value.count(':') == 1:
                    host, port = value.split(':')
                    if host and port:  # Both parts must be non-empty
                        return (host, port)
        return ("", 0)
    except (IndexError, AttributeError):
        return ("", 0)


Udělal přesně, co jsem mu zadal :) : V případě chyby vrátit ("",0).
Už ho ale "nenapadlo", že má korektní výsledek vracet rovněž ve formátu (string,int)

Když požádám o opravu:
here: return (host, port) you return (string,string). and here: return ("", 0) you return (string,int)

Tak se opraví:

Kód: [Vybrat]
def getComplexArgValue(arg):
    """
    Get the value of a command line argument that contains a colon separator.
   
    Args:
        arg (str): The argument name to search for (e.g., '-h')
   
    Returns:
        tuple: (host, port) if argument is found and has colon separator
        ("", 0) if argument is not found or format is invalid
    """
    try:
        for i, item in enumerate(sys.argv):
            if item == arg and i + 1 < len(sys.argv):
                value = sys.argv[i + 1]
                if ':' in value and value.count(':') == 1:
                    host, port = value.split(':')
                    if host and port:  # Both parts must be non-empty
                        return (host, int(port))  # Convert port to int
        return ("", 0)
    except (IndexError, AttributeError, ValueError):
        return ("", 0)

To není jeho první chybka, většinou musím jeho výstup různě drobně korigovat.
Naposledy třeba generoval řádky print(""), aby vzápětí začal generovat print ""
bez kulatých závorek.
 
Otázka zní: Zlepšilo by se jeho chování, kdybych použil 8b model?
ChatGPT taky občas něco domrví, i když s menší četností...


Re:AI Inference - Qwen 30b Coder - drobné chybky
« Odpověď #1 kdy: Dnes v 11:06:09 »
A celá ta část s
Kód: [Vybrat]
        for i, item in enumerate(sys.argv):
            if item == arg and i + 1 < len(sys.argv):
ti přijde v pohodě?
A ten docstring, co tvrdí nějaký blbosti?

em.ve

Re:AI Inference - Qwen 30b Coder - drobné chybky
« Odpověď #2 kdy: Dnes v 14:22:54 »
A celá ta část s
Kód: [Vybrat]
        for i, item in enumerate(sys.argv):
            if item == arg and i + 1 < len(sys.argv):
ti přijde v pohodě?

Moje otázka se týkala něčeho jiného, nicméně ok, můžeme řešit tento konkrétní kus kódu.

Svou práci (v mém privátním skriptu, který nebude používat nikdo jiný) dělá -> mi přijde v pohodě.
Tobě ne?
Pokud ne, tak co je na něm špatně?


Re:AI Inference - Qwen 30b Coder - drobné chybky
« Odpověď #3 kdy: Dnes v 18:37:08 »
Z vlastní zkušenosti vím, že 4-bitová verze LLM dělá o něco více chyb než 8-bitová verze LLM. Myslím si, že také záleží na konkrétní úloze. Dají se o tom najít články. Větší jazykové modely dělají také méně chyb než menší. Nicméně je vždy nutné výsledek zkontrolovat.

a6b

  • ***
  • 150
    • Zobrazit profil
    • E-mail
Re:AI Inference - Qwen 30b Coder - drobné chybky
« Odpověď #4 kdy: Dnes v 20:04:53 »
to nejde predikovat, tak jako clovek muze pokazde rict neco jineho tak i model muze ruzne odpovedet.