z-ai/glm4:latest131,072 Token上下文
代幣兌換
z-ai/glm4:9b一個強大嘅多語言通用語言模型,性能可媲美Llama 3。
從模型到應用
喺 ShareAI 控制台創建一個鑰匙,然後將佢保存為你伺服器嘅環境變量。
創建 API 鑰匙export SHAREAI_API_KEY="your-api-key"用你嘅API密钥喺Authorization標頭入面發送POST請求。
https://api.shareai.now/api/v1/chat/completions呢個標籤嘅端點未被確認。喺發送請求之前,請檢查 API 參考同埋你嘅控制台。.
呢啲例子會用你揀嘅標籤,並顯示佢嘅請求格式。喺你嘅伺服器上運行佢哋,以保持你嘅API密鑰私密。當你發送請求時,會檢查模型嘅可用性同帳戶訪問權限。.
curl --fail-with-body --request POST 'https://api.shareai.now/api/v1/chat/completions' \
--header "Authorization: Bearer ${SHAREAI_API_KEY}" \
--header 'Content-Type: application/json' \
--data-raw '{
"model": "z-ai/glm4:9b",
"messages": [
{
"role": "user",
"content": "Hello!"
}
],
"stream": false
}'import json
import os
import urllib.request
payload = {
"model": "z-ai/glm4:9b",
"messages": [
{
"role": "user",
"content": "Hello!",
},
],
"stream": False,
}
request = urllib.request.Request("https://api.shareai.now/api/v1/chat/completions",
data=json.dumps(payload).encode(),
headers={
"Authorization": f"Bearer {os.environ['SHAREAI_API_KEY']}",
"Content-Type": "application/json",
},
method="POST",
)
with urllib.request.urlopen(request, timeout=180) as response:
print(json.dumps(json.load(response), indent=2))package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
"os"
"time"
)
func main() {
if err := run(); err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(1)
}
}
func run() error {
key := os.Getenv("SHAREAI_API_KEY")
if key == "" { return fmt.Errorf("set SHAREAI_API_KEY") }
body := []byte(`{
"model": "z-ai/glm4:9b",
"messages": [
{
"role": "user",
"content": "Hello!"
}
],
"stream": false
}`)
request, err := http.NewRequest(http.MethodPost, "https://api.shareai.now/api/v1/chat/completions", bytes.NewReader(body))
if err != nil { return err }
request.Header.Set("Authorization", "Bearer " + key)
request.Header.Set("Content-Type", "application/json")
client := &http.Client{Timeout: 180 * time.Second}
response, err := client.Do(request)
if err != nil { return err }
defer response.Body.Close()
if response.StatusCode < 200 || response.StatusCode >= 300 {
detail, _ := io.ReadAll(io.LimitReader(response.Body, 1<<20))
return fmt.Errorf("ShareAI HTTP %d: %s", response.StatusCode, detail)
}
var result any
if err := json.NewDecoder(response.Body).Decode(&result); err != nil { return err }
encoder := json.NewEncoder(os.Stdout)
encoder.SetIndent("", " ")
return encoder.Encode(result)
}儲存為 main.go,然後運行 go run main.go。呢個例子用咗 Go 嘅標準庫。.
喺你嘅 Cargo 項目中,加入呢啲依賴項。將例子儲存為 src/main.rs,然後運行 cargo run。.
cargo add [email protected] --no-default-features --features blocking,json,rustls-tls
cargo add serde_json@1fn main() -> Result<(), Box<dyn std::error::Error>> {
let api_key = std::env::var("SHAREAI_API_KEY")?;
let payload: serde_json::Value = serde_json::from_str(r#"{
"model": "z-ai/glm4:9b",
"messages": [
{
"role": "user",
"content": "Hello!"
}
],
"stream": false
}"#)?;
let client = reqwest::blocking::Client::builder()
.timeout(std::time::Duration::from_secs(180))
.build()?;
let response = client.post(r#"https://api.shareai.now/api/v1/chat/completions"#)
.bearer_auth(api_key)
.json(&payload)
.send()?
.error_for_status()?;
let result: serde_json::Value = response.json()?;
println!("{}", serde_json::to_string_pretty(&result)?);
Ok(())
}const payload = {
"model": "z-ai/glm4:9b",
"messages": [
{
"role": "user",
"content": "Hello!"
}
],
"stream": false
};
const response = await fetch("https://api.shareai.now/api/v1/chat/completions", {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.SHAREAI_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify(payload),
});
if (!response.ok) throw new Error(await response.text());
console.log(JSON.stringify(await response.json(), null, 2));用你嘅Token餘額使用網絡。你賬戶嘅消耗設置決定請求點樣計費。
更多細節
一個強大嘅多語言通用語言模型,性能可媲美Llama 3。
呢個標籤可以通過Token Exchange獲得。你嘅token餘額同帳戶消耗設定會決定你嘅訪問權限同收費情況。請檢查你嘅Console了解餘額同資格。
輸入:文字。輸出:文字。呢啲功能適用於所揀嘅模型標籤。請查閱端點文件了解支援嘅請求格式。
呢個標籤有一個131,072個token嘅上下文窗口。上下文大小同定價門檻係分開嘅。某啲部署嘅請求限制可能會低啲。
喺 ShareAI Console 裏面創建一個 API key,揀一個模型標籤,然後喺快速入門入面向端點發送一個已認證嘅請求。你嘅 key 必須有訪問所揀模型嘅權限。將你嘅 key 保存在你嘅伺服器上。