如何用 Python 调用 AI API:从入门到生产

在人工智能时代,通过 API 调用大语言模型(LLM)已成为开发者必备技能。本文将详细介绍如何使用 Python 从零开始调用 AI API,涵盖环境配置、基础调用、流式输出、函数调用等高级功能,直至生产环境部署的最佳实践。

1. 环境准备与基础配置

1.1 安装必要库

首先确保 Python 3.7+ 环境,安装官方 OpenAI SDK(兼容無量Api):

pip install openai

1.2 API 密钥配置

注册 無量Api 获取 API Key,支持以下两种配置方式:

  1. 环境变量配置:
    export OPENAI_API_KEY="your-api2everything-key"
  2. 代码中直接配置:
    import openai
    openai.api_key = "your-api2everything-key"
    openai.base_url = "https://api2everything.xyz/v1"  # 关键配置

2. 基础 API 调用

2.1 文本补全(Completion)

response = openai.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "用Python写一个快速排序算法"}],
    temperature=0.7
)
print(response.choices[0].message.content)

2.2 对话模式(Chat Completion)

messages = [
    {"role": "system", "content": "你是一个Python专家"},
    {"role": "user", "content": "如何用pandas处理缺失值?"}
]
response = openai.chat.completions.create(
    model="claude-3-sonnet-4.6",
    messages=messages
)

3. 高级功能实现

3.1 流式输出(Streaming)

处理长文本时减少等待时间:

stream = openai.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "详细解释Python的GIL机制"}],
    stream=True
)
for chunk in stream:
    print(chunk.choices[0].delta.content or "", end="")

3.2 函数调用(Function Calling)

实现结构化数据返回:

tools = [
    {
        "type": "function",
        "function": {
            "name": "get_current_weather",
            "description": "获取当前天气",
            "parameters": {
                "type": "object",
                "properties": {
                    "location": {"type": "string", "description": "城市名称"}
                },
                "required": ["location"]
            }
        }
    }
]
response = openai.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "上海现在天气如何?"}],
    tools=tools
)

3.3 异步调用(Async)

提升高并发场景性能:

import asyncio
async def async_query():
    client = openai.AsyncOpenAI(base_url="https://api2everything.xyz/v1")
    response = await client.chat.completions.create(
        model="gpt-4o",
        messages=[{"role": "user", "content": "异步编程的优势"}]
    )
    return response

asyncio.run(async_query())

4. 生产环境最佳实践

4.1 错误处理与重试机制

from tenacity import retry, stop_after_attempt, wait_exponential

@retry(stop=stop_after_attempt(3), wait=wait_exponential(multiplier=1, min=4, max=10))
def safe_api_call(prompt):
    try:
        return openai.chat.completions.create(
            model="gpt-4o",
            messages=[{"role": "user", "content": prompt}]
        )
    except Exception as e:
        print(f"API调用失败: {str(e)}")
        raise

4.2 性能优化技巧

5.3 成本控制方案

策略 效果 实现方式
Token限制 减少单次调用成本 max_tokens=500
缓存机制 避免重复计算 Redis缓存相似请求结果

5. 常见问题(FAQ)

Q1: 如何选择适合的模型?

A: 根据任务复杂度选择:

Q2: 国内访问需要特殊配置吗?

A: 無量Api已实现国内直连,无需翻墙即可稳定访问。

Q3: 如何监控API使用情况?

A: 在無量Api控制面板可实时监控:

  1. Token消耗
  2. 请求成功率
  3. 响应时间分布

Q4: 遇到速率限制怎么办?

A: 两种解决方案:

  1. 升级账户等级提升QPS
  2. 实现指数退避重试机制

立即体验300+ AI模型

注册無量Api即送免费额度,享受GPT-4o/Claude Opus等顶级AI服务,价格仅为官方3-5折

免费注册 →