跳转到主要内容

前提条件

  • MegaLLM API 密钥 (在此获取)
  • 安装 Python 3.7+ 或 Node.js 14+
  • 基本编程知识

步骤 1: 创建项目

  • Python
  • JavaScript
# 创建目录
mkdir my-first-ai-app
cd my-first-ai-app

# 创建虚拟环境
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate

# 安装依赖
pip install openai python-dotenv

步骤 2: 存储 API 密钥

创建 .env 文件:
MEGALLM_API_KEY=your-api-key-here
.env 添加到 .gitignore 以避免提交您的 API 密钥!

步骤 3: 基本请求

  • Python
  • JavaScript
创建 app.py:
import os
from dotenv import load_dotenv
from openai import OpenAI

# 加载环境变量
load_dotenv()

# 初始化客户端
client = OpenAI(
    base_url="https://ai.megallm.io/v1",
    api_key=os.getenv("MEGALLM_API_KEY")
)

# 发起请求
response = client.chat.completions.create(
    model="gpt-4",
    messages=[
        {"role": "user", "content": "什么是 MegaLLM?"}
    ]
)

# 打印响应
print(response.choices[0].message.content)
运行:
python app.py

步骤 4: 添加对话上下文

让我们使其具有对话性:
  • Python
  • JavaScript
import os
from dotenv import load_dotenv
from openai import OpenAI

load_dotenv()

client = OpenAI(
    base_url="https://ai.megallm.io/v1",
    api_key=os.getenv("MEGALLM_API_KEY")
)

# 对话历史
messages = [
    {"role": "system", "content": "你是一个有帮助的助手。"},
    {"role": "user", "content": "什么是 Python?"}
]

# 第一个响应
response = client.chat.completions.create(
    model="gpt-4",
    messages=messages
)

# 添加到历史
assistant_message = response.choices[0].message.content
messages.append({"role": "assistant", "content": assistant_message})
print(f"助手: {assistant_message}\n")

# 后续问题
messages.append({"role": "user", "content": "它的主要特性是什么?"})

response = client.chat.completions.create(
    model="gpt-4",
    messages=messages
)

print(f"助手: {response.choices[0].message.content}")

步骤 5: 尝试不同的模型

通过更改 model 参数来切换模型:
  • Python
  • JavaScript
models = ["gpt-4", "claude-3.5-sonnet", "gemini-2.5-pro"]

for model in models:
    print(f"\n--- 使用 {model} ---")
    response = client.chat.completions.create(
        model=model,
        messages=[
            {"role": "user", "content": "用一句话解释量子计算。"}
        ]
    )
    print(response.choices[0].message.content)

步骤 6: 添加参数

使用参数自定义响应:
response = client.chat.completions.create(
    model="gpt-4",
    messages=[
        {"role": "user", "content": "写一首关于 AI 的短诗"}
    ],
    temperature=0.9,      # 更高 = 更有创意
    max_tokens=100,       # 限制响应长度
    top_p=0.95,          # 核采样
    frequency_penalty=0.5 # 减少重复
)

步骤 7: 错误处理

添加适当的错误处理:
  • Python
  • JavaScript
from openai import OpenAI, AuthenticationError, RateLimitError

try:
    response = client.chat.completions.create(
        model="gpt-4",
        messages=[{"role": "user", "content": "你好!"}]
    )
    print(response.choices[0].message.content)

except AuthenticationError:
    print("❌ API 密钥无效")
except RateLimitError:
    print("❌ 超过速率限制")
except Exception as e:
    print(f"❌ 错误: {e}")

步骤 8: 交互式聊天

构建一个简单的聊天机器人:
  • Python
  • JavaScript
import os
from dotenv import load_dotenv
from openai import OpenAI

load_dotenv()

client = OpenAI(
    base_url="https://ai.megallm.io/v1",
    api_key=os.getenv("MEGALLM_API_KEY")
)

messages = [
    {"role": "system", "content": "你是一个有帮助的助手。"}
]

print("与 AI 聊天 (输入 'quit' 退出)\n")

while True:
    user_input = input("你: ")

    if user_input.lower() == 'quit':
        break

    messages.append({"role": "user", "content": user_input})

    response = client.chat.completions.create(
        model="gpt-4",
        messages=messages
    )

    assistant_message = response.choices[0].message.content
    messages.append({"role": "assistant", "content": assistant_message})

    print(f"AI: {assistant_message}\n")

理解响应

API 返回一个丰富的响应对象:
{
  "id": "chatcmpl-123",
  "object": "chat.completion",
  "created": 1677652288,
  "model": "gpt-4",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "你好!我今天可以如何帮助你?"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 9,
    "completion_tokens": 12,
    "total_tokens": 21
  }
}

下一步

故障排除

确保您已安装 SDK:
pip install openai  # Python
npm install openai  # JavaScript
  • 检查您的 API 密钥是否正确
  • 验证 .env 文件是否在同一目录中
  • 确保您调用了 load_dotenv() (Python) 或 dotenv.config() (JS)
  • 您发起了太多请求
  • 在请求之间添加延迟
  • 考虑升级您的计划
  • 尝试更快的模型,如 gpt-3.5-turbo
  • 减少 max_tokens
  • 使用流式传输以获得更好的用户体验

需要帮助?