【Easy-Vibe】【task4】给原型加上 AI 能力
API 基础概念
API 是计算机领域的一个重要抽象概念,我们可以简单理解为:你按对方要求的格式"发一个问题",对方就按同样的格式"回一个结果"。
- 你发出去的内容:通常包括"密钥(API Key)"和"你要生成什么"
- 对方回给你的内容:成功就给结果;失败会告诉你原因(比如"密钥不对""余额不足""参数写错")
具体来说,你需要掌握以下核心要素:
- API Key:你的"通行证",也是"钱包钥匙"。别人拿到它,就可以替你调用接口并产生费用。
- Endpoint(接口路径):API 请求的具体路径,告诉服务器你要访问哪个功能。完整的请求地址通常由"基础 URL + Endpoint路径"构成。例如:
- 文本生成:基础URL (https://api.service.com) + Endpoint (/v1/chat/completions) = 完整URL https://api.service.com/v1/chat/completions
- 图像生成:基础URL (https://api.service.com) + Endpoint (/v1/images/generations) = 完整URL https://api.service.com/v1/images/generations
- 调用/请求:向 AI 服务发送任务并获取结果的过程
- 请求内容:你发给AI的具体内容,比如你想让AI写的文章主题、生成的图片描述等。
- 响应结果:AI处理完后返回给你的内容,比如生成的文章、图片等。
- 错误处理:当出现问题时(如API Key错误、请求太频繁等),知道如何排查解决。
API 安全注意事项
API Key 是你请求 AI 服务的「通行证」,它是一串密码字符串,用于身份验证和计费。
由于 API Key 直接关联账户和费用,务必注意:
绝对不要分享到群聊、截图上传网络或发布在公开论坛 不要硬编码到代码中并提交到 Git 仓库(尤其是公开仓库) 如怀疑 Key
已泄露,立即更换新 Key
接入文本生成 API:DeepSeek
- deepseek API keys https://platform.deepseek.com/api_keys
- deepseek API 调用文档 https://api-docs.deepseek.com/zh-cn/
DeepSeek API 使用与 OpenAI 兼容的 API 格式,通过修改配置,您可以使用 OpenAI SDK 来访问 DeepSeek API,或使用与 OpenAI API 兼容的软件。
| PARAM | VALUE |
|---|---|
| base_url * | https://api.deepseek.com |
| api_key | apply for an API key |
-
出于与 OpenAI 兼容考虑,您也可以将 base_url 设置为 https://api.deepseek.com/v1 来使用,但注意,此处 v1 与模型版本无关。
-
deepseek-chat 和 deepseek-reasoner 对应模型版本不变,为 DeepSeek-V3.2 (128K 上下文长度),与 APP/WEB 版不同。deepseek-chat 对应 DeepSeek-V3.2 的非思考模式,deepseek-reasoner 对应 DeepSeek-V3.2 的思考模式。
curl https://api.deepseek.com/chat/completions
-H "Content-Type: application/json"
-H "Authorization: Bearer ${DEEPSEEK_API_KEY}"
-d '{
"model": "deepseek-chat",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello!"}
],
"stream": false
}'
使用提示词参考如下:
参考这个调用方法,帮我支持文案生成功能,可以基于商品信息点击后生成对应抖音电商文案,多种风格。
以下参考资料:
api key:sk-8573341c39aefa1efe
api 请求参考:
curl \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DEEPSEEK_API_KEY}" \
-d '{
"model": "deepseek-chat",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello!"}
],
"stream": false
}'
接入图像转文字 API:Qwen3 VL
- 硅基流动-模型广场 https://cloud.siliconflow.cn/me/models
- 硅基流动 API https://cloud.siliconflow.cn/me/account/ak
图片转文字 API 参考代码
from openai import OpenAI
from typing import Dict, Any, List
import base64
import os
SILICONFLOW_API_KEY: str = ""
SILICONFLOW_BASE_URL: str = "https://api.siliconflow.cn/v1/"
MODEL_NAME: str = "Qwen/Qwen3-VL-8B-Instruct"
def encode_image(image_path: str) -> str:
with open(image_path, "rb") as image_file:
return base64.b64encode(image_file.read()).decode('utf-8')
def get_vlm_completion(client: OpenAI, messages: List[Dict[str, Any]]) -> str:
response = client.chat.completions.create(
model=MODEL_NAME,
messages=messages,
max_tokens=512,
temperature=0.7,
top_p=0.7,
frequency_penalty=0.5,
stream=False,
n=1
)
return response.choices[0].message.content
def caption_image(image_path: str) -> str:
base64_image = encode_image(image_path)
messages = [
{
"role": "user",
"content": [
{
"type": "text",
"text": "Please describe this image in detail."
},
{
"type": "image_url",
"image_url": {
"url": f"data:image/jpeg;base64,{base64_image}"
}
}
]
}
]
client = OpenAI(
api_key=SILICONFLOW_API_KEY,
base_url=SILICONFLOW_BASE_URL
)
return get_vlm_completion(client, messages)
image_path = "images.jpg"
caption = caption_image(image_path)
提示词
基于下面的图生文接口 API ,帮我们实现将上传的图片,自动生成电商卖点文本、关键词的功能
<此处省略代码,你需要自行粘贴密钥和参考代码>
作业:集成你的第一个 AI 能力
接入 deepseek API

创建商品名称

一键生成文案

接入硅基流动的图生文 API,根据图片生成文案
上传图片

根据图片生成文本
