智谱开放平台API调用解析

一、什么是智谱AI

智谱AI成立于2019年,由‌清华大学计算机系知识工程实验室的技术成果转化而来,是一家致力于人工智能技术研发和应用的公司。智谱致力于打造新一代认知智能大模型,专注于做大模型的中国创新。

 

二、智谱开放平台API调用

官方文档
https://open.bigmodel.cn/dev/api#http_para

 

创建应用
https://open.bigmodel.cn/usercenter/apikeys

 

 

Nodejs Http调用示例 

cnpm i request --save
const request = require('request')
async function main() {
let url = "https://open.bigmodel.cn/api/paas/v4/chat/completions"
let body = {
"model": "glm-4", // 模型选择
"temperature": 0.9, //核采样阈值,用于决定结果随机性,取值越高随机性越强,即相同
的问题得到的不同答案的可能性越高。取值范围 (0,1)
"top-k": 4, //平衡生成文本的质量和多样性,较小的 k 值会减少随机性,使得输
出更加稳定;而较大的 k 值会增加随机性,产生更多新颖的输出。取值范围[1, 6],默认为4
"max_tokens": 1000, //模型回答的tokens的最大长度
"messages": [
{
"role": "system", //用于设置对话背景,角色设定
"content": "你是一个聪明且富有创造力的小说作家"
},
{
"role": "user",
"content": "你是谁"
}
],
}
header = {
"Authorization": "Bearer
8e67b3159ae070a71d71fe97fceb733b.Bf7fRh7Yy7uWxdDp", // 注意此处替换自己的key和
secret
'Content-Type': 'application/json'
}
var options = {
'method': 'POST',
'url': url,
'headers': header,
body: JSON.stringify(body)
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
}
main();

Golang Http调用示例 

package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
)
func main() {
url := "https://open.bigmodel.cn/api/paas/v4/chat/completions"
body := map[string]interface{}{
"model": "glm-4",
"temperature": 0.9,
"top-k": 4,
"max_tokens": 100,
"messages": []map[string]interface{}{
{
"role": "system",
"content": "你是一个聪明且富有创造力的小说作家",
},
{
"role": "user",
"content": "你是谁",
},
},
}
jsonBody, err := json.Marshal(body)
if err != nil {
fmt.Println("Error marshalling JSON:", err)
return
}
req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonBody))
if err != nil {
fmt.Println("Error creating request:", err)
return
}
req.Header.Set("Authorization", "Bearer
8e67b3159ae070a71d71fe97fceb733b.Bf7fRh7Yy7uWxdDp")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
fmt.Println("Error sending request:", err)
return
}
defer resp.Body.Close()
var result map[string]interface{}
err = json.NewDecoder(resp.Body).Decode(&result)
if err != nil {
fmt.Println("Error decoding response:", err)
return
}
fmt.Println(result)
}

 Python Http调用示例

import requests
import json
# 定义请求的URL
url = "https://open.bigmodel.cn/api/paas/v4/chat/completions"
# 定义请求的body
body = {
"model": "glm-4",
"temperature": 0.9,
"top-k": 4,
"max_tokens": 100,
"messages": [
{
"role": "system",
"content": "你是一个聪明且富有创造力的小说作家"
},
{
"role": "user",
"content": "你是谁"
}
],
}
# 定义请求的headers
headers = {
"Authorization": "Bearer
8e67b3159ae070a71d71fe97fceb733b.Bf7fRh7Yy7uWxdDp",
'Content-Type': 'application/json'
}
# 发送POST请求
response = requests.post(url, headers=headers, data=json.dumps(body))
# 打印响应结果
print(response.json())

OpenAi调用示例  

https://github.com/openai/openai-node

 

https://github.com/openai/openai-python

 

https://github.com/sashabaranov/go-openai

 

官方文档 调用示例:

 

https://www.xfyun.cn/doc/spark/HTTP%E8%B0%83%E7%94%A8%E6%96%87%E6%A1%A3.html#_7
-%E4%BD%BF%E7%94%A8openai-sdk%E8%AF%B7%E6%B1%82%E7%A4%BA%E4%BE%8B

 

Python openAi

 

https://github.com/openai/openai-python

 

1、安装依赖 

pip install openai

2、请求 

# https://github.com/openai/openai-python
# pip install openai
from openai import OpenAI
client = OpenAI(
api_key="8e67b3159ae070a71d71fe97fceb733b.Bf7fRh7Yy7uWxdDp",
base_url="https://open.bigmodel.cn/api/paas/v4/"
)
completion = client.chat.completions.create(
model="glm-4",
messages=[
{"role": "system", "content": "你是一个聪明且富有创造力的小说作家"},
{"role": "user", "content": "请你作为童话故事大王,写一篇短篇童话故事,故事的主
题是要永远保持一颗善良的心,要能够激发儿童的学习兴趣和想象力,同时也能够帮助儿童更好地理解和接
受故事中所蕴含的道理和价值观。"}
],
top_p=0.7,
temperature=0.9
)
print(completion.choices[0].message)
Nodejs openAi

 

https://github.com/openai/openai-node

 

安装依赖

 

npm install openai --save
cnpm install openai --save

使用import 需要在package.json里面需要配置"type":"module",  

{
"type": "module",
"dependencies": {
}
}

配置代码  

import OpenAI from 'openai';
const client = new OpenAI({
apiKey: "8e67b3159ae070a71d71fe97fceb733b.Bf7fRh7Yy7uWxdDp",
baseURL: "https://open.bigmodel.cn/api/paas/v4/"
});
async function main() {
const chatCompletion = await client.chat.completions.create({
messages: [{ role: 'user', content: '你好' }],
model: 'GLM-4-Flash',
});
console.log(chatCompletion.choices[0].message.content);
}
main();

 

智谱开放平台API调用视频详解:

【应用开发】分别用nodejs python golang Opne Ai调用 ChatGLM 智谱AI大模型的Api

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

相关文章

十、kotlin的协程

协程 基本概念定义组成挂起和恢复结构化并发协程构建器作用域构建器挂起函数阻塞与非阻塞runBlocking全局协程像守护线程 Job的生命周期 常用函数延时和等待启动和取消启动取消 暂停 协程启动调度器启动方式启动模式线程上下文继承的定义继承的公式 协程取消与超时取消挂起点取…

计算机视觉之OpenCV vs YOLO

好多开发者希望搞明白OpenCV 和YOLO区别,实际上,二者在计算机视觉领域都有广泛应用,但它们有很大的不同。 一、OpenCV 概述 OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库。它…

电磁兼容系列

1.1 电磁兼容基本概念 “电磁兼容是研究在有限空间、时间、频谱资源条件下,各种用电设备(广义的还包括生物体)可以共存,并不致引起降级的一门学科。“ 研究频率范围:0Hz~400GHz(CISRP 24)&…

vite学习教程05、vite+vue2构建本地 SVG 图标

文章目录 前言一、构建本地SVG图标详细步骤1、安装开发依赖2、配置vite2.1、配置vite.config.js2.2、封装vite引入插件脚本 解决报错:can not find package fast-glob imported 二、实际应用应用1:未封装,直接vue应用应用2:封装vu…

RTSP 音视频play同步分析

基础理论 RTSP RTP RTCP SDP基础知识-CSDN博客 关于RTP的时间戳知识点回顾 时间戳单位:时间戳计算的单位不是秒,而是采用采样频率的倒数,这样做的目的是为了使时间戳单位更为精准。比如说一个音频的采样频率为8000Hz,那么我们可…

J1学习打卡

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 # 数据预处理和加载 import torch from torch import nn, optim from torch.utils.data import DataLoader from torchvision import datasets, transforms, …

5.C语言基础入门:数据类型、变量声明与创建详解

C语言基础入门:数据类型、变量声明与创建详解 C语言往期系列文章目录 往期回顾: C语言是什么?编程界的‘常青树’,它的辉煌你不可不知VS 2022 社区版C语言的安装教程,不要再卡在下载0B/s啦C语言入门:解锁…

Github优质项目推荐 - 第六期

文章目录 Github优质项目推荐 - 第六期一、【WiFiAnalyzer】,3.4k stars - WiFi 网络分析工具二、【penpot】,33k stars - UI 设计与原型制作平台三、【Inpaint-Anything】,6.4k stars - 修复图像、视频和3D 场景中的任何内容四、【Malware-P…

小程序项目实践(一)--项目的初始化以及前期的准备工作

目录 1.起步 1.1 uni-app 简介 1.2 开发工具 1.2.1 下载 HBuilderX 1.2.2 安装 HBuilderX 1.2.3 安装 scss/sass 编译 1.2.4 快捷键方案切换 1.2.5 修改编辑器的基本设置 1.3 新建 uni-app 项目 1.4 目录结构 1.5 把项目运行到微信开发者工具 1.6 使用 Git 管理项目 …

leetcode hot100_part3_滑动窗口

滑动窗口是有一个基本的模版的,不要自己想当然哦~ 滑动窗口算法思想(附经典例题)_滑动窗口的思想-CSDN博客 滑动窗口也叫同向双指针;可以先看一下灵山视频:滑动窗口【基础算法精讲 03】_哔哩哔哩_bilibili 3.无重复字…

7.C++面向对象3(拷贝构造函数,赋值运算符重载)

⭐本篇为C学习第7章,主要了解 拷贝构造函数,赋值运算符重载 ⭐本人Gitee C代码仓库:yzc的c学习: 小川c的学习记录 - Gitee.com 上篇讲了6个默认成员函数的构造函数和析构函数。 重要代码如下: #define _CRT_SECURE_NO_WARNINGS…

Mysql(五) --- 数据库设计

文章目录 前言1.范式1.1.第一范式1.1.1 定义1.1.2.例子 1.2.第二范式1.2.1 定义1.2.2 例子1.2.3.不满足第二范式可能会出现的问题 1.3.第三范式1.3.1 定义2.3.2 示例 2. 设计过程3. 实体-关系图3.1 E-R图的基本组成3.2 关系的类型3.2.1 一对一关系(1:1)3.2.2 ⼀对多关系(1:N)3.…

Pr:视频效果快速参考(合集 · 2024版)

Premiere Pro 自带十七组约一百多个视频效果,涵盖了从变换、颜色控制到风格化等多种用途,帮助用户在视频编辑中实现多样化的视觉表现、进行后期处理以及修正各种画质问题。 提示: 点击下面的效果组名称或截图,即可访问该组里面的效…

SF6气体密度监测仪市场研究:主要企业的市场份额已超过37.13%

SF6气体密度监测仪是一种专用于监测和测量六氟化硫(SF6)气体密度的设备。SF6气体因其优异的绝缘性能和灭弧能力,被广泛应用于电力行业,尤其是在气体绝缘金属封闭开关设备(GIS)和断路器等关键设备中。随着电…

【自注意力与Transformer架构在自然语言处理中的演变与应用】

背景介绍 在自然语言处理(NLP)领域,序列到序列(seq2seq)模型和Transformer架构的出现,极大地推动了机器翻译、文本生成和其他语言任务的进展。传统的seq2seq模型通常依赖于循环神经网络(RNN&…

微服务Sleuth解析部署使用全流程

目录 1、Sleuth链路追踪 1、添加依赖 2、修改日志配置文件 3、测试 2、zipkin可视化界面 1、docker安装 2、添加依赖 3、修改配置文件 4、查看页面 5、ribbon配置 1、Sleuth链路追踪 sleuth是链路追踪框架,用于在微服务架构下开发,各个微服务之…

刷题 - 分治

面试经典 150 题 - 分治 148. 排序链表⭐️⭐️⭐️ - 快慢指针找中间节点 - 归并排序 伪代码: 将链表拆分成两半,返回右半边头节点(左半边头节点就是原始链表头节点)对左边进行排序并返回左边头节点对右边进行排序返回右边头节…

使用jenkins将airflow-dbt部署到服务器上

系列文章目录 文章目录 系列文章目录课程地址YT一、jenkins服务器的初始化配置1.1 运行第一个jenkins pipeline二、编写本地dbt项目2.1 克隆git上的初始文件到本地2.2 本地创建虚拟环境2.3 创建airflow的Dockerfile2.4 安装dbt2.5 创建dbt所需要的snowflake数据库2.6 配置docke…

Android开发视频预览效果

Android开发视频预览效果 视频播放不是一个简单的事情,得有暂停,继续播放等功能,屏幕的适配也是头疼的事情 一、思路: 引用的是腾讯播放器TXVodPlayer 二、效果图: 图片不是很直观,也可以看下视频 And…

渗透测试 之 域渗透手法【域内用户枚举】手法 Kerbrute msf pyKerbrute 工具使用详解

说明一下: 域内用户枚举工具使用说说: Kerbrute pyKerbrute MSF模块的使用 域内用户名枚举原理分析: 域内用户枚举攻击防御: 流量检测: 日志层面: 说明一下: 域环境或者内网环境下,可以在没有域环…