首页 > 其他分享 >大模型api实战-open.bigmodel.cn

大模型api实战-open.bigmodel.cn

时间:2024-09-07 22:03:21浏览次数:10  
标签:bigmodel None cn assistant tool ChoiceDelta content api role


注册登录后在个人中心的API keys中找到并复制

推荐使用SDK,在虚拟环境安装

pip install zhipuai

编辑python代码访问API获取响应

from zhipuai import ZhipuAI
client = ZhipuAI(api_key="0c6df39e71b0a7340f221fddc1ddb711.au66Z02fXWc7SJBB")
response = client.chat.completions.create(
    model="glm-4-plus",
    messages=[
        {"role": "user",
         "content": "who are you?"}
    ],
    stream=True,
)

for chunk in response:
    print(chunk.choices[0].delta)

运行结果

D:\pythonProject\api\venv\Scripts\python.exe D:\pythonProject\api\bigmodel.py 
ChoiceDelta(content='I', role='assistant', tool_calls=None)
ChoiceDelta(content=' am', role='assistant', tool_calls=None)
ChoiceDelta(content=' an', role='assistant', tool_calls=None)
ChoiceDelta(content=' AI', role='assistant', tool_calls=None)
ChoiceDelta(content=' assistant', role='assistant', tool_calls=None)
ChoiceDelta(content=' named', role='assistant', tool_calls=None)
ChoiceDelta(content=' Chat', role='assistant', tool_calls=None)
ChoiceDelta(content='GL', role='assistant', tool_calls=None)
ChoiceDelta(content='M', role='assistant', tool_calls=None)
ChoiceDelta(content='(', role='assistant', tool_calls=None)
ChoiceDelta(content='智', role='assistant', tool_calls=None)
ChoiceDelta(content='谱', role='assistant', tool_calls=None)
ChoiceDelta(content='清', role='assistant', tool_calls=None)
ChoiceDelta(content='言', role='assistant', tool_calls=None)
ChoiceDelta(content=')', role='assistant', tool_calls=None)
ChoiceDelta(content=',', role='assistant', tool_calls=None)
ChoiceDelta(content=' which', role='assistant', tool_calls=None)
ChoiceDelta(content=' is', role='assistant', tool_calls=None)
ChoiceDelta(content=' developed', role='assistant', tool_calls=None)
ChoiceDelta(content=' based', role='assistant', tool_calls=None)
ChoiceDelta(content=' on', role='assistant', tool_calls=None)
ChoiceDelta(content=' the', role='assistant', tool_calls=None)
ChoiceDelta(content=' language', role='assistant', tool_calls=None)
ChoiceDelta(content=' model', role='assistant', tool_calls=None)
ChoiceDelta(content=' trained', role='assistant', tool_calls=None)
ChoiceDelta(content=' by', role='assistant', tool_calls=None)
ChoiceDelta(content=' Z', role='assistant', tool_calls=None)
ChoiceDelta(content='hip', role='assistant', tool_calls=None)
ChoiceDelta(content='u', role='assistant', tool_calls=None)
ChoiceDelta(content=' AI', role='assistant', tool_calls=None)
ChoiceDelta(content=' in', role='assistant', tool_calls=None)
ChoiceDelta(content=' ', role='assistant', tool_calls=None)
ChoiceDelta(content='202', role='assistant', tool_calls=None)
ChoiceDelta(content='3', role='assistant', tool_calls=None)
ChoiceDelta(content='.', role='assistant', tool_calls=None)
ChoiceDelta(content=' My', role='assistant', tool_calls=None)
ChoiceDelta(content=' job', role='assistant', tool_calls=None)
ChoiceDelta(content=' is', role='assistant', tool_calls=None)
ChoiceDelta(content=' to', role='assistant', tool_calls=None)
ChoiceDelta(content=' provide', role='assistant', tool_calls=None)
ChoiceDelta(content=' appropriate', role='assistant', tool_calls=None)
ChoiceDelta(content=' answers', role='assistant', tool_calls=None)
ChoiceDelta(content=' and', role='assistant', tool_calls=None)
ChoiceDelta(content=' support', role='assistant', tool_calls=None)
ChoiceDelta(content=' to', role='assistant', tool_calls=None)
ChoiceDelta(content=' users', role='assistant', tool_calls=None)
ChoiceDelta(content="'", role='assistant', tool_calls=None)
ChoiceDelta(content=' questions', role='assistant', tool_calls=None)
ChoiceDelta(content=' and', role='assistant', tool_calls=None)
ChoiceDelta(content=' requests', role='assistant', tool_calls=None)
ChoiceDelta(content='.', role='assistant', tool_calls=None)
ChoiceDelta(content='', role='assistant', tool_calls=None)

Process finished with exit code 0

使用第三方框架openai

智谱清言的关于使用第三方架构openai的代码有坑,无法实现正常调用。

关于流式响应和完整响应

流式响应可以实时输出模型生成的文本,具有实时性、减少内存使用、提高用户体验、更快的反馈和可处理无限数据流的特点,在需要快速、实时和高效处理数据的场景中提供了显著的优势。

from zhipuai import ZhipuAI
client = ZhipuAI(api_key="0c6df39e71b0a7340f221fddc1ddb711.au66Z02fXWc7SJBB")
response = client.chat.completions.create(
    model="glm-4-plus",
    messages=[
        {"role": "user",
         "content": "who are you?"}
    ],
    stream=True, # 流式响应
)

for chunk in response:
    print(chunk.choices[0].delta)

为了在pycharm运行框中只显示需要看的content,且遇到空字符再换行,可以将显示部分的代码修改如下

for chunk in response:
    if hasattr(chunk.choices[0].delta, 'content'):
        print(chunk.choices[0].delta.content, end='', flush=True)

通过hasattr函数检查chunk.choices[0].delta是否具有content属性,如果有,则打印该属性的内容。这将确保只有content字段的内容被显示,例如“你好”。如果content属性不存在,循环将跳过打印,继续处理下一个数据块。
在Python中,print 函数有一个参数叫做 end,默认值为 '\n',这表示每个 print 调用后会自动添加一个换行符。你可以将 end 参数设置为空字符串 '',这样 print 就不会在每次调用后添加换行符。

在pycharm中运行流式响应代码时,默认情况下控制台(run结果框)会逐行输出,因为每个print调用都会添加一个换行符。如果你希望内容连续输出而不是分行,可以修改print函数,使其不自动添加换行符。在Python中,print 函数有一个参数叫做 end,默认值为 '\n',这表示每个 print 调用后会自动添加一个换行符。你可以将 end 参数设置为空字符串 '',这样 print 就不会在每次调用后添加换行符。
此外,如果pycharm控制台(run结果框)中输出的文字不换行,可以设置soft wrapt

标签:bigmodel,None,cn,assistant,tool,ChoiceDelta,content,api,role
From: https://www.cnblogs.com/aiparallelworld/p/18402068

相关文章

  • Java 21的Preferences API的笔记
    JavaCoreLibrariesPreferencesAPI多用户环境下,应用程序保存配置参数的一种API,目前支持用户和系统两类配置。在现有的项目中,目前没有使用过本API。ComparingthePreferencesAPItoOtherMechanisms通常,应用的开发者还可以使用PropertiesAPI或者JNDIAPI。UsageNotes......
  • 构建并训练卷积神经网络(CNN)对CIFAR-10数据集进行分类
    深度学习实践:构建并训练卷积神经网络(CNN)对CIFAR-10数据集进行分类引言在计算机视觉领域中,CIFAR-10数据集是一个经典的基准数据集,广泛用于图像分类任务。本文将介绍如何使用PyTorch框架构建一个简单的卷积神经网络(CNN),并在CIFAR-10数据集上进行训练和评估。通过本文,您将了解......
  • Vue3技术分享专栏 - Composition API详解
    引言在上一篇文章中,我们通过一个简单的“HelloWorld”示例介绍了如何使用Vue3和CompositionAPI来创建响应式的组件状态。本文将更深入地探讨CompositionAPI,解释其背后的原理,并提供一些实际的应用案例。CompositionAPI概述CompositionAPI是Vue3中的一个新特性,它为开......
  • 基于mediapipe和pyttsx3技术实现一个姿态识别语音播报器
    系列文章目录第一章Python机器学习入门之mediapipe和pyttsx3的结合使用文章目录系列文章目录前言一、mediapipe和pyttsx3是什么?二、使用步骤1.引入库2.读入数据总结前言在比赛准备时,由于比赛任务要求需要机器人在自主迅游中记录家庭成员的行为动作,并进行语音播报......
  • VUE框架Vue3使用API进行响应式数据判断的解析------VUE框架
    <template></template><script>import{reactive,isRef,ref,isProxy,isReactive,readonly,isReadonly}from'vue';exportdefault{name:"App",setup(){//定义很多个变量//这些变量那些是具有响应式,哪些是没有响......
  • HTML 转 PDF API 接口
    HTML转PDFAPI接口网络工具/文件处理支持网页转PDF高效生成PDF/提供永久链接。1.产品功能超高性能转换效率;支持将传递的HTML转换为PDF,支持转换HTML中的CSS格式;支持传递网站URL,直接转换页面成对应的PDF文件;转换后的PDF提供永久存储文件地址;全接口......
  • 关于ST-CNN的算法详解
    ST-CNN(时空卷积神经网络)是一种结合了时间和空间维度信息处理的深度学习模型,它在多个领域,如交通流量预测、视频分析、动作识别等中都有广泛应用。以下是对ST-CNN算法的详细解析:一、基本概念ST-CNN通过结合卷积神经网络(CNN)和图卷积网络(GCN)的优势,能够同时捕捉数据的空间和时间特......
  • Python贝叶斯卷积神经网络BCNN分类胸部X光图像数据集实例
    分析师:YuanchunNiu在人工智能的诸多领域中,分类技术扮演着核心角色,其应用广泛而深远。无论是在金融风险评估、医疗诊断、安全监控还是日常的交互式服务中,有效的分类算法都是实现智能决策的关键。随着大数据时代的到来,分类算法面临着前所未有的挑战和机遇。一方面,海量的数据为算法提......
  • Python用CNN+LSTM+Attention对新闻文本分类、锂离子电池健康、寿命数据预测
     分析师:WeiqiaoJue在当今的数字化时代,数据的爆炸式增长既带来了机遇,也带来了挑战。如何从海量的数据中高效地提取有价值的信息,并进行准确的分类和预测,成为了众多领域亟待解决的关键问题。本研究通过CNN+LSTM+Attention模型提高新闻文本分类的精确性的案例,结合Attention+CNN+BiLST......
  • 关于卷积神经网络(CNN)的详解
    一、基本概念卷积神经网络(ConvolutionalNeuralNetworks,CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(FeedforwardNeuralNetworks,FNN),是深度学习的代表算法之一。它仿造生物的视觉机制构建,能够进行监督学习和非监督学习,广泛应用于图像识别、视频分析、自然语言处......