Symflower for LLMs
Symflower supports LLM development, benchmarking, LLM-based code generation workflows, and Retrieval-Augmented Generation (RAG):
- Prompt engineering: Augment prompts with data from Symflower's analytics tools to provide the LLM with more context about the code.
- Improving efficiency: Code repair makes LLM-generated code more useful by removing compile errors.
- Training data curation: Using Symflower helps filter out projects with problematic code to provide higher-quality training data to the LLM.
- LLM training, fine-tuning, RAG: Providing Symflower-generated tests or statically analyzed code to the LLM in a RAG scenario, during LLM training, or fine-tuning helps improve accuracy. Fine-tuning with Symflower showed an 8% improvement in a Java<-> Python transpiler.
- Benchmarking: The DevQualityEval benchmark covers a variety of metrics to evaluate code quality and help find the most useful LLMs for the evaluated software development tasks.
Symflower's support for LLMs:
📄️ `symflower fix`
`symflower fix` is a static analysis tool to repair code generated by LLMs. Use it on local files to post-process the output of LLMs.
📄️ `symflower run`
`symflower run` sends a main function to Symflower for symbolic execution and returns coverage as a result.
📄️ `symflower symbols`
`symflower symbols` queries all functions and methods in a repository and outputs a list of all the symbols.
📄️ DevQualityEval benchmark
DevQualityEval is a standardized LLM evaluation benchmark and framework to compare and improve code generation with LLMs.