大模型调用OpenAI范式接口方法

在这里插入图片描述

本文将介绍如何使用PH8大模型开放平台提供的OpenAI兼容接口来调用各种主流大模型。PH8平台提供高性能、易上手、安全可靠的大模型服务,覆盖文本、图像、视频等多模态场景。

一、为什么选择PH8平台的OpenAI范式接口?

PH8平台的OpenAI范式接口因其简洁、统一和高效的设计,成为了与大型语言模型交互的理想选择。它的优势在于:

统一接口:无论是文本生成还是对话生成,都遵循OpenAI统一标准,便于开发者快速上手和复用代码。

简洁易用:基于HTTP请求的简单设计,让开发者能够轻松与模型交互,减少学习成本。

高效管理:支持灵活调整生成参数,如温度、最大生成长度,优化模型输出。

流式输出:支持实时生成,适合实时反馈的应用场景。

PH8特色优势

  • 🚀 低价高效:按量计费,无预付费压力
  • 📦 开箱即用:10分钟内完成技术对接
  • 性能极致:提供高效能大模型推理加速服务
  • 🖥️ 适配广泛:支持英伟达、AMD及多种国产芯片
  • 🔒 安全可靠:支持全信创私有化部署

二、调用PH8接口官方调用Demo示例

1、PH8接口基本信息

所有大模型调用的接口域名是:https://ph8.co/
更多模型可以根据链接前往PH8官网查看

2、chat/completions接口

Example request (curl)

curl -X POST "https://ph8.co/openai/v1/chat/completions" \
  -H "Authorization: Bearer YOUR_PH8_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-3-5-sonnet-latest",
    "messages": [
      {
        "role": "system",
        "content": "You are a helpful assistant."
      },
      {
        "role": "user",
        "content": "Hello!"
      }
    ]
  }'

Example request (Python)

from openai import OpenAI
import os

# 设置PH8平台API信息
base_url = "https://ph8.co/openai/v1"
api_key = "YOUR_PH8_API_KEY"

# 初始化客户端
client = OpenAI(base_url=base_url, api_key=api_key)

# 调用聊天补全接口
response = client.chat.completions.create(
    model="claude-3-5-sonnet-latest",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Hello!"}
    ]
)

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

3、completions接口

Example request (curl)

curl -X POST "https://ph8.co/openai/v1/completions" \
  -H "Authorization: Bearer YOUR_PH8_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-3.5-turbo-instruct",
    "prompt": "Say this is a test",
    "max_tokens": 7,
    "temperature": 0
  }'

三、自定义调用PH8接口

import requests
import json

def chat_completions(api_url, api_key, messages, input_payload, stream=False):
    """PH8平台聊天补全接口调用"""
    url = f"{api_url}/openai/v1/chat/completions"

    headers = {
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json"
    }

    payload = {
        "model": "",
        "stream": stream,
        "messages": messages,
        "max_tokens": 8096,
        "temperature": 0.1,
        "presence_penalty": 0.5,
        "frequency_penalty": 0.8,
        "top_p": 0.75
    }
    payload.update(input_payload)

    if stream:
        response = requests.post(url, json=payload, headers=headers, stream=True)
        for line in response.iter_lines():
            if line:
                try:
                    data = line.decode("utf-8")
                    print(data)  # 处理流式数据
                except Exception as e:
                    print(f"Error processing stream data: {e}")
    else:
        response = requests.post(url, json=payload, headers=headers)
        return response.json()

def completions(api_url, api_key, prompt, input_payload, stream=False):
    """PH8平台补全接口调用"""
    url = f"{api_url}/openai/v1/completions"

    headers = {
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json"
    }

    payload = {
        "model": "",
        "stream": stream,
        "prompt": prompt,
        "max_tokens": 8096,
        "temperature": 0.1,
        "presence_penalty": 0.5,
        "frequency_penalty": 0.8,
        "top_p": 0.75
    }
    payload.update(input_payload)

    if stream:
        response = requests.post(url, json=payload, headers=headers, stream=True)
        for line in response.iter_lines():
            if line:
                try:
                    data = line.decode("utf-8")
                    print(data)  # 处理流式数据
                except Exception as e:
                    print(f"Error processing stream data: {e}")
    else:
        response = requests.post(url, json=payload, headers=headers)
        return response.json()

# 使用示例
if __name__ == "__main__":
    # PH8平台配置
    api_url = "https://ph8.co"
    api_key = "YOUR_PH8_API_KEY"
    
    # chat_completions 示例
    model = "claude-3-5-sonnet-latest"
    messages = [{"role": "user", "content": "随机给我一个1~10000的数字"}]
    payload = {"model": model}
    
    response = chat_completions(api_url, api_key, messages, payload, stream=True)
    print(response)

    # completions 示例
    model = "gpt-3.5-turbo-instruct"
    prompt = "Tell me a joke."
    payload = {"model": model}
    
    response = completions(api_url, api_key, prompt, payload, stream=True)
    print(response)

四、PH8平台支持的主流模型

PH8平台支持多种主流大模型,包括:

  • 🤖 Claude系列:claude-3-5-sonnet-latest, claude-3-opus等
  • 🦅 DeepSeek系列:deepseek系列模型
  • 🌟 GPT系列:gpt-3.5-turbo, gpt-4等
  • 🐰 GLM系列:智谱AI系列模型
  • 💝 文心一言:百度文心大模型
  • 🦙 Llama系列:Meta开源大模型

五、使用建议

  1. API密钥获取:前往PH8官网注册账号并获取API密钥
  2. 模型选择:根据具体需求选择合适的模型,不同模型在价格和性能上有所差异
  3. 参数调优:合理设置temperature、max_tokens等参数以获得最佳效果
  4. 错误处理:添加适当的错误处理机制,处理网络异常和API限制
  5. 成本控制:利用PH8的按量计费特性,根据实际使用情况灵活控制成本

结语

PH8大模型开放平台为开发者提供了简单、高效、低成本的大模型调用解决方案。通过兼容OpenAI的接口规范,开发者可以快速迁移现有代码,享受PH8平台带来的性能优势和成本效益。

立即前往PH8官网体验各种主流大模型,开启你的AI应用开发之旅!

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐