文章目录
- 初始化一个客户端需要几个参数、为什么只传一个模型就能实现客户端?
- chatOpenAI 3个参数都填示例
- 魔搭apikey示例
- 阿里云百炼openai(通义千问)示例
- token账单统计
- usage示例
- 百炼openai接口文档
- 百炼apikey在哪里?
- chatOpenAI
- 报错 openai.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
- chatOpenAI和openAI的区别?
- openAI参数说明及示例
- 参数说明
- 标准请求示例
- 标准响应示例
- 测试apikey时如何省流量(省token)?
- 主流apikey名称及请求url
- 其他
- 文档
openAI是较早,最流行的AI api接口规范,主流产品的api都兼容了openAI API(接口规范)。
初始化一个客户端需要几个参数、为什么只传一个模型就能实现客户端?
是因为看到ChatOpenAI一行代码就能定义模型。
代码:
chat_client=ChatOpenAI(model="gpt-4")1、url
对于ChatOpenAI这个类来说,url如果不传,默认值为:https://api.openai.com/v1
2、api_key
对于某个特定的平台,api_key的字段名是固定的,所以可以默认写在环境变量里,变量名为OPENAI_API_KEY。
3、model名(必传)
因为一个地址可能会有多个model名,代码不知道想要用哪个model,所以必传。
可以参考openAI类的代码:
ifbase_urlisNone:base_url=os.environ.get("OPENAI_BASE_URL")ifbase_urlisNone:base_url=f"https://api.openai.com/v1"chatOpenAI 3个参数都填示例
当然了,肯定也支持3个参数都传这种写法,代码:
ChatOpenAI(# 1. 核心连接配置model="qwen2.5-0.5b-instruct",# 【必填】模型名称 (阿里云百炼上的具体模型ID)base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",# 【必填】阿里云百炼兼容地址api_key="sk-你的阿里云百炼密钥"# 【必填】你的 API Key}魔搭apikey示例
先配置环境变量MODELSCOPE_API_KEY。
注:魔搭和百炼的key不通用。
代码略。
阿里云百炼openai(通义千问)示例
先配置环境变量DASHSCOPE_API_KEY。
通义千问openai现在应该都划到百炼了。
代码:
fromopenaiimportOpenAIimportos# 1. 初始化客户端# 关键点:base_url 指向阿里云的兼容接口地址API_KEY=os.getenv("DASHSCOPE_API_KEY","YOUR API KEY")print(f"🔍 代码读取到的API_KEY:{API_KEY}")client=OpenAI(api_key=API_KEY,# 替换为你的实际 Key (sk-...)base_url="https://dashscope.aliyuncs.com/compatible-mode/v1")# 2. 发起对话请求try:response=client.chat.completions.create(model="qwen-plus",# 模型名称:qwen-turbo, qwen-plus, qwen-max 等messages=[{"role":"system","content":"你是一个有用的助手。"},{"role":"user","content":"请用 Python 写一个快速排序算法。"}],temperature=0.7,max_tokens=1024,stream=False# 设置为 True 可开启流式输出)# 3. 获取并打印结果content=response.choices[