我们开发经常遇到 很多商品文章等需要推荐到用户,基于用户的行为特征进行匹配。例如下图数据表,是一些商品数据,每一个商品带着多个维度指标:
然后,我们跟踪和记录用户的行为特征,例如如下图,我们选择一个问题维度问用户,用户回答问题,我们再基于问题和回答得到特征,基于特征来给用户推荐商品:
questions = [
"您网站托管的每月预算是多少?",
"您预计您的网站将有多少流量?(例如,低、中、高)",
"您的网站的主要目的是什么?(例如,博客、电子商务、作品集)",
"您如何评价自己在网站托管和网站管理方面的技术经验?(例如,初学者、中级、高级)",
"24/7客户支持对您有多重要?",
"您是否正在寻找一个提供高性能和速度的托管服务?",
"您是否预计需要根据网站增长情况升级您的托管计划?",
"您是否有地理位置偏好来选择您的服务器位置?",
"您是否在寻找其他功能,例如免费域名注册、电子邮件托管或SSL证书?",
"您之前使用过任何网站托管服务吗?如果有,您喜欢或不喜欢它们的哪些方面?"
]
最后,把问题,用户回答,商品数据3个一起请求大模型/chatgpt,让它基于特征来进行推荐,代码如下:
def recommend_hosting_with_ai(dialog, data_csv):
# Read the CSV data into a string format suitable for the prompt
hosting_data = pd.read_csv(data_csv)
hosting_data_string = hosting_data.to_string(index=False)
# Construct the prompt
prompt = (f"Based on the following user answers:\n{dialog}\n\n"
f"And the following hosting service data:\n{hosting_data_string}\n\n"
"Suggest the best hosting service and return the name, link, and explanation in JSON format.")
# Call the OpenAI API
completion = openai.chat.completions.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": prompt}]
)
return completion.choices[0].message.content
完整项目代码地址: github.com/hassancs91/…
除了直接问用户问题和回答,我们实际工作中很可能是隐形的行为特征,类似用户加购,点击页面,收藏点赞,发表评论等等,我们可以基于这些隐形行为进行特征分析,集合数据交给大模型/chatgpt来进行分析,例如利用posthog就很容易得到用户全面的数据。