教娃编程之: ChatGPT写了一个Python交互程序调用x.ai的Grok大语言模型

in #cn16 days ago

视频:油管/Youtube | B站/小破站 | 微博视频 | 西瓜视频 | 微信视频号 | X/推特 | 小红书

马斯克的x.ai到年底有免费的25美元的credit可以使用Grok大语言模型


前不久(今年初),伊隆·马斯克/Elon Musk的X公司开源了Grok大语言模型,并且给免费提供了25美元的credit可以调用。可以在其官网x.ai注册一个帐号,申请API KEY即可,官网还贴心的的给出了调用的例子。

curl https://api.x.ai/v1/chat/completions -H "Content-Type: application/json" -H "Authorization: Bearer xai-......" -d '{
  "messages": [
    {
      "role": "system",
      "content": "You are a test assistant."
    },
    {
      "role": "user",
      "content": "Testing. Just say hi and hello world and nothing else."
    }
  ],
  "model": "grok-beta",
  "stream": false,
  "temperature": 0
}'

孩子们由于未成年,所以无法申请ChatGPT、X AI等大语言模式的帐号,平时他们只能在免费的微软冰/BING搜索引擎上使用集成的免费Copilot。不过今天听弟弟说,ChatGPT现在已经不需要登陆就可以使用,不过他说这个版本有点受限制。

平均长度来算的话,一句话的Prompt大概是0.0012美元。当然越长的句子花费越贵,毕竟价格是按Token来算的。可以粗略的估计一个单词是一个Token。
目测每条Prompt的费用是0.0012美元,25美元可以使用大概2万次
目测每条Prompt的费用是0.0012美元,25美元可以使用大概2万次

每个帐号有免费的25美元API费用
每个帐号有免费的25美元API费用

X.AI 的API网站界面
X.AI 的API网站界面

API 的 X AI 模型:grok-beta 和 grok-vision-beta
API 的 X AI 模型:grok-beta 和 grok-vision-beta

由 X AI 为 Grok LLM 创建 API 密钥。 Create API Keys for Grok LLM by X AI.
由 X AI 为 Grok LLM 创建 API 密钥。 Create API Keys for Grok LLM by X AI.

ChatGPT写了一个Python交互程序调用x.ai的Grok大语言模型


反正是免费的25美元,于是想着给娃做一个简单的PYTHON程序,然后人机交互,每次调用x.ai的Grok大语言模式,也正好让娃学一学实际的编程应用。于是让ChatGPT写了个程序,这种简单的程序ChatGPT基本上是Bug Free,生成的代码拿来就能用。

import requests
import json

api_key = "x_ai ..."

Define the API endpoint and headers

url = "https://api.x.ai/v1/chat/completions"
headers = {
"Content-Type": "application/json",
f"Authorization": "Bearer {api_key}",
}

Define a system message for context

system_message = {"role": "system", "content": "You are a test assistant."}

print("Welcome to the Grok, an AI chatbot. Type 'bye' to exit.\n")

while True:
# Prompt the user for input
user_input = input("You: ").strip()

# Check if the user wants to exit
if user_input.lower() == "bye":
    print("Goodbye!")
    break

if user_input == "":
    continue

# Define the payload
payload = {
    "messages": [
        system_message,
        {"role": "user", "content": user_input}
    ],
    "model": "grok-beta",
    "stream": False,
    "temperature": 0
}

try:
    # Make the request
    response = requests.post(url, headers=headers, json=payload)

    # Check the response status
    if response.status_code == 200:
        data = response.json()
        assistant_response = data["choices"][0]["message"]["content"]
        print(f"Grok: {assistant_response}\n")
    else:
        print(f"Error: {response.status_code} - {response.text}")
except Exception as e:
    print(f"An error occurred: {e}")

之后 简单做了些修改,比如避免空的Prompt,并且用strip函数去除句首和句尾的空格。娃使用的是Mac苹果电脑,还得在Terminal装个Homebrew,然后安装Python,并且用 pip3 install requests 安装上请求包,就可以使用了。

虽然界面有点素,也就是个简单的终端,但是对于孩子来说已经是个很强大的软件了。
虽然界面有点素,也就是个简单的终端,但是对于孩子来说已经是个很强大的软件了。

弟弟在苹果电脑上成功跑起了x.ai的大语言模式 Grok
弟弟在苹果电脑上成功跑起了x.ai的大语言模式 Grok

英文:ChatGPT writes a Python Script to Interact with Grok LLM from x.ai (Free $25 Credit)

同步到博客

Sort:  

Upvoted! Thank you for supporting witness @jswit.