requests 调用本地大模型 API 的常见例子
·
如下是几个 requests 调用本地大模型 API 的常见例子。假设我们的大模型已经在本地开了一个 HTTP 服务(常见有 FastAPI、Ollama、text-generation-webui、vLLM 等),我们就用 requests 去发 POST 请求。
🔹 示例 1:最简单的本地 API 调用(通用 REST)
import requests
url = "http://127.0.0.1:8000/generate" # 你本地模型的 API 地址
payload = {
"prompt": "Translate this sentence into English: 你好,世界!",
"max_tokens": 100
}
response = requests.post(url, json=payload)
print(response.status_code)
print(response.json())
假设服务返回:
{"text": "Hello, world!"}
🔹 示例 2:模拟 OpenAI API 风格(很多本地框架兼容)
import requests
url = "http://127.0.0.1:8000/v1/chat/completions"
headers = {"Content-Type": "application/json"}
payload = {
"model": "my-local-llm",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "帮我把这句话翻译成英文:我爱人工智能。"}
],
"max_tokens": 128
}
r = requests.post(url, headers=headers, json=payload)
print(r.json()["choices"][0]["message"]["content"])
🔹 示例 3:带超时和错误处理
import requests
try:
r = requests.post(
"http://127.0.0.1:8000/generate",
json={"prompt": "用英文介绍一下中国的长城"},
timeout=10
)
r.raise_for_status()
print("生成结果:", r.json().get("text", ""))
except requests.exceptions.Timeout:
print("请求超时")
except requests.exceptions.RequestException as e:
print("请求出错:", e)
🔹 示例 4:批量翻译文本
import requests
url = "http://127.0.0.1:8000/translate"
sentences = ["你好", "我喜欢机器学习", "人工智能正在改变世界"]
translations = []
for s in sentences:
r = requests.post(url, json={"text": s, "source": "zh", "target": "en"})
translations.append(r.json().get("translation", ""))
print(translations)
📌 这些示例能帮我们快速上手:
-
如果我们的服务兼容 OpenAI 格式 → 用 示例 2。
-
如果是自己写的简单 REST API → 用 示例 1 / 3 / 4。
更多推荐



所有评论(0)