【AI大模型】通义大模型API接口实现

news2024/11/19 15:18:22

目录

一、基础环境安装

(一)OpenAI Python SDK安装

(二)DashScope SDK安装

二、OPENAI接口实现

(一)文本输入

(二)流式输出

(三)图像输入

(四)联网搜索


一、基础环境安装

(一)OpenAI Python SDK安装

您需要确保已安装Python3.8及以上版本。通过运行以下命令安装或更新OpenAI Python SDK:

 pip install openai(或 pip install -U openai)

如果运行失败,请将pip改为pip3。

(二)DashScope SDK安装

已安装Python3.8及以上版本。请确保安装正确的Python版本。执行以下命令,通过pip安装或更新SDK。

pip install -U dashscope

如果运行失败,请将pip改为pip3。

二、OPENAI接口实现

(一)文本输入

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.getenv("DASHSCOPE_API_KEY"),  # 如果您没有配置环境变量,请在此处用您的API Key进行替换
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",  # 填写DashScope服务的base_url
)
completion = client.chat.completions.create(
    model="qwen-turbo",#通义千问API参考
    messages=[
        {'role': 'system', 'content': 'You are a helpful assistant.'},
        {'role': 'user', 'content': '你是谁?'}],
)

print(completion.model_dump_json())
print(completion.choices[0].message.content)

程序输出:

{"id":"chatcmpl-d0b74e82-548f-92a5-9eb4-d4f01c28d285","choices":[{"finish_reason":"stop","index":0,"logprobs":null,"message":{"content":"我是阿里云开发的一款超大规模语言模型,我叫通义千问。","refusal":null,"role":"assistant","function_call":null,"tool_calls":null}}],"created":1727162660,"model":"qwen-turbo","object":"chat.completion","service_tier":null,"system_fingerprint":null,"usage":{"completion_tokens":17,"prompt_tokens":22,"total_tokens":39,"completion_tokens_details":null}}
我是阿里云开发的一款超大规模语言模型,我叫通义千问。

(二)流式输出

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
    model="qwen-turbo",
    messages=[{'role': 'system', 'content': 'You are a helpful assistant.'},
                {'role': 'user', 'content': '你是谁?'}],
    stream=True,
    stream_options={"include_usage": True}
    )
for chunk in completion:
    print(chunk.choices[0].delta.content)

程序输出:

D:\AI_LLM\Tongyi_LLM\.venv\Scripts\python.exe D:\AI_LLM\Tongyi_LLM\Tonyi_streamOut.py 

我是
阿里
云
开发的一款超大规模语言
模型,我叫通义千问
。

(三)图像输入

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
    model="qwen-vl-plus",
    messages=[
        {
            "role": "user",
            "content": [
            {
                "type": "text",
                "text": "这是什么"
            },
            {
                "type": "image_url",
                "image_url": {
                "url": "https://dashscope.oss-cn-beijing.aliyuncs.com/images/dog_and_girl.jpeg"
                }
            }
            ]
        }
        ]
    )
print(completion.choices[0].message.content)

程序输出:

D:\AI_LLM\Tongyi_LLM\.venv\Scripts\python.exe D:\AI_LLM\Tongyi_LLM\Tongyi_image.py 
这张图片显示了一位女士和一只狗在海滩上互动。她们似乎正在享受彼此的陪伴,狗狗坐在沙滩上伸出爪子与这位女士握手或玩耍。

背景中可以看到海浪拍打着海岸线,并且有日落时分柔和光线照射下的天空。这给人一种宁静而温馨的感觉,可能是在傍晚或者清晨的时候拍摄的照片。这种场景通常象征着友谊、爱以及人与宠物之间的深厚情感连接。

进程已结束,退出代码为 0

(四)联网搜索

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.getenv("DASHSCOPE_API_KEY"), # 如果您没有配置环境变量,请在此处用您的API Key进行替换
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",  # 填写DashScope服务的base_url
)
completion = client.chat.completions.create(
    model="qwen-turbo",
    messages=[
        {'role': 'system', 'content': 'You are a helpful assistant.'},
        {'role': 'user', 'content': '介绍一下明天西安的天气'}],
    extra_body={
        "enable_search": True
    },
    #stream = True,
    #stream_options = {"include_usage": True},
    )
print(completion.choices[0].message.content)
#for chunk in completion:
    #print(chunk.choices[0].delta.content)

程序输出(2024.9.24,西安):

D:\AI_LLM\Tongyi_LLM\.venv\Scripts\python.exe D:\AI_LLM\Tongyi_LLM\Tongyi_Search.py 
根据提供的信息,明天西安的天气预报如下:

- **气温**:最高温度预计在32度左右,最低温度预计在23度左右。

- **天气状况**:全天晴转晴,可能会经历潮湿闷热的天气条件。

基于这些描述,明天在西安进行户外活动时,可以考虑以下几点:

1. **着装**:选择轻薄且吸湿排汗的夏装,尤其是棉麻质地的短打扮,以保持舒适度和透气性。
2. **防晒**:由于是晴天,阳光强烈,应涂抹防晒霜,并佩戴帽子或使用遮阳伞以保护皮肤免受紫外线伤害。
3. **补水**:因为湿度较高且气温较高,容易出汗,所以要记得多喝水,保持水分补充。
4. **适度活动**:虽然天气预报没有特别提及风力或湿度的影响,但考虑到高温和湿度,可能需要调整户外活动的强度和持续时间,避免过度劳累或中暑。

请注意,以上信息是基于历史数据和一般指导原则的概述,实际情况可能会有所变化,特别是在季节转换时期。建议在出行前再次查看最新的天气预报,以获得最准确的信息。

进程已结束,退出代码为 0

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

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

相关文章

Python 字符串的常见方法

Python 字符串的常见方法 字符串是 Python 中非常重要的数据类型之一。在日常编程中,我们经常需要对字符串进行各种操作,比如分割、连接、替换等。Python 提供了丰富的字符串方法,使得这些操作变得简单而高效。本文将详细介绍一些常见的字符…

【Docker】Docker快速入门

Docker学习笔记 一、Docker概述 为什么会出现Docker? 安卓开发流程:apk(java开发的)发布到应用商店,用户安装apk即可使用。 后端开发流程: jar(java开发的)带上环境发布到Docker仓库,用户从Docker仓库拉取镜像并部署。 总结…

关于Python升级以后脚本不能运行的问题

近日将Python从3.11升级到了3.12,然后把几个包例如numpy等也通过pip给upgrade了一下,结果原来运行的好好的脚本,都运行不了了,还出现各种报错。怀疑是自己升级了环境导致的,因此通过搜索引擎检索了一下,有这…

【React】(推荐项目)使用 React、Socket.io、Nodejs、Redux-Toolkit、MongoDB 构建聊天应用程序 (2024)

使用 React、Socket.io、Nodejs、Redux-Toolkit、MongoDB 构建聊天应用程序 (2024) 学习使用 React、Socket.io、Node.js、Redux-Toolkit 和 MongoDB 构建响应式实时消息聊天应用程序。这个项目涵盖了从设置到实施的所有内容,提供了宝贵的见解和实用技能。无论您是…

地平线占用预测 FlashOcc 参考算法-V1.0

1.简介 3D Occupancy Networks 的基本思路是将三维空间划分成体素网格,并对每个网格进行各类感知任务的预测。目前以网格为中心的方法能够预测每个网格单元的占用率、语义类别、未来运动位移和实例信息。3D occupancy 可以对道路障碍物进行更细粒度的划分&#xff…

【Docker】解决Docker Engine stopped

解决Docker Engine stopped 解决Docker Engine stopped1.检查虚拟设置2 安装wslwindows安装wsl 解决Docker Engine stopped 在安装完docker之后不少用户会遇到Docker Engine stopped。下面就下给出解决方法让docker正常运行起来 1.检查虚拟设置 打开任务管理器查看cpu页面&a…

vue-入门速通

setup是最早的生命周期,在vue2里边的data域可以使用this调用setup里面的数据,但是在setup里边不能使用thisvue项目的可执行文件是index,另外运行前端需要npm run vue的三个模块内需要三个不同的结构,里边放置js代码,注…

LED驱动电路

LED驱动电路简介 摘要: LED照明是今年来快速兴起发展的一种新型光源,它的许多良好特点使得它的应用面越来越广。LED的单向导电特性使人一般认为应该用直流驱动,但是对直流恒压和限流的装置在保证比较好的限流特性时,自身功耗是很…

【MySQL 04】数据类型

目录 1.数据类型分类 2.数值类型 2.1 tinyint 类型 2.2 bit类型 2.3 float类型 2.4decimal 3.字符串类型 3.1 char类型 3.2 varchar类型 4.日期和时间类型 6. enum和set类型 6.1.enum和set类型简介: 6.2.enum和set的一般使用方法 6.3.用数字的方式…

Excel的基本应用__1

1. 模拟运算 1.1 单变量求解 1.1.1 步骤 1.1.1 效果 1.2 模拟运算表 1.2.1 步骤 1.2.2 效果 2.选择性粘贴--转至 3. Excel中如何使用和定义名称 使用 相当于全局变量,可以在不同表中调用 3.1名称中使用常量 3.2名称中使用函数 调用 可以在不同的表中调用 3.…

[vulnhub] SickOS1.1

https://www.vulnhub.com/entry/sickos-11,132/ 主机发现端口扫描 探测存活主机,136是靶机,因为靶机是我最后添加的 nmap -sP 192.168.75.0/24 // Starting Nmap 7.93 ( https://nmap.org ) at 2024-09-22 11:36 CST Nmap scan report for 192.168.75.1 …

vue-animate-onscroll动画库(可来回触发动画)

效果展示 ①触发一次动画 触发一次 ②触发多次动画 触发多次 1.什么是vue-animate-onscroll 它是一个 Vue 插件,用于在滚动时触发动画效果。它可以帮助开发者在用户滚动页面时,逐渐展示元素,增强用户体验。基本用法是通过在元素上添加特定的指…

IR21364的代替品SLM21364CF-DG:带过流保护、使能和故障反馈 高压三相半桥驱动芯片 神秘芯片背后的惊人力量

SLM21364CF-DG是一款高压、高速的三相功率MOSFET和IGBT驱动器。采用专有的高压集成电路和锁存免疫CMOS技术,提供可靠的单芯片驱动方案。逻辑输入电平与标准CMOS或LSTTL输出兼容,最低支持3.3V逻辑。通过检测外部电流电阻上电流,过流保护功能能…

nginx如何拦截未经授权的跳转

nginx如何拦截未经授权的跳转 背景准备好一个网站准备好引用网站配置nginx拦截效果 背景 在现实工作中往往有一些企业或人未取得授权但是转载或挂载我们的网址。那么有些要求严格或者有其他原因的情况下不希望这些链接正常访问。所以就有了这样的需求。前提是咱们的网站什么的是…

【深度学习】批量规范化

训练深层神经网络是十分困难的,光是之前简单的模型在简单的数据集上训练都不太轻松。 而批量规范化(batch normalization)是一种流行且有效的技术,可以帮助加快深层网络的收敛速度。 一、训练深层网络 我们回顾一下训练神经网络…

【第十三章:Sentosa_DSML社区版-机器学习之聚类】

目录 13.1 KMeans聚类 13.2 二分KMeans聚类 13.3 高斯混合聚类 13.4 模糊C均值聚类 13.5 Canopy聚类 13.6 Canopy-KMeans聚类 13.7 文档主题生成模型聚类 13.8 谱聚类 【第十三章:Sentosa_DSML社区版-机器学习之聚类】 13.1 KMeans聚类 1.算子介绍 KMeans…

【全新课程】正点原子《ESP32物联网项目实战》培训课程上线!

正点原子《ESP32物联网项目实战》全新培训课程上线啦!正点原子工程师手把手教你学!通过多个项目实战,掌握ESP32物联网项目的开发! 一、课程介绍 本课程围绕物联网实战项目展开教学,内容循序渐进,涵盖了环…

后台管理系统开箱即用的组件库!!【送源码】

今天给大家推荐几款的后台管理系统开箱即用的组件库,基于ElementUI二次封装,开发必备 Headless UI Headless UI 是一款出色的前端组件库,专为与 Tailwind CSS 集成而设计。一组完全无样式、完全可访问的 UI 组件,可以自由的引入…

【Linux】nginx连接前端项目

文章目录 一、项目编译1.编译文件2.dist文件 二、Linux nginx配置三、启动nginx 一、项目编译 1.编译文件 2.dist文件 二、Linux nginx配置 在Xshell软件中,点击CtrlAltF进入文件传输找到地址:/usr/local/nginx/html将dist文件传入 找到nginx.conf&…

考研数据结构——C语言实现冒泡排序

冒泡排序是一种简单的排序算法,它重复地遍历要排序的列表,比较每对相邻元素,并在顺序错误的情况下交换它们。这个过程重复进行,直到没有需要交换的元素,这意味着列表已经排序完成。冒泡排序的名字来源于较小的元素会逐…