深入剖析 LLM 自身无法保证事实准确性的根本原因,展示如何通过 API 接入真实数据源(WHOIS、制裁名单等)构建可信的 KYC 工具。
#ai #kyc #compliance #duediligence #api #llm #fintech #rapidapi
AI 会写代码,但最终结论仍由你负责。
ChatGPT 一个下午就能搭出 KYC 仪表盘。它可以生成 React 组件、SQL schema 和 Swagger 文档,看起来已经达到了生产可用的程度。但如果你问它 fintech-example.io 究竟是合法的支付处理商,还是用于规避制裁的空壳公司,它很可能会信心满满地捏造所有权记录、错误解读域名注册商数据,或者凭空给出一份毫无问题的审查结论。
这正是 AI 无法独自弥合的鸿沟:grounding(事实锚定)。Large Language Model(LLM)是在 token 上进行推理,而不是基于事实真相。一个可靠的尽职调查或合规工具,必须把 LLM 的每个回答都建立在真实、可验证且带有时间戳的数据之上——包括 WHOIS 记录、IP 地理位置、公司注册信息、电子邮件基础设施和制裁名单。
本文将介绍如何使用 Portfolio Investigate API,为你的 AI Agent 提供基于事实的域名档案和合规结论,将原型变成真正值得合规人员信赖的工具。
LLM 本质上是自动补全引擎。它根据训练数据预测接下来应该出现哪些词,而不是查询实时事实。在 KYC 场景中,这会产生三种失败模式:
知识过时——模型权重一旦冻结便不会更新,而一个域名的所有权可能下周就会发生变化。
捏造引用——模型可能会虚构域名注册商名称或公司地址。
关键信号缺失——LLM 本身无法访问 WHOIS 历史记录、IP 地址段或 OFAC 名单。
解决办法并不是放弃 LLM,而是对其加以约束:先为模型提供一个结构化的证据包,再让它基于这些证据完成总结、分类和自然语言问答。
Portfolio Investigate API 返回的正是这样一个证据包。
Portfolio Investigate API 可以通过一次调用生成域名调查报告。它将底层的五个 Portfolio API 聚合为一份统一档案:
WHOIS——注册日期、域名注册商、名称服务器和隐私保护状态。
IP Geolocation——域名实际解析到的位置。
Company——关联的公司实体和注册机构。
Email——邮件服务器信誉和邮件送达能力信号。
Sanctions——与受限制方名单进行交叉核验。
响应中包含一份通俗易懂的结论,以及一个 LLM Ask endpoint。你可以通过它提出后续问题,而回答将基于档案中的事实,而不是来自模型的想象。
先从核心报告开始。API 会返回一份结构化档案,你可以将其存储、展示,或作为上下文传给 LLM。
curl -X GET "https://portfolio-investigate.p.rapidapi.com/investigate/fintech-example.io" \
-H "X-RapidAPI-Key: $RAPIDAPI_KEY" \
-H "X-RapidAPI-Host: portfolio-investigate.p.rapidapi.com"
经过精简的响应可能如下所示:
{
"domain": "fintech-example.io",
"risk_score": 42,
"verdict": "MODERATE RISK",
"summary": "Domain registered 6 months ago via privacy-protected WHOIS. Server hosted in a jurisdiction different from the stated company address. No sanctions matches found.",
"whois": {
"created": "2023-11-14",
"registrar": "NameCheap, Inc.",
"privacy": true,
"name_servers": ["dns1.registrar-servers.com"]
},
"ip_geo": {
"country": "NL",
"asn": "AS49981"
},
"company": {
"name": "Fintech Example B.V.",
"jurisdiction": "Netherlands",
"registry_url": "..."
},
"sanctions": {
"matches": []
}
}
verdict 和 risk_score 可以让你的合规 UI 立即展示风险信号。底层对象则为 LLM 提供了解释原因所需的证据。
你可以在 RapidAPI 上订阅该 API:(参见 RapidAPI)。包含示例和客户端 wrapper 的 GitHub 仓库位于 https://github.com/On13uka/portfolio-api。
下面是一个最小化的 Python 工作流:先获取档案,再通过 LLM Ask endpoint,基于该档案提出一个自然语言问题。
import requests
import os
RAPIDAPI_KEY = os.environ["RAPIDAPI_KEY"]
HOST = "portfolio-investigate.p.rapidapi.com"
BASE = f"https://{HOST}"
headers = {
"X-RapidAPI-Key": RAPIDAPI_KEY,
"X-RapidAPI-Host": HOST,
}
def get_dossier(domain: str) -> dict:
url = f"{BASE}/investigate/{domain}"
r = requests.get(url, headers=headers, timeout=30)
r.raise_for_status()
return r.json()
def ask_about_domain(domain: str, question: str) -> str:
url = f"{BASE}/ask"
payload = {
"domain": domain,
"question": question,
}
r = requests.post(url, json=payload, headers=headers, timeout=60)
r.raise_for_status()
return r.json()["answer"]
# Example usage
domain = "fintech-example.io"
dossier = get_dossier(domain)
print(dossier["verdict"], dossier["risk_score"])
answer = ask_about_domain(
domain,
"Is this domain safe to onboard as a payment partner? List the specific risks."
)
print(answer)
POST /ask endpoint 是安全使用 LLM 的关键。你不是向一个开放模型提出含糊的问题,而是在询问一个已经将档案作为上下文输入的模型。它的回答以 API 刚刚获取的 WHOIS、IP、公司、电子邮件和制裁数据为依据。
你还可以将 API 与编排层结合起来,进一步扩展能力。一个简单的合规 Agent 可以执行以下流程:
接收新的商户申请。
提取其主要域名。
调用 Portfolio Investigate API。
将档案存入审计日志。
如果 risk_score > 70,则标记为需要人工审核。
如果 risk_score <= 70,则使用 POST /ask 生成结构化的判断依据。
def review_merchant(merchant_name: str, domain: str) -> dict:
dossier = get_dossier(domain)
if dossier["risk_score"] > 70:
return {
"decision": "MANUAL_REVIEW",
"reason": f"High risk score: {dossier['risk_score']}",
"evidence": dossier,
}
rationale = ask_about_domain(
domain,
"Write a one-paragraph compliance rationale for approving this merchant."
)
return {
"decision": "AUTO_APPROVED",
"rationale": rationale,
"evidence": dossier,
}
由于档案会被完整保留,每一项自动化决策都可以接受审计。监管机构或内部审核人员可以将判断依据追溯到真实的数据点,而不是一个黑盒模型。
AI 不会替你构建出真正可用的 KYC 工具。它可以搭建 UI 脚手架、起草 prompt,并加快你的迭代速度。但合规中最困难的部分——核实事实、交叉比对记录,以及生成可审计的结论——仍然需要一个可靠的数据层。
Portfolio Investigate API 提供的正是这一数据层。只需一次调用,你就能获得一份统一档案,其中汇集了 WHOIS、IP 地理位置、公司注册信息、电子邮件基础设施和制裁名单的数据。借助 POST /ask endpoint,你可以让 LLM 基于这些证据进行推理,同时避免偏离事实、产生幻觉。
如果你正在构建由 AI 驱动的尽职调查或合规产品,请先做好模型的 grounding。你可以在 RapidAPI 获取该 API(参见 RapidAPI),并在 https://github.com/On13uka/portfolio-api 查看示例代码。
如需采取进一步措施,你可以考虑屏蔽此人和/或举报滥用行为。