CodeGemma 是一个包含强大轻量级模型的集合,可以执行各种编码任务,例如代码中间补全、代码生成、自然语言理解、数学推理和指令跟随。

2b 7b

354.1K 3 个月前

自述文件

CodeGemma 是一个包含强大轻量级模型的集合,可以执行各种编码任务,例如代码中间补全、代码生成、自然语言理解、数学推理和指令跟随。

变体

  • instruct 一个 7b 指令调优变体,用于自然语言到代码的聊天和指令跟随
  • code 一个 7b 预训练变体,专门用于从代码前缀和/或后缀进行代码补全和生成
  • 2b 一个最先进的 2B 预训练变体,提供高达 2 倍的代码补全速度

优势

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

  • 更高的准确性:在 5000 亿个以英语为主的网页文档、数学和代码数据训练,CodeGemma 模型生成的代码不仅语法正确,而且语义上有意义,减少错误和调试时间。

  • 多语言能力:支持 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

报告