当前位置: 首页 > news >正文

AGI大模型(4):编程调用 OpenAI API

1 代码演示

官⽅⽂档:https://platform.openai.com/docs/api-reference

1.1 安装模块

# Mac电脑把pip换成pip3
pip install openai
pip install python-dotenv

1.2 示例代码

from openai import OpenAI
from dotenv import load_dotenv
load_dotenv()
# 初始化 OpenAI 服务。
client = OpenAI()
# 消息格式
messages = [
 {
 "role": "system",
 "content": "你是AI助⼿⼩于,是⼤模型课堂的助教。这⻔课每周三、五上课。"
 },
 {
 "role": "user",
 "content": "哪天有课?"
 },
]
# 调⽤ GPT-3.5
chat_completion = client.chat.completions.create(
 model="gpt-3.5-turbo",
 messages=messages
)
# 输出回复
print(chat_completion.choices[0].message.content)

1.3 新建环境变量文件.env文件

OPENAI_API_KEY="你的key"
OPENAI_BASE_URL="https://openai.zhixueyouke.cn/v1/"

结果如下:

2 OpenAI中的⻆⾊理解

2.1 system(系统)

在 OpenAI 的技术框架中,system 代表了整个系统或应⽤程序。System 的⽬标是理解⽤户的意图和需求,并根据这些信息⽣成合适的响应。

System 的核⼼组件是预训练的 NLP 模型,如 GPT-3。这些模型通过在海量⽂本数据上进⾏训练,学习到了丰富的语⾔知识和理解能⼒。当⽤户输⼊⼀个查询或请求时,system 使⽤这些模型来理解⽤户的意图,并⽣成相应的响应。

2.2 user(⽤户)

user 代表了与系统交互的⽤户。⽤户可以是⼈类⽤户,也可以是其他系统或应⽤程序。User 的⽬标是向 system 发送请求,获取所需的信息或服务。

User 的输⼊可以采⽤多种形式,如⽂本、语⾳、图像等。在⽂本交互场景中,⽤户通常输⼊⼀个查询或问题,system 需要根据这个输⼊⽣成合适的响应。在语⾳交互场景中,⽤户的输⼊是语⾳信号,system 需要将其转换为⽂本,然后⽣成响应。在图像交互场景中,⽤户的输⼊是图像数据,system 需要识别图像内容,并根据其⽣成响应。

2.3 assistant(助⼿)

assistant 代表了 system ⽣成的响应。助⼿可以是⽂本、语⾳、图像等形式,其⽬标是满⾜⽤户的请求,提供所需的信息或服务。

assistant 的⽣成过程包括多个步骤。⾸先,system 使⽤预训练的 NLP 模型来理解⽤户的意图。然后,根据⽤户的意图和需求,system 使⽤相应的机器学习算法和数据存储来⽣成助⼿。最后,system 将助⼿以合适的形式返回给⽤户。

3 OpenAI国内购买使用

地址:https://ai-yyds.com/

⾃主选择!⽆需翻墙就可以使⽤

4 国产⼤模型API调用

4.1 DeepSeek

API地址:https://platform.deepseek.com/usage

接⼝⽂档:https://api-docs.deepseek.com/zh-cn/

API Keys申请地址:https://platform.deepseek.com/api_keys

示例代码

from openai import OpenAI
from dotenv import load_dotenv
load_dotenv()
import os
deepseek_api_key = os.getenv("DEEPSEEK_API_KEY")
client = OpenAI(api_key=deepseek_api_key, base_url="https://api.deepseek.com")
response = client.chat.completions.create(
 model="deepseek-chat",
 messages=[
 {"role": "system", "content": "You are a helpful assistant"},
 {"role": "user", "content": "Hello"},
 ],
 stream=False
)
print(response.choices[0].message.content)

.env文件

DEEPSEEK_API_KEY="你的key"

结果如下:

4.2 阿⾥云通义千问

地址:https://help.aliyun.com/zh/model-studio/getting-started/what-ismodel-studio

如何获取API Key:https://help.aliyun.com/zh/model-studio/developer-reference/get-api-key

示例代码:

import os
from dotenv import load_dotenv
load_dotenv()
from openai import OpenAI
client = OpenAI(
 # 若没有配置环境变量,请⽤百炼API Key将下⾏替换为:api_key="sk-xxx",
 api_key=os.getenv("DASHSCOPE_API_KEY"), # 如何获取API Key:https://hel
p.aliyun.com/zh/model-studio/developer-reference/get-api-key
 base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
 model="qwen-plus", # 模型列表:https://help.aliyun.com/zh/model-studio/
getting-started/models
 messages=[
 {'role': 'system', 'content': 'You are a helpful assistant.'},
 {'role': 'user', 'content': '你是谁?'}
 ]
)
print(completion.choices[0].message.content)

4.3 智普清⾔

地址:https://bigmodel.cn/console/overview

API Keys申请:https://bigmodel.cn/usercenter/proj-mgmt/apikeys

代码示例

from openai import OpenAI
from dotenv import load_dotenv
load_dotenv()
import os
client = OpenAI(
 api_key=os.getenv("ZHIPUAI_API_KEY"),
 base_url="https://open.bigmodel.cn/api/paas/v4/"
)
completion = client.chat.completions.create(
 model="glm-4-flash", 
 messages=[ 
 {"role": "system", "content": "你是⼀个聪明且富有创造⼒的⼩说作家"}, 
 {"role": "user", "content": "请你作为童话故事⼤王,写⼀篇短篇童话故事,故
事的主题是要永远保持⼀颗善良的⼼,要能够激发⼉童的学习兴趣和想象⼒,同时也能够帮助⼉童更
好地理解和接受故事中所蕴含的道理和价值观。"}
 ],
 top_p=0.7,
 temperature=0.9
)
print(completion.choices[0].message)

4.4 kimi

API申请地址:https://platform.moonshot.cn/console/api-keys

⽂档地址:

https://platform.moonshot.cn/docs/api/chat#%E5%85%AC%E5%BC%80%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%9C%B0%E5%9D%80

代码示例

from openai import OpenAI
from dotenv import load_dotenv
load_dotenv()
import os
client = OpenAI(
 api_key = os.getenv("MOONSHOT_API_KEY"),
 base_url = "https://api.moonshot.cn/v1",
)
completion = client.chat.completions.create(
 model = "moonshot-v1-8k",
 messages = [
 {"role": "system", "content": "你是 Kimi,由 Moonshot AI 提供的⼈⼯智
能助⼿,你更擅⻓中⽂和英⽂的对话。你会为⽤户提供安全,有帮助,准确的回答。同时,你会拒绝
⼀切涉及恐怖主义,种族歧视,⻩⾊暴⼒等问题的回答。Moonshot AI 为专有名词,不可翻译成其
他语⾔。"},
 {"role": "user", "content": "你好,我叫李雷,1+1等于多少?"}
 ],
 temperature = 0.3,
)
print(completion.choices[0].message.content)

相关文章:

  • 计算机组成原理之基本元器件和逻辑门构成
  • 从学习ts的三斜线指令到项目中声明类型的最佳实践
  • CSP模拟考试系统共享
  • Web网页制作之爱家居的设计(静态网页)
  • 辨析Corollary、Theorem和lemma
  • unet模型在车道线检测上的应用【代码+数据集+python环境+GUI系统】
  • 当输入没有注册的用户名和密码,直接跳转到了一个404页面是怎么回事
  • 判断能否形成等差数列 - 简单
  • P9241 [蓝桥杯 2023 省 B] 飞机降落
  • 第44天:WEB攻防-PHP应用SQL盲注布尔回显延时判断报错处理增删改查方式
  • SpaceSync智能排班:重构未来办公空间的神经中枢
  • AI对前端开发的冲击
  • msf(Metasploit)中Session与Channel的区别与关系解析
  • 微信小程序项目 tabBar 配置问题:“pages/mine/mine“ need in [“pages“]
  • 计算机硬件与体系结构
  • set_max_delay
  • 康谋应用 | 基于多传感器融合的海洋数据采集系统
  • ROS动态调参
  • 【论文阅读】LightTS:少即是多:基于轻采样的MLP结构的快速多元时间序列预测
  • 信号处理之插值、抽取与多项滤波
  • 网站模板 阿里/公众号排名优化
  • 郑州公司做网站/百度电脑版网址
  • wordpress网站变慢/百度宣传广告要多少钱
  • 上海广告网站建设/seo关键词词库
  • 做网站页面过大好/英文外链平台
  • 阿里做网站怎么做/青岛seo网站管理