CodeGemma 是一系列強大且輕量的模型,可以執行各種程式碼相關任務,例如程式碼填空中間補全、程式碼生成、自然語言理解、數學推理和指令遵循。

2b 7b

476.7K 6 個月前

說明文件

CodeGemma 是一系列強大且輕量的模型,可以執行各種程式碼相關任務,例如程式碼填空中間補全、程式碼生成、自然語言理解、數學推理和指令遵循。

變體版本

  • instruct 7b 指令調整變體版本,適用於自然語言轉程式碼聊天和指令遵循
  • code 7b 預訓練變體版本,專門用於從程式碼前綴和/或後綴完成和生成程式碼
  • 2b 最先進的 2B 預訓練變體版本,提供高達 2 倍的程式碼完成速度

優點

  • 智慧程式碼完成和生成:完成程式碼行、函數,甚至生成整個程式碼區塊,無論您是在本地工作還是使用 Google Cloud 資源。

  • 提升的準確性:CodeGemma 模型在主要為英文的 5000 億個 tokens 的網路文件、數學和程式碼資料上進行訓練,生成的程式碼不僅在語法上更正確,而且在語義上也更有意義,從而減少錯誤和除錯時間。

  • 多語言能力:支援 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

報告