目 录CONTENT

文章目录

调用大型语言模型的 10 个 Python 单行代码示例

Administrator
2025-10-19 / 0 评论 / 0 点赞 / 0 阅读 / 0 字

📢 转载信息

原文链接:https://machinelearningmastery.com/10-python-one-liners-for-calling-llms-from-your-code/

原文作者:Shittu Olumide


10 Python One-Liners for Calling LLMs from Your Code
图片作者



引言

你并不总需要一个沉重的封装库、一个大型客户端类或数十行的样板代码来调用大型语言模型(LLM)。有时,一行精心设计的 Python 代码就能完成所有工作:发送一个提示(prompt),接收一个响应。这种简洁性可以加快原型设计,或在不增加架构开销的情况下将 LLM 调用嵌入到脚本或管道中。

在本文中,你将看到十个调用和与 LLM 交互的 Python 单行代码。我们将涵盖:

每个代码片段都附有简短的解释和官方文档链接,以便你可以验证底层发生了什么。读完后,你不仅知道如何快速嵌入 LLM 调用,还能理解每种模式何时以及为何有效。



设置

在嵌入单行代码之前,需要准备几件事以确保它们顺利运行:

安装所需的包(只需一次):

pip install openai anthropic google-generativeai requests httpx

确保你的 API 密钥 设置在环境变量中,切勿硬编码到脚本中。例如:

export OPENAI_API_KEY="sk-..."
export ANTHROPIC_API_KEY="claude-yourkey"
export GOOGLE_API_KEY="your_google_key"

对于本地设置(OllamaLM StudiovLLM),你需要本地运行模型服务器并监听正确的端口(例如,Ollama 的默认 REST API 运行在 http://localhost:11434)。

所有单行代码都假设你使用了正确的模型名称,并且该模型可通过云端或本地访问。准备就绪后,你可以将每个单行代码直接粘贴到你的 Python REPL 或脚本中,并获得响应,具体取决于配额或本地资源限制。



托管 API 单行代码(云模型)

托管 API 是开始使用大型语言模型的​​最简单方法。你无需在本地运行模型或担心 GPU 内存;只需安装客户端库、设置 API 密钥,然后发送提示。这些 API 由模型提供商自己维护,因此它们可靠、安全且经常更新。

以下单行代码展示了如何直接从 Python 调用一些最受欢迎的托管模型。每个示例都会向模型发送一个简单的消息并打印生成的响应。

1. OpenAI GPT 聊天补全

OpenAI 的 API 提供了对 GPT-4o 和 GPT-4o-mini 等模型的访问。SDK 负责从身份验证到响应解析的所有事情。

from openai import OpenAI; print(OpenAI().chat.completions.create(model="gpt-4o-mini", messages=[{"role":"user","content":"Explain vector similarity"}]).choices[0].message.content)

作用: 它创建一个客户端,向 GPT-4o-mini 发送消息,并打印模型的回复。

原理: openai Python 包对 REST API 进行了干净的封装。你只需要将 OPENAI_API_KEY 设置为环境变量即可。

文档: OpenAI 聊天补全 API

2. Anthropic Claude

Anthropic 的 Claude 模型(Claude 3、Claude 3.5 Sonnet 等)以其长上下文窗口和详细推理能力而闻名。它们的 Python SDK 遵循与 OpenAI 类似的聊天消息格式。

from anthropic import Anthropic; print(Anthropic().messages.create(model="claude-3-5-sonnet", messages=[{"role":"user","content":"How does chain of thought prompting work?"}]).content[0].text)

作用: 初始化 Claude 客户端,发送消息,并打印第一个响应块的文本。

原理: .messages.create() 方法使用标准的 role + content 消息模式,返回易于提取的结构化输出。

文档: Anthropic Claude API 参考

3. Google Gemini

Google 的 Gemini API(通过 google-generativeai 库)可以轻松地用最少的设置调用多模态和文本模型。关键区别在于 Gemini 的 API 将每个提示视为“内容生成”,无论是文本、代码还是推理。

import os, google.generativeai as genai; genai.configure(api_key=os.getenv("GOOGLE_API_KEY")); print(genai.GenerativeModel("gemini-1.5-flash").generate_content("Describe retrieval-augmented generation").text)

作用: 调用 Gemini 1.5 Flash 模型 来描述检索增强生成(RAG)并打印返回的文本。

原理: GenerativeModel() 设置模型名称,generate_content() 处理提示/响应流程。你只需要配置好 GOOGLE_API_KEY 即可。

文档: Google Gemini API 快速入门

4. Mistral AI (REST 请求)

Mistral 提供了一个简单的聊天补全 REST API。你发送一个消息列表并接收一个结构化的 JSON 响应作为回报。

import requests, json; print(requests.post("https://api.mistral.ai/v1/chat/completions", headers={"Authorization":"Bearer YOUR_MISTRAL_API_KEY"}, json={"model":"mistral-tiny","messages":[{"role":"user","content":"Define fine-tuning"}]}).json()["choices"][0]["message"]["content"])

作用: 向 Mistral 的 API 发送聊天请求并打印助手的消息。

原理: 该端点接受类似 OpenAI 的消息数组,并返回 choices -> message -> content
查阅 Mistral API 参考和快速入门

5. Hugging Face 推理 API

如果你在 Hugging Face 上托管模型或使用公共模型,你可以用一个 POST 请求来调用它。text-generation 任务以 JSON 格式返回生成的文本。

import requests; print(requests.post("https://api-inference.huggingface.co/models/mistralai/Mistral-7B-Instruct-v0.2", headers={"Authorization":"Bearer YOUR_HF_TOKEN"}, json={"inputs":"Write a haiku about data"}).json()[0]["generated_text"])

作用: 向 Hugging Face 上托管的模型发送提示,并打印生成的文本。

原理: 推理 API 暴露了特定于任务的端点;对于文本生成,它返回一个包含 generated_text 的列表。
文档:推理 API 和文本生成 任务页面



本地模型单行代码

在本地机器上运行模型可以让你拥有隐私和控制权。你避免了网络延迟,并将数据保留在本地。权衡在于设置:你需要启动服务器并拉取模型。下面的单行代码假设你已经启动了本地服务。

6. Ollama (本地 Llama 3 或 Mistral)

Ollama 在 localhost:11434 上暴露了一个简单的 REST API。使用 /api/generate 进行提示式生成,或使用 /api/chat 进行聊天轮次。

import requests; print(requests.post("http://localhost:11434/api/generate", json={"model":"llama3","prompt":"What is vector search?"}).text)

作用: 向本地 Ollama 服务器发送一个生成请求,并打印原始响应文本。

原理: Ollama 运行一个本地 HTTP 服务器,带有 /api/generate/api/chat 等端点。你必须先运行该应用程序并拉取模型。请参阅官方 API 文档

7. LM Studio (兼容 OpenAI 的端点)

LM Studio 可以将本地模型置于类似 OpenAI 的端点(如 /v1/chat/completions)之后。从“开发者”选项卡启动服务器,然后像调用任何兼容 OpenAI 的后端一样调用它。

import requests; print(requests.post("http://localhost:1234/v1/chat/completions", json={"model":"phi-3","messages":[{"role":"user","content":"Explain embeddings"}]}).json()["choices"][0]["message"]["content"])

作用: 调用本地聊天补全并打印消息内容。

原理: LM Studio 暴露了兼容 OpenAI 的路由,并且还支持增强的 API。最近的版本也添加了对 /v1/responses 的支持。如果你的本地构建使用不同的路由,请查阅文档。

8. vLLM (自托管 LLM 服务器)

vLLM 提供了一个高性能服务器,带有兼容 OpenAI 的 API。你可以在本地或 GPU 服务器上运行它,然后调用 /v1/chat/completions

import requests; print(requests.post("http://localhost:8000/v1/chat/completions", json={"model":"mistral","messages":[{"role":"user","content":"Give me three LLM optimization tricks"}]}).json()["choices"][0]["message"]["content"])

作用: 向 vLLM 服务器发送聊天请求并打印第一个响应消息。

原理: vLLM 实现了兼容 OpenAI 的聊天和补全 API,因此一旦服务器运行,任何类似 OpenAI 的客户端或纯请求调用都可以工作。请查看 文档



便捷的技巧与窍门

一旦你了解了向 LLM 发送请求的基础知识,一些巧妙的技巧就能让你的工作流程更快、更顺畅。最后两个示例演示了如何实时流式传输响应以及如何执行异步 API 调用而不会阻塞你的程序。

9. 从 OpenAI 流式传输响应

流式传输允许你打印模型生成的每个 token,而不是等待整个消息。它非常适合交互式应用程序或 CLI 工具,你希望输出立即出现。

from openai import OpenAI; [print(c.choices[0].delta.content or "", end="") for c in OpenAI().chat.completions.create(model="gpt-4o-mini", messages=[{"role":"user","content":"Stream a poem"}], stream=True)]

作用:GPT-4o-mini 发送提示并打印到达的 token,模拟“实时打字”效果。

原理: OpenAI API 中 stream=True 标志会返回部分事件。每个 chunk 包含一个 delta.content 字段,此单行代码会在流式传输时打印它。

文档: OpenAI 流式传输指南

10. 使用 httpx 进行异步调用

异步调用使你能够在不阻塞应用程序的情况下查询模型,非常适合同时发出多个请求或将 LLM 集成到 Web 服务器中。

import asyncio, httpx; print(asyncio.run(httpx.AsyncClient().post("https://api.mistral.ai/v1/chat/completions", headers={"Authorization":"Bearer TOKEN"}, json={"model":"mistral-tiny","messages":[{"role":"user","content":"Hello"}]})).json()["choices"][0]["message"]["content"])

作用: 异步向 Mistral 的 API 发送聊天请求,然后打印模型的回复(一旦完成)。

原理: httpx 库支持异步 I/O,因此网络调用不会阻塞主线程。这种模式非常适合脚本或应用程序中的轻量级并发。

文档: 异步支持



总结

这些单行代码不仅仅是快速演示;它们是构建块。你可以将它们中的任何一个变成一个函数,将其包装到命令行工具中,或者构建到后端服务中。相同的单行代码在添加错误处理、缓存或日志记录后,可以轻松地扩展到生产工作流中。

如果你想进一步探索,请查阅官方文档,了解 temperaturemax tokensstreaming options 等详细参数。每个提供商都维护着可靠的参考资料:

真正的收获是 Python 使处理 LLM 变得既易于访问又灵活。无论你是在云端运行 GPT-4o 还是在本地运行 Llama 3,只需几行代码即可达到生产级的效果。




🚀 想要体验更好更全面的AI调用?

欢迎使用青云聚合API,约为官网价格的十分之一,支持300+全球最新模型,以及全球各种生图生视频模型,无需翻墙高速稳定,文档丰富,小白也可以简单操作。

0

评论区