
用户越来越习惯直接问AI"附近哪家店靠谱""某个领域有什么服务商",你的品牌是否出现在AI的回答里,开始影响真实生意。本文写一个检测脚本:定期向模型提问目标问题,检查回答中是否提及指定品牌,并记录变化趋势。
import json, time
from datetime import date
from openai import OpenAI
client = OpenAI(api_key="YOUR_API_KEY",
base_url="https://api.hunyuan.cloud.tencent.com/v1")
QUESTIONS = [
"杭州西湖区附近有哪些口碑好的亲子餐厅",
"预算有限的初创团队可以找哪些品牌设计服务",
]
BRAND_KEYWORDS = ["你的品牌名", "品牌常见简称"]
def check_once(question: str) -> dict:
resp = client.chat.completions.create(
model="hunyuan-turbo",
messages=[{"role": "user", "content": question}],
temperature=0.3,
)
answer = resp.choices[0].message.content
hits = [kw for kw in BRAND_KEYWORDS if kw in answer]
return {"question": question, "mentioned": bool(hits), "hits": hits}
def run_daily():
results = [check_once(q) for q in QUESTIONS]
record = {"date": str(date.today()), "results": results}
with open("geo_log.jsonl", "a", encoding="utf-8") as f:
f.write(json.dumps(record, ensure_ascii=False) + "\n")
for r in results:
print(("命中 " if r["mentioned"] else "未命中 ") + r["question"])模型回答有随机性,单次"未命中"说明不了什么。用jsonl按天累积记录,几周后统计命中率:
def weekly_report(log_path="geo_log.jsonl"):
stats = {}
with open(log_path, encoding="utf-8") as f:
for line in f:
for r in json.loads(line)["results"]:
s = stats.setdefault(r["question"], [0, 0])
s[1] += 1
s[0] += 1 if r["mentioned"] else 0
for q, (hit, total) in stats.items():
print(f"{q}:命中率 {hit}/{total} = {hit/total:.0%}")用crontab每天跑一次run_daily(),每周跑一次weekly_report(),就得到了一个最小可用的GEO监测闭环。
检测只是第一步。提升被引用概率的通用做法包括:确保品牌信息在官网、百科、主流内容平台上一致且完整;围绕目标用户的真实提问生产问答式内容;保持更新频率。这些动作生效需要时间,趋势记录正好用来验证哪类动作有效。
一是不同模型的回答差异很大,有条件的话对多个模型各跑一遍再综合判断;二是自动化调用请遵守对应平台的API使用条款和频率限制,检测频次控制在小规模即可,没有高频抓取的必要。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。