Best free ai video generator : Synthesia
Best free ai audio generator.(realistic speech in your language) : Elevenlabs
def process_karel_file(filepath):
with open(filepath, 'r') as f:
content = f.read()
# Expand includes
content = expand_includes(content)
# Add context comments for hardware references
content = annotate_io_references(content)
# Extract metadata
metadata = {
'filename': filepath,
'robot_model': extract_robot_model(content),
'controller_version': extract_controller_version(content),
'purpose': extract_program_purpose(content)
}
return {'content': content, 'metadata': metadata}
debug_prompt = f"""
You are a KAREL programming assistant with access to verified code examples.
TASK: Help debug this KAREL code
COMPILER ERROR: {error_message}
CODE:
{user_karel_code}
INSTRUCTIONS:
1. Search for similar error patterns in the knowledge base
2. Identify the likely cause based on verified examples
3. Suggest specific fix with reference to working code
4. DO NOT generate new code from scratch
5. If unsure, say "I need more context" rather than guessing
Retrieved examples:
{retrieved_similar_code}error_examples = """
ERROR: TRAN-160 illegal variable declaration
CAUSE: Variable declared inside a routine instead of at program level
FIX: Move VAR declarations to top of program before any routines
ERROR: TRAN-089 undefined routine
CAUSE: Routine called before it's defined, or typo in routine name
FIX: Ensure routine is defined before being called, check spelling
ERROR: EXEC-315 Stack overflow
CAUSE: Recursive routine calls or too many nested routine calls
FIX: Reduce nesting depth or increase stack size in program attributes
from langchain.embeddings import OpenAIEmbeddings
from langchain.vectorstores import FAISS
from langchain.chat_models import ChatOpenAI
from langchain.chains import RetrievalQA
import os
# Load and embed KAREL documentation and code samples
def setup_karel_kb():
embeddings = OpenAIEmbeddings()
# Load your KAREL code and docs
documents = load_karel_files('./karel_codebase/')
# Create vector store
vectorstore = FAISS.from_documents(documents, embeddings)
# Setup QA chain
llm = ChatOpenAI(model="gpt-4", temperature=0)
qa_chain = RetrievalQA.from_chain_type(
llm=llm,
retriever=vectorstore.as_retriever(search_kwargs={"k": 5})
)
return qa_chain
# Query example
qa = setup_karel_kb()
response = qa.run("How do I properly close a socket connection in KAREL?")