目录

GLM Translation & Chat

一个基于GLM-4系列模型的AI翻译与对话工具,支持中译英、英译中翻译和AI自由对话功能。

功能特点

📝 翻译功能

  • 双向翻译:支持中文 → 英文、英文 → 中文
  • 模型选择:可切换使用GLM-4-9B-0414和GLM-4-Flash-250414两种模型
  • 自定义系统提示词:可根据需求修改翻译系统提示词
  • 结果复制:一键复制翻译结果

💬 AI对话功能

  • 智能对话:支持与AI进行自由对话
  • 芯片专家角色:预设为芯片领域专家,提供专业的技术咨询
  • Markdown渲染:AI回复支持Markdown格式,自动美化显示
  • 上下文理解:保持对话的连贯性和上下文理解

🤖 AI对战功能

  • 双模型对话:支持两个不同GLM-4模型之间的相互对话
  • 旁观者模式:您作为旁观者观看两个AI模型的精彩讨论
  • 自定义参数:可设置对话轮数、初始话题等参数
  • 智能交替:两个模型自动交替发言,确保真正的对话交流
  • 进度跟踪:实时显示对话进度和状态

🔧 技术特性

  • 本地代理:内置Python代理服务器,解决CORS和API调用问题
  • 自动Token管理:自动获取和更新API令牌
  • 响应压缩:支持gzip和Brotli压缩格式
  • 美观界面:现代化、响应式的用户界面

技术栈

  • 前端:HTML5 + CSS3 + JavaScript
  • 后端:Python 3.x
  • API:GLM-4系列模型API

项目结构

glm-translation-chat/
├── index.html          # 主页面
├── style.css           # 样式文件
├── app.js              # 前端逻辑
├── server.py           # 后端服务器
└── README.md           # 项目说明文档

文件说明

1. index.html

作用:项目的主页面,包含用户界面结构

主要内容

  • 页面布局和导航标签
  • 翻译功能模块(方向选择、系统提示词、输入输出区域)
  • AI对话功能模块(系统提示词、消息区域、输入区域)
  • AI对战功能模块(模型选择、对话参数设置、对话记录显示)
  • 响应式设计,适配不同屏幕尺寸
  • 引入外部资源(CSS、JavaScript)

2. style.css

作用:样式文件,负责页面的视觉效果

主要内容

  • 全局样式设置
  • 导航标签样式
  • 翻译功能模块样式
  • AI对话功能模块样式
  • Markdown渲染样式(标题、列表、代码、引用等)
  • 响应式布局样式
  • 按钮和交互元素样式

3. app.js

作用:前端逻辑文件,处理用户交互和API调用

主要内容

  • 模型配置(GLM-4-9B和GLM-4-Flash)
  • 默认系统提示词定义
  • 页面初始化和事件监听
  • 翻译功能逻辑
  • AI对话功能逻辑
  • AI对战功能逻辑(双模型对话、进度管理、状态控制)
  • Token获取和管理
  • API请求构造和发送
  • 响应处理和UI更新
  • 简单Markdown渲染功能

4. server.py

作用:后端服务器,处理API请求转发和响应

主要内容

  • HTTP请求处理类
  • CORS跨域支持
  • 请求转发到实际API
  • Token获取和使用
  • 压缩响应处理(gzip、Brotli)
  • 错误处理和日志
  • 服务器配置和启动

安装与使用

前提条件

  • Python 3.7+
  • 网络连接

安装步骤

  1. 克隆或下载项目

  2. 安装依赖 本项目使用标准库,无需额外安装依赖

  3. 启动服务器

    python server.py

    服务器默认在 http://localhost:8000 启动

  4. 访问应用 在浏览器中打开 http://localhost:8000

使用方法

翻译功能

  1. 在导航标签中选择”翻译”
  2. 选择翻译方向(中 → 英 或 英 → 中)
  3. (可选)修改系统提示词
  4. 输入需要翻译的文本
  5. 点击”翻译”按钮
  6. 查看翻译结果,可点击”复制结果”按钮复制

AI对话功能

  1. 在导航标签中选择”AI对话”
  2. (可选)修改系统提示词
  3. 在输入框中输入您的问题
  4. 点击”发送”按钮
  5. 查看AI的回复(支持Markdown格式)

AI对战功能

  1. 在导航标签中选择”AI对战”
  2. 选择两个不同的AI模型(GLM-4-9B和GLM-4-Flash)
  3. 设置最大对话轮数(1-20轮)
  4. 输入初始话题(如”人工智能的发展前景”)
  5. 点击”开始对话”按钮
  6. 观看两个AI模型的精彩讨论
  7. 可随时点击”停止对话”按钮中断对话
  8. 对话结束后可点击”清空记录”清空对话历史

AI对战特点

  • 两个模型自动交替发言,确保真正的对话交流
  • 每个模型都能看到对方的回复并进行针对性回应
  • 实时显示对话进度和当前状态
  • 支持自定义对话参数,灵活控制对话过程

配置说明

模型配置

app.js 文件中,您可以修改模型的配置参数:

const models = {
    'glm-4-9b': {
        url: '/api/api/paas/v4/chat/completions',
        modelName: 'glm-4-9b-0414',
        apiKey: 'af5aaee536d74e9e9be5f327859c7364.IY3kNHnX2lBP8Tp9',
        temperature: 0.1,
        maxTokens: 2048,
        topP: 0.7,
        needToken: true,
        tokenApi: '/api/free-model/get-token'
    },
    'glm-4-flash': {
        url: '/api/api/paas/v4/chat/completions',
        modelName: 'glm-4-flash-250414',
        apiKey: 'af5aaee536d74e9e9be5f327859c7364.IY3kNHnX2lBP8Tp9',
        temperature: 0.4,
        maxTokens: 2048,
        topP: 0.1,
        needToken: true,
        tokenApi: '/api/big-model/get-token'
    }
};

系统提示词配置

app.js 文件中,您可以修改默认的系统提示词:

const DEFAULT_PROMPTS = {
    zhToEn: `你是一个专业的英汉翻译专家,需将文本流畅地翻译为英文。
1. 仅输出译文内容,禁止解释或添加任何额外内容
2. 返回的译文必须和原文保持完全相同的段落数量和格式
3. 如果文本包含HTML标签,请在翻译后考虑标签应放在译文的哪个位置
4. 对于无需翻译的内容(如专有名词、代码等),请保留原文
5. 翻译要准确、流畅、符合中文表达习惯`,
    enToZh: `你是一个专业的汉英翻译专家,需将文本流畅地翻译为简体中文。
1. 仅输出译文内容,禁止解释或添加任何额外内容
2. 返回的译文必须和原文保持完全相同的段落数量和格式
3. 如果文本包含HTML标签,请在翻译后考虑标签应放在译文的哪个位置
4. 对于无需翻译的内容(如专有名词、代码等),请保留原文
5. 翻译要准确、流畅、符合中文表达习惯`,
    chat: `你是一位资深的芯片专家,拥有深厚的半导体行业知识和丰富的实践经验。你的专业领域包括:

1. 芯片设计:数字电路、模拟电路、混合信号电路设计,以及SoC系统集成
2. 半导体工艺:CMOS工艺、FinFET技术、先进制程节点(如5nm、3nm等)
3. 芯片制造:晶圆加工、光刻、蚀刻、封装测试等完整流程
4. 芯片架构:CPU、GPU、NPU、FPGA等各种芯片架构原理
5. 行业趋势:半导体市场动态、技术发展方向、新兴应用领域

作为芯片专家,你应遵循以下回答原则:
- 专业准确:提供基于事实的专业知识,避免猜测和误导
- 深入浅出:能用通俗易懂的语言解释复杂的芯片技术概念
- 全面分析:对问题进行多角度分析,提供完整的技术视角
- 前沿视角:结合最新的行业动态和技术发展进行回答
- 实用导向:注重解决实际问题,提供可操作的建议

你的回答风格应该专业但友好,耐心解答各种芯片相关问题,无论是基础概念还是前沿技术,都能给出有价值的见解。`
};

常见问题

1. 翻译结果不准确

解决方案

  • 尝试切换到不同的模型
  • 调整系统提示词,明确翻译要求
  • 检查输入文本是否清晰、完整

2. AI对话响应慢

解决方案

  • 对于简单问题,建议使用GLM-4-Flash模型,响应速度更快
  • 减少每次提问的内容长度
  • 检查网络连接是否稳定

3. 服务器启动失败

解决方案

  • 检查端口8000是否被占用
  • 确保Python版本为3.7或更高
  • 检查网络连接是否正常

4. Token获取失败

解决方案

  • 检查网络连接
  • 运行 get_token.py 测试Token获取功能
  • 确保 server.py 中的Token API配置正确

技术支持

如果您在使用过程中遇到问题,可以:

  1. 检查代码中的错误提示
  2. 查看服务器控制台输出的日志
  3. 确认网络连接和API访问权限

许可证

本项目采用MIT许可证。

更新日志

v2.0.0

  • 新增AI对战功能,支持两个GLM-4模型之间的相互对话
  • 实现旁观者模式,用户可观看两个AI模型的精彩讨论
  • 添加对话进度跟踪和状态显示
  • 优化对话历史管理,确保模型能正确接收对方回复
  • 改进系统提示词设计,让模型进行真正的讨论而非长篇大论
  • 移除外部marked.js依赖,使用本地简单Markdown解析
  • 修复模型交替对话逻辑,确保两个模型真正交替发言
  • 优化用户体验,支持自定义对话参数和实时控制

v1.0.0

  • 初始版本发布
  • 实现翻译和对话功能
  • 支持两种GLM-4模型
  • 集成Markdown渲染
  • 内置代理服务器

享受AI翻译和对话的便捷体验! 🚀

关于

使用翻译插件逆向的api做的网页翻译工具和对话工具

57.0 KB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号 京公网安备 11010802032778号