# name-agent **Repository Path**: shebaoting/name-agent ## Basic Information - **Project Name**: name-agent - **Description**: name-agent - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-05-21 - **Last Updated**: 2025-05-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 项目名称:AI 名字生成器 **简介:** 本项目是一个基于 AI 的中文名字生成器,可以根据用户指定的姓氏、性别、名字长度和风格生成名字,并能补全名字的详细信息(含义、文化背景、音韵分析等)。 **文件结构:** * main.py: 主程序入口。 * config.py: 配置文件,包含数据库连接信息、AI 模型 API 密钥等。 * db.py: 数据库操作模块。 * ai\_client.py: AI 模型客户端,负责与 AI 模型 API 交互。 * name\_generator.py: 名字生成模块。 * name\_completer.py: 名字详情补全模块。 **依赖:** * Python 3.7+ * aiomysql * openai * aiohttp * python-dotenv * tqdm * requests **安装依赖:** ``` pip install -r requirements.txt ``` (你需要先创建一个 requirements.txt 文件,内容如下): ``` aiomysql openai aiohttp python-dotenv tqdm requests ``` **配置 (.env 文件):** 在项目根目录下创建一个 .env 文件,并配置以下环境变量: ``` # 数据库配置 DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=name DB_USERNAME=root DB_PASSWORD=rootroot # AI 模型配置 # 豆包模型配置 DOUBAO_BASE_URI=https://ark.cn-beijing.volces.com/api/v3 DOUBAO_MODEL=ep-20250131230536-67rwl DOUBAO_API_KEY=your_doubao_api_key # 阿里云模型配置 ALIYUN_MODEL=deepseek-v3 ALIYUN_API_KEY=your_aliyun_api_key # 硅基流动模型配置 SILICONFLOW_BASE_URI=https://api.siliconflow.cn/v1/chat/completions SILICONFLOW_MODEL=deepseek-ai/DeepSeek-V3 SILICONFLOW_API_KEY=your_siliconflow_api_key # DeepSeek 模型配置 DEEPSEEK_API_KEY=your_deepseek_api_key # generate 和 complete 命令使用的 AI 模型 GENERATE_AI_PROVIDER=aliyun # 可选值: doubao, aliyun, siliconflow, deepseek COMPLETE_AI_PROVIDER=doubao # 可选值: doubao, aliyun, siliconflow, deepseek ``` **注意:** 将 your\_doubao\_api\_key、your\_aliyun\_api\_key、 your\_siliconflow\_api\_key和your\_deepseek\_api\_key 替换为你自己的 API 密钥。GENERATE\_AI\_PROVIDER 和 COMPLETE\_AI\_PROVIDER 可以设置为不同的值,以让 generate 和 complete 命令使用不同的 AI 模型。 **用法:** **1. 生成名字 (generate):** * 生成所有姓氏、所有长度、所有风格的名字(默认行为): ``` python main.py generate ``` * 生成李姓的所有名字: ``` python main.py generate --surname 李 ``` * 生成李姓的 2 字名字: ``` python main.py generate --surname 李 --length 2 ``` * 生成李姓的 3 字名字: ``` python main.py generate --surname 李 --length 3 ``` * 重置所有姓氏的 is\_active 状态(重新生成所有姓氏),然后生成王姓的 2 字名字: ``` python main.py generate --reset --surname 王 --length 2 ``` * 生成李姓、2 字、现代风格的名字: ``` python main.py generate --surname 李 --length 2 --style 现代 ``` * 生成王姓、3 字、所有风格的名字: ``` python main.py generate --surname 王 --length 3 ``` * 只生成传统风格的名字 ```` python main.py generate --style 传统 ```` **可用风格选项:** 传统, 现代, 自然, 古典, 神话, 动物, 色彩, 数字, 国际, 诗意 **2. 补全名字详情 (complete):** * 补全所有未补全详情的名字(默认行为): ``` python main.py complete ``` * 补全所有姓“王”且未补全详情的名字: ``` python main.py complete --complete-surname 王 ``` * 补全所有姓“王”、长度为 2 且未补全详情的名字: ``` python main.py complete --complete-surname 王 --complete-length 2 ``` * 补全所有姓“王”、长度为 3、风格为“现代”且未补全详情的名字: ``` python main.py complete --complete-surname 王 --complete-length 3 --complete-style 现代 python main.py complete --start-id 100 # 从 ID 为 100 的记录开始补全 python main.py complete --complete-surname 王 --start-id 50 # 从 ID 为 50 且姓氏为 王 的记录 ``` **其他说明:** * \--reset 参数只对 generate 命令有效。 * generate 命令和 complete 命令可以使用不同的 AI 模型,通过设置环境变量 GENERATE\_AI\_PROVIDER 和 COMPLETE\_AI\_PROVIDER 来实现。 * 如果在生成或者补全的过程中中断了程序,可以再次执行,程序会跳过已经存在或者已经补全的名字。 * complete 命令会持续运行,如果没有更多需要补全的名字,程序将休眠60秒后再次尝试。