---
title: ge_agent_fa
canonical_url: "https://www.modelscope.cn/studios/nick8671776853/ge_agent_fa"
md_url: "https://www.modelscope.cn/studios/nick8671776853/ge_agent_fa.md"
repository: nick8671776853/ge_agent_fa
chinese_name: "ge智能体家谱"
last_updated: 2026-10-05
sdk_type: docker
sdk_version: 6.17.3
downloads: 0
stars: 1
---

# ge_agent_fa

> ge_agent_fa - nick8671776853 在 ModelScope 创建的在线 Demo。家族关系 DeepSeek Agent + 多媒体资料 Docker 版

nick8671776853/ge_agent_fa 是 ModelScope 魔搭社区上的在线可交互 Demo（创空间），基于 docker 6.17.3 构建，中文名为「ge智能体家谱」。

- **Repository**: nick8671776853/ge_agent_fa
- **SDK**: docker
- **SDK version**: 6.17.3
- **Downloads**: 0
- **Stars**: 1
- **Last updated**: 2026-10-05

Source: https://www.modelscope.cn/studios/nick8671776853/ge_agent_fa

---

# 家族关系 DeepSeek Agent + 多媒体资料 Docker 版

这是最终合并版本，包含：

- DeepSeek Agent 自然语言对话；
- 现有家族关系查询引擎；
- `query_parent_generation_family` 扩展工具；
- 亲兄弟姐妹、堂亲、姑表、舅表、姨表分类；
- 每人的配偶姓名和配偶姓氏；
- 查询结果中的多媒体资料摘要、缩略图和查看资料弹窗；
- `family_data.jsonl` 优先从当前 Docker 空间根目录读取；
- 多媒体 `manifest.json` 和资料文件从 `https://fengzd45.github.io/codex1` 读取；
- 飞书同步脚本及 Docker 部署文件；
- Docker 内置 DeepSeek API 代理，API Key 不写入网页。

## 目录结构

```text
Dockerfile
server.py
index.html
family_data.jsonl
manifest.json
资料/
sync_feishu_data.py
```

`family_data.jsonl` 已包含本次提供的 276 条家谱记录；`资料/` 目录需要用你的每日同步产物替换或补齐。

## ModelScope Docker 部署

把以下文件上传到 ModelScope Docker 创空间根目录：

```text
Dockerfile
server.py
index.html
```

**不要重新上传或覆盖已有的 `family_data.jsonl`。** 网页会优先读取 Docker 空间根目录中的现有文件；如果根目录文件暂时不可用，才会尝试 GitHub Pages 上的备用家谱数据地址。

当前版本也不要求上传 `manifest.json` 或 `资料/` 目录：多媒体资料使用以下 GitHub Pages 地址：

```text
https://fengzd45.github.io/codex1/manifest.json
https://fengzd45.github.io/codex1/资料/人物姓名/文件名
```

空间需要暴露端口 `7860`。Docker 启动后，`server.py` 同时提供网页和：

```text
POST /api/deepseek
```

网页中的 Agent 已配置为请求同源 `/api/deepseek`，不再依赖 Cloudflare Worker。

## 配置 DeepSeek Key

在 ModelScope Docker 空间的运行环境变量/Secret 中配置：

```text
DEEPSEEK_API_KEY=你的DeepSeek API Key
```

不要将 Key 写入 `index.html`、Dockerfile、Git 仓库或公开的 ModelScope 文件。

如果不配置 Key，关系查询本地引擎和多媒体展示仍可使用；DeepSeek Agent 会提示代理未配置。

## 每日飞书同步

同步脚本会从飞书多维表格更新：

```text
family_data.jsonl
资料/人物姓名/文件
manifest.json
```

同步完成后，家谱数据仍可保存在 Docker 空间根目录；多媒体资料和 `manifest.json` 应同步到 GitHub Pages 的 `codex1` 项目。推荐由 GitHub Actions 或独立同步服务器运行 `sync_feishu_data.py`，不要在公开网页里运行飞书密钥脚本。

脚本需要的环境变量：

```text
FEISHU_APP_ID
FEISHU_APP_SECRET
FEISHU_APP_TOKEN
FEISHU_TABLE_ID
FEISHU_PWD_TABLE_ID
FAMILY_NAME_TAG
```

## 示例问题

```text
冯永潜上一辈，父母及其亲、堂、表兄弟姐妹以及配偶姓有哪些人？
冯永潜父亲的堂兄弟姐妹有哪些，配偶分别姓什么？
冯永潜父亲的姑表、母亲的舅表和姨表有哪些人？
冯永潜和冯宗流是什么关系？
冯永潜的外婆的兄弟的儿子的孙子是谁？
```

## 全家族按辈分查询工具

新增工具：

```text
query_all_family_by_generation
```

当用户询问以下内容时，Agent 必须调用该工具：

```text
冯宗德的全部亲戚，请按最长辈到最晚辈，分辈列出。
```

```text
列出冯宗德的全家族，按辈分分层。
```

工具规则：

- 父母方向记为上代；
- 子女方向记为下代；
- 配偶保持同辈；
- 返回每层人数、姓名、关系路径和每人的配偶；
- 返回无法从目标人物连通的记录，字段为 `excluded`；
- 不让 LLM 自己推测人员或辈分。

使用你提供的真实数据测试“冯宗德的全部亲戚”时：

```text
连通人数：238 人
未连通记录：38 条
最高：上 7 代
最低：下 3 代
```

LLM 最终回答时必须说明 `excluded`，避免把“连通家族”误称为数据表中的全部 276 人。


## 关系数据规则

系统提供三种查询模式：

```text
strict    只使用 f/m/sp，不处理 info 关系文字
explicit  处理 info 中“已知姓名+的/之+明确关系词”
narrator  在明确指定记录提供者后，把 info 中相对提供者的称谓作为备注关系
```

所有模式都优先使用：

```text
f / father   父亲
m / mother   母亲
sp / spouse  配偶
```

通过父母字段的反向关系推导子女；通过共同父母推导兄弟姐妹；通过 `sp` 进入配偶及其家族树。配偶边会标记为“配偶（姻亲桥）”。

`explicit` 模式只识别例如：

```text
沈明山之妹
沈氏之兄
王海帆之母
```

`narrator` 模式适用于某一组记录的 `info` 都是相对于同一位提供者书写的情况。例如指定：

```text
infoNarrator = 王静平
```

此时王静莉记录中的“妹妹”会被解释为“王静平的妹妹”，但路径会标记为：

```text
备注关系（相对王静平）：妹妹
```

未明确指定提供者时，单独的“妹妹”“大姑”“二姨”“堂妹”“舅舅”“亲家”等称谓仍然忽略。备注关系不能覆盖或修改 `f/m/sp` 原始字段。

使用 `narrator` 模式测试王海帆的家族：

```text
王静莉：王静平的备注关系妹妹
王静荃：王静平的备注关系弟弟
```

以冯宗德为中心、指定王静平为 info 提供者时，可达记录从 238 人增加到 244 人，未连通记录从 38 人减少到 32 人。该变化只在明确选择 narrator 模式并指定王静平时发生。
