尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

2024 年最新 Python 调用 OpenAI 实现问答、图像合成、语音合成等功能详细教程

2024 年最新 Python 调用 OpenAI 实现问答、图像合成、语音合成等功能详细教程 环境安装最先要保证您的计算机之上早已安裝了。您能够从 官方网站去开展下载同时开展安裝到最新版。在开展安裝的这一情况下, 请保证勾选表示 “Add to PATH” 这就是添加环境变量的这一选项, 达到才可以在 cmd 命令行之中直接去使用。安装 库打开命令行或终端窗口安装 库pip install openai教程平台官网http API 调用方式文档文本生成 GPT-4GPT-4 模型概述GPT - 4是个大型多模态模型, 能接受文本或图像输入并输出文本, 因其具备更广泛的一般知识以及先进推理能力, 所以它能解决难题且比以往任何模型都更准确。付费客户可于API中使用GPT - 4。和gpt - 3.5 turbo一样, GPT - 4针对聊天功能优化一番, 而且在使用聊天完井API的传统完井任务里也表现出色。需在我们的文本生成指南中学习怎样去使用GPT - 4。测试案例用以输入的是消息列表, 由聊天模型来进行处理, 输出的则是模型所生成的消息。聊天格式的设计目的在于让多回合对话更为简便, 然而, 对于不存在任何对话的单回合任务而言, 它同样具备实用性。一个聊天完成API调用的例子如下:from openai import OpenAI client OpenAI() response client.chat.completions.create( modelgpt-4, messages[ { role: system, content: You are a helpful assistant.}, { role: user, content: Who won the world series in 2020?}, { role: assistant, content: The Los Angeles Dodgers won the World Series in 2020.}, { role: user, content: Where was it played?} ] ) print(response)数据结构{ choices: [ { finish_reason: stop, index: 0, message: { content: The 2020 World Series was played in Texas at Globe Life Field in Arlington., role: assistant }, logprobs: null } ], created: 1677664795, id: chatcmpl-7QyqpwdfhqwajicIEznoc6Q47XAyW, model: gpt-3.5-turbo-0613, object: chat.completion, usage: { completion_tokens: 17, prompt_tokens: 57, total_tokens: 74 } }图像合成 DALL·EDALL·E 模型概述有着能凭借自然语言描述来创作出逼真之图像与艺术的人工智能系统DALL·E, DALL·e2支持去编辑现有的那种映像, 或者用以创建由用户所提供映像的变体, 而DALL·e3目前具备依据提示来创建拥有特定大小的全新映像这样的功能。测试案例能让您于给定文本提示情形下创建原始图像的是图像生成端点, 在使用DALL·e3时,图像大小存在多种规格, 其大小可以是1024×1024像素, 也可以是1024×1792像素, 还可以是1792×1024像素。默认情形下, 图像借助标准质量予以生成, 然而当运用DALL·e3之际, 可以将质量设定为“hd”用以强化细节。图像呈正方形、具备标准质量, 是生成速度最为快捷的。能够运用DALL·e3一次请求一幅图像, 通过并行请求获取更多, 或者借助带n参数的DALL·e2一次最多请求十幅图像。from openai import OpenAI client OpenAI() response client.images.generate( modeldall-e-3, prompta white siamese cat, size1024x1024, qualitystandard, n1, ) image_url response.data[0].url语音合成 TTSTTS 模型概述能够把文本转变成具有自然发音的口语文本的人工智能模型是TTS, 我们给出了两种不一样的模型变量, 针对实时文本到语音的用例做了优化的是ts - 1, 针对质量做了优化的是ts - 1 - hd, 这些模型能和Audio API里的端点一同予以使用。测试案例语音端点接收三个关键输入, 其中一个是模型, 另一个是应该转换为音频的文本, 还有一个是用于音频生成的语音。简单的请求如下所示:from pathlib import Path from openai import OpenAI client OpenAI() speech_file_path Path(__file__).parent / speech.mp3 response client.audio.speech.create( modeltts-1, voicealloy, inputToday is a wonderful day to build something people love! ) response.stream_to_file(speech_file_path)音色选择去尝试各种各样不同的声音, 像是合金、回声、寓言、缟玛瑙、新星等等, 从中寻找到那一种契合你自身所想要达成的特定语气以及目标听众状况的东西。而当下所呈现出来的这种既定声音, 是专门针对英语这一语言进行优化处理的。语音识别概述它是一个通用的语音识别模型, 是在不同音频的大型数据集上给予训练的那个, 也是一个能够执行多语言语音识别以及语音翻译等等还有语言识别的多任务模型, v2大型模型目前借助我们的API可用于 -1模型名称。当前, 开源的那个版本跟借助我们的API所给出的版本之间不存在差异。可是, 经由我们的API, 我们给出了一个经过优化的推理进程, 这致使借助我们的API去运行之际比对其进行执行要快出许多。测试案例语音识别API把将要去识别的音频文件当作输入, 还把所需的音频转录输出文件格式当作输入。我们当前支持多种输入文件格式, 也支持多种输出文件格式。文件上传目前限定为25mb了支持mp3、mp4、mpeg、mpga、m4a、wav、webm等文件类型的输入。from openai import OpenAI client OpenAI() audio_file open(/path/to/file/audio.mp3, rb) transcription client.audio.transcriptions.create( modelwhisper-1, fileaudio_file ) print(transcription.text)数据结构{ text: Imagine the wildest idea that youve ever had, and youre curious about how it might scale to something thats a 100, a 1,000 times bigger. .... }配置观察 class () 这个类所实现的源码片段, 从中能发现, 对于 以及 而言, 它们会去读取本地环境变量之中的 和 变量。if api_key is None: api_key os.environ.get(OPENAI_API_KEY) if api_key is None: raise OpenAIError( The api_key client option must be set either by passing api_key to the client or by setting the OPENAI_API_KEY environment variable ) self.api_key api_keyif base_url is None: base_url os.environ.get(OPENAI_BASE_URL) if base_url is None: base_url fhttps://api.openai.com/v1加载 .env 环境变量设有一个库, 尽管它也适用于别的编程语言, 这个库的主要作用是, 从.env文件里读取环境变量, 并且把这些变量加载到操作系统的环境变量之中, 从而让应用程序能够轻易地访问这些变量。.env文件是一种纯文本文件, 其里面包含着键值对, 每一个键值对都占据一行, 格式是KEYVALUE。pip install python-dotenv存储敏感信息, 像API密钥、数据库密码等, 于环境变量里, 而非硬编码于代码中, 这是一种良好的安全实践。如此做能减少敏感信息泄露的风险, 因这些值并不存储在代码库内, 也不在部署时暴露出来。于代码里头, 运用 - 库去加载 .env 文件, 进而访问其中存在的环境变量了, 这一般是经由 from 以及 () 函数达成的, 访问环境变量: 在加载.env文件之后, 能够借助 os.(KEY) 的形式去访问环境变量。from dotenv import load_dotenv load_dotenv()图像理解 GPT-4oGPT – 40具备视觉功能, GPT-4 Turbo也具备视觉功能, 这表明这些模型能够接收图像还能回答跟图像相关的问题。在历史方面, 语言模型系统一直受限于那种单一输入形式的文本。模型使用图像主要有两种方式, 一种是传递到图像的链接, 另一种是在请求中直接传递编码的图像, 图像呢可以在用户消息里传递。from openai import OpenAI client OpenAI() response client.chat.completions.create( modelgpt-4o, messages[ { role: user, content: [ { type: text, text: What’s in this image?}, { type: image_url, image_url: { url: https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg, }, }, ], } ], max_tokens300, ) print(response.choices[0])若你于本地存有一张或者一组图像, 那么你能够把它们透过编码的形式传送给模型, 下面呈现着一个实际的例子, 即上传编码的这般图像。import base64 import requests api_key YOUR_OPENAI_API_KEY def encode_image(image_path): with open(image_path, rb) as image_file: return base64.b64encode(image_file.read()).decode(utf-8) image_path path_to_your_image.jpg base64_image encode_image(image_path) headers { Content-Type: application/json, Authorization: fBearer { api_key} } payload { model: gpt-4o, messages: [ { role: user, content: [ { type: text, text: What’s in this image? }, { type: image_url, image_url: { url: fdata:image/jpeg;base64,{ base64_image} } } ] } ], max_tokens: 300 } response requests.post(https://api.openai.com/v1/chat/completions, headersheaders, jsonpayload) print(response.json())
返回列表