Magicoder学习资料汇总 - 开源代码生成AI模型
Magicoder是一个由OSS-Instruct驱动的开源代码生成AI模型家族,旨在为开发者提供高质量的代码生成能力。本文汇总了Magicoder的相关学习资料,帮助大家快速上手这一强大的工具。
项目简介
🎩 Magicoder是一个由🪄OSS-Instruct驱动的模型家族,通过利用开源代码片段来生成低偏差、高质量的代码指令数据。OSS-Instruct通过大量开源参考缓解了LLM合成指令数据的内在偏差,从而生成更多样化、真实和可控的数据。
值得一提的是,Magicoder-S-DS-6.7B模型在HumanEval基准测试中的表现甚至超过了gpt-3.5-turbo-1106和Gemini Ultra,达到了76.8的得分。
模型下载
Magicoder提供了多个模型版本供选择:
数据集
- Magicoder-OSS-Instruct-75K: 使用gpt-3.5-turbo-1106通过OSS-Instruct生成,用于训练Magicoder和Magicoder-S系列模型。
- Magicoder-Evol-Instruct-110K: 用于进一步微调Magicoder系列并获得Magicoder-S模型。
快速开始
以下是使用Magicoder生成代码的示例:
from transformers import pipeline
import torch
MAGICODER_PROMPT = """You are an exceptionally intelligent coding assistant that consistently delivers accurate and reliable responses to user instructions.
@@ Instruction
{instruction}
@@ Response
"""
instruction = "Implement a high-level API for a TODO list application. The API takes as input an operation request and updates the TODO list in place. If the request is invalid, raise an exception."
prompt = MAGICODER_PROMPT.format(instruction=instruction)
generator = pipeline(
model="ise-uiuc/Magicoder-S-DS-6.7B",
task="text-generation",
torch_dtype=torch.bfloat16,
device_map="auto",
)
result = generator(prompt, max_length=2048, num_return_sequences=1, temperature=0.0)
print(result[0]["generated_text"])
在线演示
- Magicoder Playground: 基于Gradio的在线演示,可以快速体验Magicoder的代码生成能力。
本地部署
您也可以在本地部署Magicoder演示:
cd demo
CUDA_VISIBLE_DEVICES=0 python magicoder_demo.py \
--base_model "ise-uiuc/Magicoder-S-DS-6.7B" \
--device "cuda:0" \
--port 8080
相关资源
- GitHub仓库: 项目源码和详细文档
- arXiv论文: Magicoder: Source Code Is All You Need
- EvalPlus Leaderboard: 可以查看Magicoder与其他SOTA模型的详细对比
通过以上资源,您可以全面了解Magicoder项目,并开始使用这一强大的代码生成工具。无论您是想提高编码效率,还是研究代码生成技术,Magicoder都是一个值得关注的开源项目。