如下是几个 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

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐