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

विशेषताएँ
- फाइन-ट्यून किए गए LLM aidapal के लिए क्रॉस-प्लेटफ़ॉर्म समर्थन, जो
mistral-7b-instructपर आधारित है। - स्यूडोकोड निकालने वाले 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
लाइब्रेरी के रूप में स्थापित करने के लिए, अपनी प्रोजेक्ट निर्देशिका में निम्नलिखित कमांड चलाएँ:
cargo add oneiromancer
संकलन
वैकल्पिक रूप से, आप स्रोत से बना सकते हैं:
git clone https://github.com/0xdea/oneiromancer
cd oneiromancer
cargo build --release
कॉन्फ़िगरेशन
- Ollama डाउनलोड करें और इंस्टॉल करें।
- फाइन-ट्यून किए गए वेट्स और Ollama मॉडलफ़ाइल को Hugging Face से डाउनलोड करें:
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 प्लगइन की अन्य विशेषताओं को लागू करें (उदा., कॉन्टेक्स्ट)। - haruspex और idalib के साथ एकीकृत करें।
- एक "minority report" प्रोटोकॉल लागू करें (अर्थात, तीन क्वेरी करें और सर्वोत्तम प्रतिक्रियाओं का चयन करें)।
- संभावित कोड भ्रष्टाचार को रोकने के लिए वेरिएबल नामकरण के रिफैक्टर पर विचार करें।
aidapalLLM के अन्य उपयोग मामलों की जाँच करें और कस्टम LLM को प्लग इन करने के लिए एक मॉड्यूलर आर्किटेक्चर लागू करें।