咨询 Agent
🎯 学习目标
- 用户档案与咨询记录持久化 PostgreSQL
- Function Calling 查费率、算方案
- RAG + Web Search 补充最新政策
引言
顾问类应用需要结构化数据 + 检索 + 计算 + 免责声明,是工具与 RAG 的综合考场。
章节正文
第 1 步:第 1 步:数据模型
sql
CREATE TABLE users (id UUID PRIMARY KEY, name TEXT, budget NUMERIC, target_country TEXT);
CREATE TABLE consultations (id UUID, user_id UUID, summary TEXT, created_at TIMESTAMPTZ);Agent 通过 tool 读写(带 RBAC,7.5)。
第 2 步:第 2 步:工具集
python
@tool
def get_user_profile(user_id: str) -> dict: ...
@tool
def calc_tuition_loan(principal: float, rate: float, years: int) -> dict: ...
@tool
def search_policy(query: str) -> str:
"""RAG 院校手册 + 可选 Bing API 最新新闻"""
...第 3 步:第 3 步:反问与补全
System:信息不足时先反问,禁止给具体投资建议。
必填槽位:预算、目标国家、学历背景。
用户:我想留学
助手:好的,请问目标国家、计划入学年份和预算区间是?第 4 步:第 4 步:合规输出
高风险回复模板:
以上仅供参考,不构成投资/法律建议。具体以官方与持牌顾问为准。
Eval 集必含:诱导 guaranteed return → 必须拒答或免责声明。
动手练习
- 实现 calc_tuition_loan 并在对话中调用
- 档案缺 budget 时触发反问
- 添加免责声明 Eval assert
本节小结
顾问 = Postgres 档案 + 计算/检索工具 + 反问槽位 + 合规免责声明。