一个可以使用文本提示来生成和讨论代码的大型语言模型。

7b 13b 34b 70b

1.5M 3 个月前

自述文件

Code Llama 是一个用于生成和讨论代码的模型,它基于 Llama 2 构建。它旨在使开发人员的工作流程更快、更高效,并使人们更容易学习如何编码。它可以生成关于代码的代码和自然语言。Code Llama 支持当今使用的大多数流行编程语言,包括 Python、C++、Java、PHP、Typescript(Javascript)、C#、Bash 等等。

参数数量

参数数量
70 亿 查看 ollama run codellama:7b
130 亿 查看 ollama run codellama:13b
340 亿 查看 ollama run codellama:34b
700 亿 查看 ollama run codellama:70b

用法

CLI

ollama run codellama "Write me a function that outputs the fibonacci sequence"

API

curl -X POST https://127.0.0.1:11434/api/generate -d '{
  "model": "codellama",
  "prompt": "Write me a function that outputs the fibonacci sequence"
}'

变体

instruct 经过微调,可以生成自然语言中富有帮助和安全的答案
python Code Llama 的一个专门变体,在 1000 亿个 Python 代码标记上进行了进一步的微调
code 用于代码补全的基础模型

示例提示

提问

ollama run codellama:7b-instruct 'You are an expert programmer that writes simple, concise code and explanations. Write a python function to generate the nth fibonacci number.'

填充中间(FIM)或插值

ollama run codellama:7b-code '<PRE> def compute_gcd(x, y): <SUF>return result <MID>'

填充中间(FIM)是一种由代码补全模型支持的特殊提示格式,可以完成两个已编写代码块之间的代码。Code Llama 期待使用一种特定格式进行代码插值

<PRE> {prefix} <SUF>{suffix} <MID>

<PRE><SUF><MID> 是指导模型的特殊标记。

代码审查

ollama run codellama '
Where is the bug in this code?

def fib(n):
    if n <= 0:
        return n
    else:
        return fib(n-1) + fib(n-2)
'

编写测试

ollama run codellama "write a unit test for this function: $(cat example.py)"

代码补全

ollama run codellama:7b-code '# A simple python function to remove whitespace from a string:'

更多信息