
oneiromancer v0.9.1
रिवर्स इंजीनियरिंग सहायक जो स्यूडोकोड विश्लेषण में सहायता करने के लिए स्थानीय रूप से चलने वाले LLM का उपयोग करता है।
oneiromancer
"सॉफ़्टवेयर डेवलपमेंट में अधिकांश खामियाँ इस कारण होती हैं कि प्रोग्रामर अपने कोड की सभी संभावित अवस्थाओं को पूरी तरह से नहीं समझते।" -- John Carmack
"क्या यह Doom चला सकता है?" -- https://canitrundoom.org/
Oneiromancer एक रिवर्स इंजीनियरिंग सहायक है जो स्थानीय रूप से चलने वाले LLM का उपयोग करता है, जिसे Hex-Rays स्यूडोकोड के लिए फाइन-ट्यून किया गया है, ताकि कोड विश्लेषण में सहायता की जा सके। यह किसी फ़ंक्शन या छोटे कोड स्निपेट का विश्लेषण कर सकता है, और विश्लेषण के परिणामों के आधार पर कोड क्या करता है इसका उच्च-स्तरीय विवरण, फ़ंक्शन के लिए एक अनुशंसित नाम, और वेरिएबल नामकरण सुझाव लौटाता है।

विशेषताएँ
mistral-7b-instructपर आधारित फाइन-ट्यून किए गए LLM aidapal के लिए क्रॉस-प्लेटफ़ॉर्म समर्थन।- स्यूडोकोड एक्सट्रैक्टर haruspex और लोकप्रिय IDE के साथ आसान एकीकरण।
- कोड विवरण, अनुशंसित फ़ंक्शन नाम, और वेरिएबल नामकरण सुझाव टर्मिनल पर प्रिंट किए जाते हैं।
- प्रत्येक विश्लेषित फ़ंक्शन का बेहतर स्यूडोकोड आसान निरीक्षण के लिए एक अलग फ़ाइल में सहेजा जाता है।
- बाहरी crates स्यूडोकोड का विश्लेषण करने और फिर विश्लेषण परिणामों को संसाधित करने के लिए
analyze_codeयाanalyze_fileको कॉल कर सकते हैं।
लेख
यह भी देखें
- https://www.atredis.com/blog/2024/6/3/how-to-train-your-large-language-model
- https://huggingface.co/AverageBusinessUser/aidapal
- https://github.com/atredispartners/aidapal
- https://plugins.hex-rays.com/atredispartners/aidapal
इंस्टॉल करना
नवीनतम रिलीज़ प्राप्त करने का सबसे आसान तरीका crates.io के माध्यम से है:
cargo install oneiromancer --locked
लाइब्रेरी के रूप में इंस्टॉल करने के लिए, अपनी प्रोजेक्ट डायरेक्टरी में निम्नलिखित कमांड चलाएँ:
cargo add oneiromancer
कंपाइल करना
वैकल्पिक रूप से, आप स्रोत से बिल्ड कर सकते हैं:
git clone --depth 1 https://github.com/0xdea/oneiromancer
cd oneiromancer
cargo build --release --locked
कॉन्फ़िगरेशन
- Ollama डाउनलोड और इंस्टॉल करें।
- Hugging Face से फाइन-ट्यून किए गए वेट्स और Ollama मॉडलफ़ाइल डाउनलोड करें:
wget https://huggingface.co/AverageBusinessUser/aidapal/resolve/main/aidapal-8k.Q4_K_M.gguf wget https://huggingface.co/AverageBusinessUser/aidapal/resolve/main/aidapal.modelfile - जिस डायरेक्टरी में आपने फ़ाइलें डाउनलोड की हैं, उसके भीतर निम्नलिखित कमांड चलाकर Ollama को कॉन्फ़िगर करें:
ollama create aidapal -f aidapal.modelfile ollama list
उपयोग
- oneiromancer को निम्नानुसार चलाएँ:
export OLLAMA_BASEURL=custom_baseurl # if not set, the default will be used export OLLAMA_MODEL=custom_model # if not set, the default will be used oneiromancer <target_file>.c - बेहतर स्यूडोकोड
<target_file>.out.cमें खोजें:vim <target_file>.out.c code <target_file>.out.c
[!TIP] सर्वोत्तम परिणामों के लिए, LLM द्वारा विश्लेषण के लिए एक बार में एक फ़ंक्शन सबमिट करें।
संगतता
Ollama 0.32.9 के साथ परीक्षण किया गया:
- Apple macOS Tahoe 26.5.2
- Ubuntu Linux 24.04.2 LTS
- Microsoft Windows 11 23H2
श्रेय
- Atredis Partners में Chris Bellows (@AverageBusinessUser) को उनके फाइन-ट्यून किए गए LLM
aidapalके लिए <3
चेंजलॉग
TODO
- वर्ज़निंग और/या आउटपुट डायरेक्टरी के साथ आउटपुट फ़ाइल हैंडलिंग में सुधार करें।
- IDAPython
aidapalIDA Pro प्लगइन की अन्य विशेषताओं को लागू करें (जैसे, context)। - haruspex और idalib के साथ एकीकृत करें।
- एक "minority report" प्रोटोकॉल लागू करें (यानी, तीन क्वेरी करें और सर्वोत्तम प्रतिक्रियाएँ चुनें)।
- संभावित कोड करप्शन को रोकने के लिए वेरिएबल नामकरण के रिफैक्टर पर विचार करें।
aidapalLLM के अन्य उपयोग मामलों की जाँच करें और कस्टम LLM को प्लग इन करने के लिए एक मॉड्यूलर आर्किटेक्चर लागू करें।