CodeGemma 是一系列功能强大、轻量级的模型,可以执行各种编码任务,例如代码中间填充、代码生成、自然语言理解、数学推理和指令遵循。

2b 7b

354.1K 3 个月前

自述文件

CodeGemma 是一系列功能强大、轻量级的模型,可以执行各种编码任务,例如代码中间填充、代码生成、自然语言理解、数学推理和指令遵循。

变体

  • instruct 针对自然语言到代码聊天和指令遵循的 7B 指令微调变体
  • code 专门针对代码前缀和/或后缀的代码补全和生成的 7B 预训练变体
  • 2b 提供高达 2 倍更快的代码补全的最先进 2B 预训练变体

优势

  • 智能代码补全和生成:无论您是在本地工作还是使用 Google Cloud 资源,都可以完成行、函数,甚至生成完整的代码块。

  • 增强准确性:CodeGemma 模型在来自网络文档、数学和代码的 5000 亿个主要为英文的语言标记上进行训练,生成的代码不仅语法更正确,而且语义更有意义,从而减少错误和调试时间。

  • 多语言熟练度:支持 Python、JavaScript、Java、Kotlin、C++、C#、Rust、Go 等语言。

  • 简化工作流程:将 CodeGemma 模型集成到您的开发环境中,以减少编写样板代码的工作量,并更快地专注于重要、具有差异化的代码。

benchmarks

中间填充

CodeGemma 模型支持中间填充 (FIM),用于自动补全或编码助手工具。以下是如何使用 Ollama Python 库的示例

response = generate(
  model='codegemma:2b-code',
  prompt=f'<|fim_prefix|>{prefix}<|fim_suffix|>{suffix}<|fim_middle|>',
  options={
    'num_predict': 128,
    'temperature': 0,
    'top_p': 0.9,
    'stop': ['<|file_separator|>'],
  },
)

参考资料

Hugging Face

报告