iT邦幫忙

2025 iThome 鐵人賽

DAY 22
0

1️⃣ Code LLM 是什麼?

Code LLM(Code Large Language Model)是一類專門針對程式碼相關任務優化的大型語言模型,它們比一般 LLM(如 ChatGPT)更擅長:

  • 程式碼生成(Code Generation)
  • 程式碼補全(Code Completion)
  • 錯誤修正(Bug Fixing)
  • 程式碼解釋(Code Explanation)
  • API 文件生成

2️⃣ 常見 Code LLM 模型

模型名稱 開發公司/組織 特點
GitHub Copilot (Codex) OpenAI + GitHub 針對程式碼補全優化
Code Llama Meta 支援多種語言,開源
StarCoder / StarCoder2 Hugging Face + BigCode 開源,支援多語言與自然語言
DeepSeek-Coder DeepSeek 中文表現佳,支援多語言
Mistral-Codestral Mistral AI 小模型高效能
Gemini Code Assist Google DeepMind 與 Google Cloud 整合
Phi-3-mini-128k-instruct Microsoft 輕量級高上下文長度

3️⃣ Code LLM 中文架構圖(文字版)

[ 使用者需求 ]
      ↓
[ Prompt + 程式碼上下文 ]
      ↓
[ Code LLM 模型 (e.g., Code Llama, StarCoder) ]
      ↓
[ 程式碼生成 / 補全 / 修正 ]
      ↓
[ 執行 / 測試 / 部署 ]

4️⃣ 使用範例

Python 透過 Ollama 運行 Code Llama

import requests

# 發送 Prompt 到本地 Ollama API
response = requests.post(
    "http://localhost:11434/api/generate",
    json={
        "model": "codellama",
        "prompt": "用 Python 寫一個計算質數的函數"
    }
)

for line in response.iter_lines():
    if line:
        print(line.decode('utf-8'))

LangChain + Code LLM 程式碼生成範例

from langchain_openai import ChatOpenAI
from langchain.prompts import ChatPromptTemplate
from langchain.chains import LLMChain

# 初始化模型(可換成 Code Llama API)
llm = ChatOpenAI(model="gpt-4o-mini", temperature=0)

prompt = ChatPromptTemplate.from_template(
    "請用 Python 寫一個可以檢查字串是否為回文的函數"
)

chain = LLMChain(llm=llm, prompt=prompt)

print(chain.run({}))

5️⃣ 適用場景

  • IDE 智能補全(VS Code、JetBrains 等)
  • 自動生成 API 客戶端程式碼
  • 專案自動化測試程式生成
  • 程式碼審查與最佳化建議
  • 學習與教學(解釋程式碼、轉換語言)

6️⃣ 結論

  • Code LLM 是專門為 寫程式 設計的 AI 模型
  • 既可在 雲端(API) 使用,也能 本地(Ollama、LM Studio) 運行
  • 與 LangChain / LlamaIndex 搭配可以構建完整的 AI 開發工具
  • 代表模型有 Code Llama、StarCoder、DeepSeek-Coder 等

上一篇
Day21-LlamaIndex
下一篇
Day23-ChatGPT
系列文
AI咒術迴戰~LLM絕對領域展開25
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言