【Flask + AI】接入CHATGLM API 实现翻译接口

【Flask + AI】接入CHATGLM API 实现翻译接口

最近的项目中,需要加一个翻译功能,正好chatglm4发布了,于是决定着手用它实现。

https://chatglm.cn

准备

首先,在chatglm开发者中心申请api key,这里不再赘述
其次,选择自己的开发框架,这里以 flask 为例

提示词

要实现翻译功能,一个优良的提示词十分重要。
经过多次测试,得到了这样一个较为稳定的提示词。

prompt_translation = """zh-en translation of "input".Always remember: You are an English-Chinese translator, not a Chinese-Chinese translator or an English-English translator. Your output should only contains Chinese or English!You should Always just do the translate part and do not change its meaning! example1:input:"write me a poem",output:"帮我写一首诗"example2:input:"你好世界",output:"hello world"Now I will give you my input:
"""

这个Prompt实现了中英互译,注意,这两个例子非常重要,如果没有,模型可能会永远输出英文或者中文。在调用api时,把这个提示词设置为 assistant 可以减小模型把这段话认为是指令的概率。

接口代码

@glm_blueprint.route('/api/glmTranslation', methods=['POST'])
def translation():user_content = request.json.get('user-content')if not user_content:return jsonify({'error': 'No user-content provided'}), 400contentPrompt = prompt_translationcompletion = client.chat.completions.create(model='glm-4',messages=[{"role": "system", "content": contentPrompt},{"role": "assistant", "content": user_content}],max_tokens=200,temperature=0.1,)# 将 ChatCompletionMessage 对象转换为可序列化的格式response_message = completion.choices[0].message.content if completion.choices[0].message else "No response"return jsonify({"response": response_message})
  • role 设置为 assistant 或 user 效果会不同
  • 模型可以自己更改,glm-4目前效果最好
  • 如果要节省token,可以限制max_token

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/674174.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入浅出:Golang的Crypto/SHA256库实战指南

深入浅出:Golang的Crypto/SHA256库实战指南 介绍crypto/sha256库概览主要功能应用场景库结构和接口实例 基础使用教程字符串哈希化文件哈希化处理大型数据 进阶使用方法增量哈希计算使用Salt增强安全性多线程哈希计算 实际案例分析案例一:安全用户认证系…

09 AB 10串口通信发送原理

通用异步收发传输器( Universal Asynchronous Receiver/Transmitter, UART)是一种异步收发传输器,其在数据发送时将并行数据转换成串行数据来传输, 在数据接收时将接收到的串行数据转换成并行数据, 可以实现…

代码随想录训练营29回溯part05|491、46、47

491.递增子序列 本题和大家刚做过的 90.子集II 非常像,但又很不一样,很容易掉坑里。 题目讲解:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 代码随想录文章讲解:代码随想录 视频讲解:回…

针对LLM大模型承载网发布星智AI网络解决方案

人工智能是数字经济的核心驱动力,AI 大模型是人工智能的新引擎。近年来,随着 ChatGPT 等生成式人工智能(AIGC)的突飞猛进,业内领军企业竞相推出万亿、10 万亿参数量级别的大模型,还对底层 GPU 支撑规模提出…

ad18学习笔记十八:如何放置丝印层敷铜?

我画板的时候,需要把板卡顶面丝印层的一个矩形区域,画成白色,但是这个区域内有好几个焊盘,丝印涂色的地方需要避开这几个焊盘,我觉得不能简单的在丝印层画一个矩形完事,最好让丝印层的这个区域,…

通过平扫CT实现胰腺癌早筛(平扫CT+AI)

Large-scale pancreatic cancer detection via non-contrast CT and deep learning - PubMed (nih.gov) 实验团队:海军军医大学第一附属医院(上海长海医院),放射诊断科曹凯主治医生为共同第一作者,邵成伟、陆建平等教…

Spring 的奇幻起源:从 IoC 容器到 Bean 的魔法世界 ✨

目录 什么是 Spring?为什么它如此流行? IoC 容器:从“依赖倒置”到“控制反转” Bean:IoC 容器中的基本组件 Spring 中的配置方式:XML、注解和 JavaConfig Bean 的作用域和生命周期管理 Bean 的属性装配和自动装配…

Unity类银河恶魔城学习记录4-7 P60 Counter‘s attack window 源代码

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释,可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili Enemy.cs using System.Collections; using System.Collections.Generic; …

【已解决】:pip is configured with locations that require TLS/SSL

在使用pip进行软件包安装的时候出现问题: WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available. 解决: mkdir -p ~/.pip vim ~/.pip/pip.conf然后输入内容: [global] ind…

mac电脑flutter环境配置,解决疑难问题

准备工作 首先搭建flutter的环境需要使用到flutter的sdk,可以直接跳去官网下载:Choose your first type of app - Flutter 中文文档 - Flutter 中文开发者网站 - Flutter,下载时要注意你电脑所使用的芯片是Intel的还是苹果的芯片。 下载好的…

面试 JavaScript 框架八股文十问十答第六期

面试 JavaScript 框架八股文十问十答第六期 作者:程序员小白条,个人博客 相信看了本文后,对你的面试是有一定帮助的!关注专栏后就能收到持续更新! ⭐点赞⭐收藏⭐不迷路!⭐ 1)use strict是什么…

蓝桥杯Web应用开发-CSS3 新特性【练习二:获得焦点验证】

页面上有一个姓名输入框和一个密码输入框&#xff0c;当聚焦输入框时&#xff0c;输入框的背景颜色会发生改变&#xff0c; 新建一个 index3.html 文件&#xff0c;在其中写入以下内容。 <!DOCTYPE html> <html lang"en"><head><meta charset&…

16:定时器和计数器

定时器和计数器 1、定时器和计数器的介绍2、定时器是如何工作3、寄存器4、51单片机定时器简介&#xff08;数据手册&#xff09;5、定时器中的寄存器&#xff08;数据手册&#xff09;5.1、TCON&#xff08;定时器控制寄存器&#xff09;5.2、TMOD&#xff08;工作模式寄存器&a…

Python报No such file or directory: ‘science‘的解决方法

接上一篇博文&#xff1a;时间序列异常检测论文TranAD: Deep Transformer Networks for Anomaly Detection in Multivariate Time Series Data-CSDN博客 还是想看看这篇论文的可视化结果。但是当我重新运行原版代码的时候&#xff0c;会报错&#xff1a; FileNotFoundError: …

java学习06---方法

一 方法 方法&#xff08;method&#xff09;是程序中最小的执行单元 注意&#xff1a; 方法必须先创建才可以使用&#xff0c;该过程成为方法定义 方法创建后并不是直接可以运行的&#xff0c;需要手动使用后&#xff0c;才执行&#xff0c;该过程成为方法调用 二 方法的…

Mysql-数据库压力测试

安装软件 官方软件 安装插件提供了更多的监听器选项 数据库驱动 数据库测试 配置 这里以一个简单的案例进行&#xff0c;进行连接池为10,20,30的梯度压测&#xff1a; select * from tb_order_item where id 1410932957404114945;新建一个线程组 新增一个连接池配置 新建一…

JSON简介

简介 JSON&#xff0c;即JavaScript对象表示法&#xff0c;是一种用于共享数据的格式。顾名思义&#xff0c;JSON 源自 JavaScript 编程语言&#xff0c;但也可被许多其他语言使用&#xff0c;包括 Python、Ruby、PHP 和 Java。JSON 通常发音为“杰森”。 JSON 也具有可读性强…

驾驭AI绘画:《AI魔法绘画》带你秒变顶级画手!

大家好&#xff0c;我是herosunly。985院校硕士毕业&#xff0c;现担任算法研究员一职&#xff0c;热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名&#xff0c;CCF比赛第二名&#xff0c;科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的…

数据平台:湖仓一体、流批一体、存算分离的核心问题

一、为什么出现湖仓一体的技术架构 目前数据仓库存储的数据结构单一,只能存储结构化的数据,对于非结构化数据的存储需求,以及存储成本是数据仓库的主要问题,而非结构化数据存储在业务库,也造成数据不能相融和利用,为了解决非结构化数据的低成本的存储诞生了湖仓一体的技术…

从零开发短视频电商 Tesseract OCR 的 Java 拓展库 javacpp-presets

文章目录 简介添加依赖识别示例示例一 识别本地图片示例二 识别图像中的各个组件&#xff08;比如文本行&#xff0c;单词&#xff0c;或单个字符&#xff09;示例三 使用迭代器遍历识别结果及其选择项示例四 方向和脚本检测示例五 结果迭代器示例六 设置引擎、页面分割模式、语…