Files
ai-dict/README.md
2025-08-23 02:49:29 +08:00

75 lines
4.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# AI 词典 (AI Dictionary)
这是一个基于 Go 语言和大型语言模型 (LLM) API 构建的高性能、专业级实时在线词典。项目旨在提供快速、准确且内容丰富的单词查询体验,其核心能力完全由最先进的 AI 模型驱动。
![项目截图](https://storage.googleapis.com/gemini-prod-us-west1-d50e8804-6f2f/uploads/2024/08/23/project_screenshot.png)
## ✨ 功能特性 (Features)
* **实时 AI 生成**:所有词典数据均由 LLM 实时生成,内容鲜活且丰富。
* **专业级内容**:可提供包含音标、多词性、中英释义及情景例句的专业级词典内容。
* **极致性能优化**
* **毫秒级缓存**:内置内存缓存机制,重复查询的单词可实现瞬时响应。
* **低 Token 消耗**:通过极限压缩的 Prompt Engineering将单次查询的总 Token 消耗稳定在 200 以内,兼顾了速度与成本。
* **智能AI指令**:通过为 AI 注入“编辑判断力”,使其能够返回现代、实用的释义,并自动省略古老或罕见的用法,确保内容的专业性。
* **健壮的输入验证**
* 在前端和后端实施双重验证,限制输入内容的字符长度。
* 有效防止长句或无效输入造成的资源浪费,并引导用户正确使用。
* **优雅的错误处理**:前端代码具备防御性编程能力,即使 AI 返回非预期格式,页面也不会崩溃。
## 🛠️ 技术栈 (Tech Stack)
* **后端 (Backend)**: Go (Golang) `net/http` 标准库
* **前端 (Frontend)**: HTML, CSS, Vanilla JavaScript
* **AI 服务**: 可通过 [OpenRouter](https://openrouter.ai/) 等平台调用任意大语言模型 API
## 🚀 快速开始 (Getting Started)
请按照以下步骤在您的本地计算机上运行本项目。
### 1. 先决条件 (Prerequisites)
确保您的系统已经安装了 [Go 语言](https://go.dev/doc/install) (建议版本 1.18 或以上)。
### 2. 安装与配置 (Installation & Configuration)
1. **获取代码**:
将项目文件(`main.go`, `static/` 文件夹等)放置在您选择的目录中。项目结构如下:
```
/ai-dictionary
├── static/
│ ├── index.html
│ └── app.js
└── main.go
```
2. **获取并设置 API 密钥 (最关键的一步)**:
* 访问 [OpenRouter](https://openrouter.ai/keys) 或其他您选择的 AI 服务商,获取您的 API Key。
* 在main.go中配置url,Api-key以及选用的模型。
* **提示**: 以上设置仅在当前终端会话中有效。要使其永久生效,请将命令添加到您的 shell 配置文件中 (如 `.zshrc` 或 `.bash_profile`)。
### 3. 运行项目 (Running the Application)
1. 打开终端,使用 `cd` 命令进入项目根目录 (`/ai-dictionary`)。
2. 运行以下命令来启动 Go 服务器:
```bash
go run main.go
```
3. 如果一切顺利,您会看到提示 `Server starting on http://localhost:8080`。
4. 打开您的浏览器,访问 [http://localhost:8080](http://localhost:8080) 即可开始使用!
## ⚙️ 核心设计 (Core Design)
本项目成功的关键在于**精准的 Prompt Engineering**和**极致的性能优化**。
* **Prompt 设计**: 我们通过多次迭代,将最初近 300 token 的复杂指令,压缩为约 60 token 的高效指令。通过赋予 AI “词典编辑”的角色,并使用明确的排除指令 (`OMIT archaic...`),我们引导模型在保持简洁的同时,输出高度专业和准确的内容。
* **性能优化**: 通过引入内存缓存,避免了对常用词的重复 API 调用,将响应时间从秒级降低到毫秒级。同时,前端和后端的双重输入验证有效保护了后端的 AI API 不被滥用。
## 🔮 未来展望 (Future Improvements)
* **流式响应 (Streaming)**: 实现打字机效果,进一步提升用户感知速度。
* **持久化缓存**: 使用 Redis 等工具替代内存缓存,使缓存数据在服务器重启后依然有效。
* **用户历史记录**: 增加用户查询历史的功能。
* **单词发音**: 利用文本转语音 (TTS) API增加点击音标即可发音的功能。
* **混合词典模式**: 预先计算 2万个最常用单词并存入本地数据库实现绝大多数查询的“绝对零延迟”。