API 参考
嵌入向量与文本审核
本篇覆盖两个接口:Embeddings 将文本转为语义向量,是语义搜索与 RAG 应用的基础;Moderations 检测文本中的违规内容,用于内容安全。
嵌入向量(Embeddings)
Embeddings 把文本映射为数字向量,向量间的距离反映语义相似度,可用于按含义检索与匹配文本。
支持模型
- 能力说明: 平台提供 /v1/embeddings 端点,具体可用的嵌入模型以模型广场(控制台「模型服务」)在售型号为准。
接口与参数
POST https://api.yomiapi.com/v1/embeddings
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 模型 id(以模型广场在售的嵌入模型为准) |
input | string / array | 是 | 待向量化文本,数组形式支持批量 |
dimensions | integer | 否 | 输出向量维度,仅部分模型支持 |
encoding_format | string | 否 | float 或 base64 |
代码示例
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://api.yomiapi.com/v1"
)
# 单条文本
response = client.embeddings.create(
model="模型广场在售的嵌入模型 id",
input="这家餐厅的菜品很出色,服务也周到"
)
print(len(response.data[0].embedding))
# 批量文本
batch = client.embeddings.create(
model="模型广场在售的嵌入模型 id",
input=["语义搜索", "向量数据库", "检索增强生成"]
)
print(len(batch.data))
应用场景
- 语义搜索: 按含义而非关键词匹配文档。
- RAG 系统: 检索知识库内容增强模型回答,减少幻觉。
- 聚类与分类: 对文本数据分组或打标签。
- 推荐系统: 根据历史行为推荐相似内容。
不同模型产出的向量不可混用:检索库与查询必须使用同一个嵌入模型。中途更换模型需要对全部存量文本重新生成向量。
文本审核(Moderations)
Moderations 检测文本是否包含暴力、色情、仇恨言论、骚扰、自残等违规内容,接口与 OpenAI Moderation 格式兼容。返回结果既有整体判定,也有各类别的置信度分数,便于按业务需要设定阈值。
接口地址
POST https://api.yomiapi.com/v1/moderations
代码示例
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://api.yomiapi.com/v1"
)
response = client.moderations.create(
input="待检测的文本内容"
)
result = response.results[0]
print("是否违规:", result.flagged)
if result.flagged:
print("违规类别:", result.categories)
print("置信度:", result.category_scores)
返回字段
flagged(boolean): 是否判定为违规。categories(object): 各类别的违规判定结果(true/false)。category_scores(object): 各类别的违规置信度分数(0.0 到 1.0)。
应用场景
- UGC 过滤: 自动过滤用户发布的评论、帖子等内容。
- AI 输出监控: 确保模型生成内容符合安全规范。
- 实时聊天监管: 对聊天室、客服会话做实时检测。
使用建议
- 批量优先: Embeddings 支持数组输入,批量处理比逐条请求效率更高。
- 阈值调优: 审核场景建议基于
category_scores自定义阈值,而不是只看flagged,以平衡误杀与漏检。
