Python调用国产大模型API实战:从DeepSeek到智谱GLM

导语:2026年4月,国产大模型迎来爆发期。DeepSeek V4、美团LongCat-2.0、智谱GLM-5.1同日发布。本文手把手教你用Python调用这些国产大模型API,成本只有OpenAI的1/5。

一、为什么选国产大模型API

国产大模型API的核心优势:

  • 价格优势:约$0.002/千Tokens,是OpenAI的1/5
  • 中文理解:天然优势,本地化场景更精准
  • 响应速度:国内服务器,延迟更低
  • 合规可控:数据不出境,满足企业合规要求

二、环境准备

# 创建虚拟环境
python3 -m venv venv
source venv/bin/activate  # macOS/Linux
# 或 venv\Scripts\activate  # Windows

# 安装依赖
pip install openai zhipuai requests

三、DeepSeek API 调用

DeepSeek是目前最热门的国产开源大模型,支持1M上下文。

import os
from openai import OpenAI

# DeepSeek API配置
client = OpenAI(
    api_key=os.getenv("DEEPSEEK_API_KEY"),
    base_url="https://api.deepseek.com/v1"
)

def chat_deepseek(prompt, model="deepseek-chat"):
    """调用DeepSeek API"""
    response = client.chat.completions.create(
        model=model,
        messages=[
            {"role": "system", "content": "你是一个专业的Python编程助手。"},
            {"role": "user", "content": prompt}
        ],
        temperature=0.7,
        max_tokens=2000
    )
    return response.choices[0].message.content

# 示例:让DeepSeek写一个快速排序
code_prompt = """
用Python实现快速排序算法,要求:
1. 使用原地排序(in-place)
2. 包含详细注释
3. 包含测试用例
"""

result = chat_deepseek(code_prompt)
print(result)

四、智谱GLM API 调用

智谱GLM-5.1已能独立工作8小时,支持Agent能力。

import os
from zhipuai import ZhipuAI

# 智谱API配置
client = ZhipuAI(api_key=os.getenv("ZHIPU_API_KEY"))

def chat_glm(prompt, stream=False):
    """调用智谱GLM API"""
    response = client.chat.completions.create(
        model="glm-4-plus",  # 或 glm-4, glm-4-flash 等
        messages=[
            {"role": "user", "content": prompt}
        ],
        stream=stream,
        temperature=0.8,
        top_p=0.95
    )
    if stream:
        # 流式输出
        for event in response:
            print(event.choices[0].delta.content, end="", flush=True)
    else:
        return response.choices[0].message.content

# 示例:分析一段代码
analysis_prompt = """
分析以下Python代码的性能瓶颈,并给出优化建议:

def slow_function(data):
    result = []
    for item in data:
        if item % 2 == 0:
            result.append(item * 2)
    return result
"""

result = chat_glm(analysis_prompt)
print(result)

五、批量处理实战案例

用国产大模型批量处理Excel数据。

import pandas as pd
from openai import OpenAI
from concurrent.futures import ThreadPoolExecutor
import os

client = OpenAI(
    api_key=os.getenv("DEEPSEEK_API_KEY"),
    base_url="https://api.deepseek.com/v1"
)

def analyze_sentiment(text, client):
    """分析文本情感"""
    response = client.chat.completions.create(
        model="deepseek-chat",
        messages=[
            {"role": "system", "content": "你是情感分析专家,只返回Positive、Neutral或Negative。"},
            {"role": "user", "content": f"分析以下文本情感:{text}"}
        ],
        max_tokens=10
    )
    return response.choices[0].message.content.strip()

def batch_analyze(df, text_column, max_workers=5):
    """批量处理DataFrame"""
    texts = df[text_column].tolist()
    results = []
    
    # 使用线程池并发调用
    with ThreadPoolExecutor(max_workers=max_workers) as executor:
        futures = [executor.submit(analyze_sentiment, text, client) for text in texts]
        results = [f.result() for f in futures]
    
    return results

# 使用示例
if __name__ == "__main__":
    # 读取数据
    df = pd.read_excel("comments.xlsx")
    
    # 批量分析
    sentiments = batch_analyze(df, "comment_text", max_workers=10)
    
    # 保存结果
    df["sentiment"] = sentiments
    df.to_excel("comments_analyzed.xlsx", index=False)
    print("分析完成!")

六、成本对比

模型 价格($/千Tokens) 优势
GPT-5.5 $0.01 综合能力强
DeepSeek V4 $0.002 性价比高
智谱GLM-4 $0.001 中文理解强
美团LongCat $0.002 本地生活场景

七、注意事项

  1. API Key安全:不要硬编码,使用环境变量
  2. 错误处理:添加重试机制,防止调用失败
  3. 并发控制:遵守API调用频率限制
  4. 成本监控:设置预算告警,避免意外账单

八、完整项目代码

"""
国产大模型API调用封装
支持:DeepSeek、智谱GLM、美团LongCat
"""
import os
from typing import Optional, List, Dict
from dataclasses import dataclass
from enum import Enum

class ModelType(Enum):
    DEEPSEEK = "deepseek"
    ZHIPU = "zhipu"
    MEITUAN = "meituan"

@dataclass
class ModelConfig:
    api_key: str
    base_url: Optional[str] = None
    model: str = "deepseek-chat"

class ChineseLLMClient:
    def __init__(self, model_type: ModelType, api_key: str = None):
        self.model_type = model_type
        self.config = self._get_config(model_type, api_key)
        self.client = self._init_client()
    
    def _get_config(self, model_type: ModelType, api_key: str = None) -> ModelConfig:
        configs = {
            ModelType.DEEPSEEK: ModelConfig(
                api_key=api_key or os.getenv("DEEPSEEK_API_KEY"),
                base_url="https://api.deepseek.com/v1",
                model="deepseek-chat"
            ),
            ModelType.ZHIPU: ModelConfig(
                api_key=api_key or os.getenv("ZHIPU_API_KEY"),
                base_url="https://open.bigmodel.cn/api/paas/v4",
                model="glm-4-plus"
            ),
            ModelType.MEITUAN: ModelConfig(
                api_key=api_key or os.getenv("MEITUAN_API_KEY"),
                base_url="https://api.meituan.com/llm/v1",
                model="longcat-2.0"
            )
        }
        return configs[model_type]
    
    def _init_client(self):
        from openai import OpenAI
        return OpenAI(
            api_key=self.config.api_key,
            base_url=self.config.base_url
        )
    
    def chat(self, prompt: str, system: str = None) -> str:
        messages = []
        if system:
            messages.append({"role": "system", "content": system})
        messages.append({"role": "user", "content": prompt})
        
        response = self.client.chat.completions.create(
            model=self.config.model,
            messages=messages,
            temperature=0.7,
            max_tokens=2000
        )
        return response.choices[0].message.content

# 使用示例
if __name__ == "__main__":
    # 使用DeepSeek
    client = ChineseLLMClient(ModelType.DEEPSEEK)
    result = client.chat("用Python写一个Hello World")
    print(result)

结语

国产大模型API已经非常成熟,价格只有OpenAI的1/5。对于国内项目,强烈推荐使用国产大模型。

完整代码已上传到GitHub:https://github.com/example/chinese-llm-api

标签:Python, DeepSeek, 智谱GLM, 大模型API, AI开发

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐