wordpress 4 下载,郑州网站优化服务,网站开发线框,怎么做网站后台界面1OpenAI 的 API 介绍
1.1 api分类
常用的 OpenAI Api 接口总共分为 4 类#xff1a;对话类、私有化模型训练类、通用类、图片 音频类#xff0c;其中对话类与私有化模型训练类是最常用的。
a .对话类 这类是最常用也是最核心的接口#xff0c;用于人机对话。对话类…1OpenAI 的 API 介绍
1.1 api分类
常用的 OpenAI Api 接口总共分为 4 类对话类、私有化模型训练类、通用类、图片 音频类其中对话类与私有化模型训练类是最常用的。
a .对话类 这类是最常用也是最核心的接口用于人机对话。对话类接口又细分为Chat、Completions。Chat 是指多轮对话Completions 是指单轮对话主要用于一次性生成一篇文章等不具备多次对话交互的能力。
b.私有化模型构建类
这类是用于构建私有化模型的相关接口。私有化模型构建分为两种方式Embeddings、Fine-tunes。
c.通用类
获取模型列表、详情、上传文件等接口。
d.图片 音频类
文本转语音、文生图等接口。
官方文档 https://platform.openai.com/docs/api-reference/chat/create
1.2 role简绍
role 字段用来定义消息的发送者角色具体包括三种选择system、user、和 assistant。
system系统:通常用于设置聊天的上下文或者提供系统级别的指示和配置信息。 user用户:代表实际的用户输入即用户向聊天系统提出的问题或者发起的对话内容。 assistant助手:代表智能助手的回复或者动作是模型根据用户输入给出的响应。
1.3 调用样例
from openai import OpenAI
client OpenAI()completion client.chat.completions.create(modelgpt-4o-mini-2024-07-18,messages[{role: system, content: You are a helpful assistant.},{role: user, content: Hello!}]
)print(completion.choices[0].message)
1.4 部分接口说明
https://api.openai.com/v1/audio/speech 将音频转换为文本或将文本转换为音频。
https://api.openai.com/v1/chat/completions 给定一个包含对话的消息列表模型将返回一个响应。
https://api.openai.com/v1/embeddings 获取给定输入的向量表示形式机器学习模型和算法可以轻松使用该向量表示。
https://api.openai.com/v1/fine_tuning/jobs 管理微调作业以根据特定训练数据定制模型。
https://api.openai.com/v1/images/generations 给定提示和/或输入图像模型将生成新图像。
2 OhMyGPT介绍
2.1 OhMyGPT的核心是利用了OpenAI的API接口特别是其强大的自然语言处理模型ChatGPT。提供各种当下流行功能强大的生成式AI服务。
项目网址 https://www.ohmygpt.com
镜像网址
https://x.dogenet.win
https://aigptx.top
https://textai.buzz
2.2 项目优点
a.可以让你便捷地无限量访问GPT-3.5-turbo、GPT-3.5-turbo-16k、GPT-4、GPT-4-32k、DALL-E、whisper、MidJourney等先进的AI模型。
b.同时提供兼容API调用目前已接入并可提供OpenAI的Completions、Chat、Images、Audio以及Embeddings接口以及MidJourney的图像AI能力。
2.3 使用-支持三种登陆方式 github goole | 邮箱
a.获取api密钥
![外链图片转存失败,源站
b.支持的Models/Services
c.关于OpenAI兼容API接口说明
提供了完全兼容OpenAI API格式的文档只需登录到OhMyGPT后打开设置界面点击创建一个API密钥然后将OpenAI的原始API域名或API URL替换为本站的API密钥也替换成本站的就OK了。
API端点列表
美国主站直连 稳定、部分地区不可用 https://api.ohmygpt.com
Cloudflare CDN 稳定、全球加速 https://cfcus02.opapi.win
Cloudflare Worker 稳定、全球加速 https://cfwus02.opapi.win
优质线路反代1 优质线路、不保证可用性 https://aigptx.top
优质线路反代2 优质线路、不保证可用性 https://cn2us02.opapi.win
本站已兼容OpenAI提供的以下接口能力
Audio
Chat
Completions
Embeddings
Images
Moderations
2.4 api接入使用
OpenAI的Audio、Chat、Completions、Embeddings、Images、Moderations接口均已支持路径、参数和OpenAI的保持一致这里仅列出一些平台自定义且公开的API文档
在实际使用中您只需要从下方的API端点中选择一个作为基础URL替换掉https://api.openai.com或者在后面拼接一下文档中的路径即可。
headers {Content-Type: application/json,Authorization: fBearer {api_key}
}
def chat(messages):request_body {model: gpt-3.5-turbo-1106,messages: messages,temperature: 0}logger.info(gpt请求参数{}.format(json.dumps(request_body, ensure_asciiFalse, indent4)))response requests.post(urlhttps://cn2us02.opapi.win/v1/chat/completions, headersheaders, jsonrequest_body)print(response)logger.info(gpt请求结果{}.format(json.dumps(response.json(), ensure_asciiFalse, indent4)))return responseif __name__ __main__:responsechat([{role: user, content: 你现在是一名优秀的大数据开发工程师精通hive、spark等sql语法请帮我分析一下这个sql语句并给出优化建议如果sql语句有错误请给出错误提示。\n\nselect count(1) from dm_user_login_log where dt2023-01-01 and user_id100000000000000000 and login_type1 andlogin_status1 and login_time between 2023-0}])reply_content response.json()[choices][0][message][content]logging.info(sql优化结果{}.format(reply_content))INFO - gpt请求参数{model: gpt-3.5-turbo-1106,messages: [{role: user,content: 你现在是一名优秀的大数据开发工程师精通hive、spark等sql语法请帮我分析一下这个sql语句并给出优化建议如果sql语句有错误请给出错误提示。\n\nselect count(1) from dm_user_login_log where dt2023-01-01 and user_id100000000000000000 and login_type1 andlogin_status1 and login_time between 2023-0}],temperature: 0
}
2024-06-30 16:08:22,154 - DEBUG - Starting new HTTPS connection (1): cn2us02.opapi.win:443
2024-06-30 16:08:25,557 - DEBUG - https://cn2us02.opapi.win:443 POST /v1/chat/completions HTTP/1.1 200 1228
2024-06-30 16:08:25,558 - INFO - gpt请求结果{id: chatcmpl-9fjtemnKAy0aXVDVVh3Upa82aHuo3,object: chat.completion,created: 1719734902,model: gpt-3.5-turbo-1106,choices: [{index: 0,message: {role: assistant,content: 1-01 00:00:00 and 2023-01-01 23:59:59;\n\n这个SQL语句的目的是统计在2023年1月1日用户ID为100000000000000000的用户登录类型为1且登录状态为1的登录次数。\n\n优化建议\n1. 索引优化确保dm_user_login_log表中dt、user_id、login_type、login_status、login_time字段都有合适的索引以加快查询速度。\n2. 时间范围优化可以考虑将login_time字段的时间范围查询改为大于等于2023-01-01 00:00:00且小于等于2023-01-01 23:59:59这样可以避免使用between语句提高查询效率。\n3. 数据分区优化如果dm_user_login_log表按照日期进行了分区可以根据分区字段dt进行分区查询以减少扫描的数据量。\n\n错误提示\n在SQL语句中andlogin_status应该为and login_status即在login_status字段和条件之间应该有一个空格。},logprobs: null,finish_reason: stop}],usage: {prompt_tokens: 123,completion_tokens: 297,total_tokens: 420},system_fingerprint: fp_44132a4de3
}
2024-06-30 16:08:25,558 - INFO - sql优化结果1-01 00:00:00 and 2023-01-01 23:59:59;这个SQL语句的目的是统计在2023年1月1日用户ID为100000000000000000的用户登录类型为1且登录状态为1的登录次数。优化建议
1. 索引优化确保dm_user_login_log表中dt、user_id、login_type、login_status、login_time字段都有合适的索引以加快查询速度。
2. 时间范围优化可以考虑将login_time字段的时间范围查询改为大于等于2023-01-01 00:00:00且小于等于2023-01-01 23:59:59这样可以避免使用between语句提高查询效率。
3. 数据分区优化如果dm_user_login_log表按照日期进行了分区可以根据分区字段dt进行分区查询以减少扫描的数据量。错误提示
在SQL语句中andlogin_status应该为and login_status即在login_status字段和条件之间应该有一个空格。def tts(messages):request_body {model: tts-1,input: messages,voice: alloy,response_format: mp3,speed: 1,temperature: 0}logging.info(tts请求参数{}.format(json.dumps(request_body, ensure_asciiFalse, indent4)))response requests.post(urlhttps://cn2us02.opapi.win/v1/audio/speech, headersheaders, jsonrequest_body)return response.contentdef images(prompt):request_body {model: dall-e-2,prompt: prompt,integer: 1,size: 256x256}logging.info(tts请求参数{}.format(json.dumps(request_body, ensure_asciiFalse, indent4)))response requests.post(urlhttps://cn2us02.opapi.win/v1/images/generations, headersheaders, jsonrequest_body)return response.content2.5 chatgpt部分参数解释
messages-输入给模型的对话上下文数组中的每个对象为聊天的上下文信息
model-要使用的模型的 ID
frequency_penalty-介于 -2.0 和 2.0 之间的数字。到目前为止正值会根据新标记在文本中的现有频率来惩罚新标记从而降低模型逐字重复同一行的可能性。
logit_bias-修改指定标记在完成中出现的可能性。
logprobs-是否返回输出令牌的对数概率
top_logprobs-一个介于 0 和 20 之间的整数指定在每个令牌位置最有可能返回的令牌数每个令牌都有一个关联的对数概率。 logprobs true 如果使用此参数则必须设置为。
max_tokens-聊天完成时可以生成的最大令牌数。
presence_penalty-介于 -2.0 和 2.0 之间的数字。正值会根据新标记到目前为止是否出现在文本中来惩罚它们从而增加了模型谈论新主题的可能性。
response_format-指定模型必须输出的格式
temperature-用于控制随机性和多样性的程度,介于 0 和 2 之间。较高的值如 0.8将使输出更加随机而较低的值如 0.2将使其更具集中性和确定性。