code generation

**Code Generation with LLMs** **Code Generation Capabilities** Modern LLMs can generate, complete, explain, and refactor code across dozens of programming languages. **Generation Approaches** **Direct Generation** ```python def generate_code(description: str, language: str) -> str: return llm.generate(f""" Write {language} code that does the following: {description} Only output the code, no explanations. ```{language} """) ``` **Fill-in-the-Middle (FIM)** Complete code with context before and after: ```python prefix = "def fibonacci(n): if n <= 1: return n " suffix = " return fib(n-1) + fib(n-2)" completion = llm.complete(prefix + "" + suffix) # Returns: " fib = fibonacci" ``` **Function from Docstring** ```python def implement_from_docstring(docstring: str) -> str: return llm.generate(f""" Implement this Python function: {docstring} Implementation: """) ``` **Code Assistants** | Tool | Features | |------|----------| | GitHub Copilot | IDE integration, completions | | Cursor | AI-first IDE | | Amazon CodeWhisperer | AWS-focused | | Cody (Sourcegraph) | Codebase-aware | | Tabnine | Privacy-focused | **Best Practices** **Provide Context** ```python # Better: Include relevant code context = """ # Existing database module class Database: def connect(self): ... def query(self, sql): ... """ prompt = f"{context} Add a method to insert records in batch:" ``` **Specify Requirements** ```python prompt = """ Write a Python function that: - Parses CSV files - Handles missing values - Returns a pandas DataFrame - Includes type hints - Has error handling for file not found """ ``` **Iterative Refinement** ```python # Generate code = generate_code(description) # Review review = llm.generate(f"Review this code for bugs: {code}") # Refactor improved = llm.generate(f"Improve this code based on: {review} {code}") ``` **Use Cases** | Use Case | Approach | |----------|----------| | Boilerplate | Direct generation | | Algorithm implementation | Detailed specification | | API integration | Provide API docs as context | | Bug fixing | Include error message | | Refactoring | Show before, specify improvements | **Limitations** - May generate plausible but incorrect code - Security vulnerabilities possible - May not follow project conventions - Always review generated code

Go deeper with CFSGPT

Get AI-powered deep-dives, save terms, and run advanced simulations — free account.

Create Free Account