自述文件
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:'