Ghost-Codex-Offline / ghost_coder.py
ShiroOnigami23's picture
Upload ghost_coder.py with huggingface_hub
7b3d075 verified
import pickle
import sys
import os # <--- Added this to control Windows
import math
# ... (Keep the cosine_similarity_pure function as it is) ...
def cosine_similarity_pure(vec1, matrix):
# (Keep your existing math logic here)
best_score = -1
best_index = -1
query_indices = vec1.indices
query_data = vec1.data
query_map = dict(zip(query_indices, query_data))
num_rows = matrix.shape[0]
for i in range(num_rows):
row = matrix.getrow(i)
row_indices = row.indices
row_data = row.data
score = 0
for idx, val in zip(row_indices, row_data):
if idx in query_map:
score += val * query_map[idx]
if score > best_score:
best_score = score
best_index = i
return best_index
def load_brain():
try:
with open("ghost_brain.pkl", "rb") as f:
return pickle.load(f)
except FileNotFoundError:
print("❌ Error: 'ghost_brain.pkl' missing!")
input("Press Enter to exit...")
sys.exit()
def main():
print("---------------------------------------")
print(" 👻 GHOST CODEX (OFFLINE MODE) v1.1")
print("---------------------------------------")
print("Loading Neural Indices...", end="")
vectorizer, tfidf_matrix, codes = load_brain()
print(" DONE.")
print("\n[READY] Type 'exit' to quit.")
while True:
user_input = input("\n>> ").strip()
if user_input.lower() in ["exit", "quit"]:
break
if not user_input: continue
try:
# Match
user_vec = vectorizer.transform([user_input])
try:
from sklearn.metrics.pairwise import cosine_similarity
best_idx = cosine_similarity(user_vec, tfidf_matrix).argmax()
except ImportError:
best_idx = cosine_similarity_pure(user_vec, tfidf_matrix)
result_code = codes[best_idx]
# Print to terminal
print("\n[GENERATED SOLUTION]")
print("-" * 30)
print(result_code)
print("-" * 30)
# Save AND Open
filename = "solution.txt"
with open(filename, "w", encoding="utf-8") as f:
f.write(result_code)
print(f" (Opening {filename} in Notepad...)")
os.startfile(filename) # <--- THIS IS THE MAGIC LINE
except Exception as e:
print(f"Error: {e}")
if __name__ == "__main__":
main()