LangChain接入API中转服务教程(附完整代码)

4 阅读1分钟

===

引言

使用OpenAI API进行开发时,费用控制是每个开发者都关心的问题。本文将全面解析OpenAI各模型的最新定价,并介绍如何通过jiekou.ai以人民币灵活使用API,助你做出最优的模型选择。

一、OpenAI API 定价概览

按Token计费说明

OpenAI API按Token计费,而非按请求次数。英文约750词约等于1000 tokens,中文约500字约等于1000 tokens。输入和输出分别计费,价格单位为每百万tokens。

主流模型价格对比(美元/百万tokens)

  • GPT-4o:输入 $10.00,上下文窗口 128K

  • GPT-4o mini:输入 $0.60,上下文窗口 128K

  • GPT-4 Turbo:输入 $30.00,上下文窗口 128K

  • GPT-3.5 Turbo:输入 $1.50,上下文窗口 16K

  • o1:输入 $60.00,上下文窗口 200K

  • o1-mini:输入 $12.00,上下文窗口 128K

各模型适用场景

GPT-4o: 目前性价比最高的旗舰模型,支持多模态(文本、图像、音频),比GPT-4 Turbo快2倍且便宜75%,适合日常开发、代码生成、对话系统。

GPT-4o mini: 比GPT-3.5 Turbo更智能价格更低,适合分类任务、简单摘要、批量处理。

o1系列: 使用链式思维推理,适合数学证明、复杂算法设计,但价格较高。

二、费用计算示例

客服机器人(每日1万次对话)

假设每次对话平均输入500 tokens,输出200 tokens:

  • 使用GPT-4o mini:日费用约 $1.95(约14元人民币)

  • 使用GPT-4o:日费用约 $32.50(约235元人民币)

使用Python计算API费用

def calculate_cost(model, input_tokens, output_tokens):
    pricing = {
        "gpt-4o": {"input": 2.50, "output": 10.00},
        "gpt-4o-mini": {"input": 0.15, "output": 0.60},
        "gpt-3.5-turbo": {"input": 0.50, "output": 1.50},
        "o1": {"input": 15.00, "output": 60.00},
        "o1-mini": {"input": 3.00, "output": 12.00},
    }
    
    price = pricing[model]
    input_cost = (input_tokens / 1_000_000) * price["input"]
    output_cost = (output_tokens / 1_000_000) * price["output"]
    total_usd = input_cost + output_cost
    total_cny = total_usd * 7.2  # 汇率估算
    
    return {
        "total_usd": round(total_usd, 6),
        "total_cny": round(total_cny, 4)
    }

result = calculate_cost("gpt-4o", 1000, 500)
print(f"费用: ${result['total_usd']} (约¥{result['total_cny']})")

三、省钱技巧

技巧1:选对模型

def select_model(task_type: str) -> str:
    """根据任务类型选择合适的模型"""
    model_map = {
        "simple_qa": "gpt-4o-mini",
        "classification": "gpt-4o-mini",
        "code_review": "gpt-4o",
        "code_generation": "gpt-4o",
        "complex_reasoning": "o1-mini",
        "math_problem": "o1",
        "chat": "gpt-4o-mini",
    }
    return model_map.get(task_type, "gpt-4o-mini")

model = select_model("classification")
print(f"推荐模型: {model}")  # gpt-4o-mini

技巧2:精简System Prompt

System Prompt每次都计入输入token,要尽量简洁,避免冗长的说明。

# 低效:冗长的system prompt(每次都要计费)
system_prompt_bad = """
你是一个专业的客服代表,在与用户交流时,你应该始终保持礼貌、专业和耐心。
你的职责是帮助用户解决各种问题,包括但不限于...(500字的详细说明)
"""

# 高效:简洁的system prompt
system_prompt_good = "你是专业客服,简洁礼貌地帮助用户解决问题。"

技巧3:控制输出长度

response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "解释梯度下降算法"}],
    max_tokens=300  # 限制输出长度,避免不必要的冗长
)

技巧4:使用缓存

import hashlib
import json

class CachedAPIClient:
    def __init__(self, client, cache: dict):
        self.client = client
        self.cache = cache
    
    def _get_cache_key(self, model, messages):
        content = json.dumps({"model": model, "messages": messages}, sort_keys=True)
        return hashlib.md5(content.encode()).hexdigest()
    
    def chat(self, model, messages):
        cache_key = self._get_cache_key(model, messages)
        
        if cache_key in self.cache:
            print("命中缓存,节省费用!")
            return self.cache[cache_key]
        
        response = self.client.chat.completions.create(
            model=model,
            messages=messages
        )
        
        result = response.choices[0].message.content
        self.cache[cache_key] = result
        return result

技巧5:批量处理任务

# 低效:单条处理(每次请求都有固定开销)
results = []
for item in items:
    response = client.chat.completions.create(
        model="gpt-4o-mini",
        messages=[{"role": "user", "content": f"分类:{item}"}]
    )
    results.append(response.choices[0].message.content)

# 高效:批量处理(一次请求处理多条)
batch_input = "\n".join([f"{i+1}. {item}" for i, item in enumerate(items)])
response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{
        "role": "user",
        "content": f"对以下内容逐条分类,每行输出一个类别:\n{batch_input}"
    }]
)

四、国内用户推荐:jiekou.ai

对于国内开发者,jiekou.ai提供完整的解决方案:

  • 国内直连:官方需要代理,jiekou.ai直连无需翻墙

  • 支付方式:官方需要海外信用卡,jiekou.ai支持支付宝/微信

  • 支持模型:官方仅OpenAI系列,jiekou.ai支持GPT+Claude+Gemini

  • 注册门槛:官方需要境外手机号,jiekou.ai国内手机号注册

    from openai import OpenAI

    jiekou.ai接入示例(国内直连)

    client = OpenAI( api_key="your-jiekou-api-key", base_url="api.jiekou.ai/v1" )

    完全兼容OpenAI SDK,代码无需修改

    response = client.chat.completions.create( model="gpt-4o-mini", messages=[{"role": "user", "content": "你好"}] )

    print(response.choices[0].message.content)

总结

选择模型的核心原则:

  • 大量简单任务 → gpt-4o-mini(最省钱)

  • 日常开发 → gpt-4o(性价比最佳)

  • 复杂推理 → o1-mini 或 o1

对于国内开发者,通过jiekou.ai接入,人民币支付,无需翻墙,是最稳定便捷的选择。

注册 jiekou.ai:jiekou.ai

API接入地址:api.jiekou.ai/v1