Readme
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 程式碼 tokens 上進一步微調 |
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.'
Fill-in-the-middle (FIM) 或 infill (填空中間)
ollama run codellama:7b-code '<PRE> def compute_gcd(x, y): <SUF>return result <MID>'
Fill-in-the-middle (FIM) 是一種特殊的提示格式,程式碼自動完成模型支援此格式,可以完成兩個已編寫程式碼區塊之間的程式碼。Code Llama 期望用於程式碼填空的特定格式
<PRE> {prefix} <SUF>{suffix} <MID>
<PRE>
、<SUF>
和 <MID>
是引導模型的特殊 tokens。
程式碼審查
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:'