首頁  >  文章  >  後端開發  >  運行本地 LLM 和發出 API 請求的快速指南

運行本地 LLM 和發出 API 請求的快速指南

DDD
DDD原創
2024-11-22 08:55:15755瀏覽

Quick and Dirty Guide to Running a Local LLM and Making API Requests

好吧,係好安全帶,因為我們正在深入研究一個快速而骯髒的解決方案,用於運行本地LLM(語言模型)並發出API 請求- 就像精美的商業解決方案所做的那樣。為什麼?嗯,為什麼不呢?只需大約三分鐘,您就可以在本地運行一個完美的系統來進行大多數測試。如果您覺得需要再次擴展到雲,切換回來幾乎毫不費力。

這是我們將要遵循的文檔,主要是為了讓您可以聲稱您已閱讀它:

  • OpenAI API 文件

特別是,我們將專注於提出這樣的請求:

curl https://api.openai.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
     "model": "gpt-4o-mini",
     "messages": [{"role": "user", "content": "Say this is a test!"}],
     "temperature": 0.7
   }'

到目前為止,一切都很好,對吧?沒有什麼開創性的。但這就是有趣的地方...

進入LM工作室

有一個名為 LM Studio 的寶石工具](https://lmstudio.ai/),它讓當地法學碩士更容易處理。安裝並運行模型後,您會注意到一個帶有名為“開發人員”的控制台圖示的選項卡。我知道,一開始聽起來不太令人興奮,但堅持下去,因為它會變得更好。此標籤附帶一個方便的 CURL 範例,向您展示如何使用本機模型。而且,你不知道嗎,它看起來很眼熟!

curl http://localhost:1234/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "llama-3.1-8b-lexi-uncensored-v2",
    "messages": [
      { "role": "system", "content": "Always answer in rhymes. Today is Thursday" },
      { "role": "user", "content": "What day is it today?" }
    ],
    "temperature": 0.7,
    "max_tokens": -1,
    "stream": false
}'

看起來很眼熟對吧?這是我們剛剛看到的本地版本。您將獲得與 OpenAI API 請求相同的設置,只不過它在本機電腦上運行。另外,它還有一點小技巧——例如「總是用押韻回答」系統提示。詩歌,有人嗎?

Python 怎麼樣?我們找到你了。

如果您喜歡使用 Python(說實話,誰不喜歡呢?),以下是使用 Python 的 requests 模組發送相同請求的方法:

import requests
import json

url = "http://localhost:1234/v1/chat/completions"

headers = {
    "Content-Type": "application/json"
}

data = {
    "model": "llama-3.1-8b-lexi-uncensored-v2",
    "messages": [
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "What is the capital of France?"}
    ],
    "temperature": 0.7,
    "max_tokens": -1,
    "stream": False
}

response = requests.post(url, headers=headers, data=json.dumps(data))

if response.status_code == 200:
    result = response.json()
    print(result["choices"][0]["message"]["content"])
else:
    print(f"Error: {response.status_code}")

瞧!您現在已準備好向當地的 LLM 發送請求,就像使用商業 API 一樣。來吧,測試它、打破它、讓它變得押韻——世界(或至少是你的模型)是你的牡蠣。

享受!

以上是運行本地 LLM 和發出 API 請求的快速指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn