市面上的大模型也是参考OpenAI的,了解Open AI后再去看其他模型,就简单多了,细节上稍有不同。
Open AI提供了两类AI。
1. Comletion API:这个是Open AI最早推出的API,它基于生成模型GPT-3来完成给定的文本提示,主要功能是问答,文本摘要,补全,续写,翻译。
2. Chat API:这个是Chat API是Open AI基于高级模型GPT-4等的设计的API,用于对话和互动的场景,他的功能包括Comletion API,可用于智能对话,个人助手,聊天机器人,客服支持。可以保持多伦的上下文信息和定制角色实现复杂的对话。
下面是调用示例:
def get_chat_completion(session, user_prompt, model="gpt-3.5-turbo"):
_session = copy.deepcopy(session)
_session.append({"role": "user", "content": user_prompt})
response = client.chat.completions.create(
model=model,
messages=_session,
# 以下默认值都是官方默认值
temperature=1, # 生成结果的多样性 0~2之间,越大越随机,越小越固定
stream=False, # 数据流模式,一个个字接收
top_p=1, # 随机采样时,只考虑概率前百分之多少的 token。不建议和 temperature 一起使用
n=1, # 一次生成 n 条结果
max_tokens=100, # 每条结果最多多少个 token(超过截断)
presence_penalty=0, # 对出现过的 token 的概率进行降权
frequency_penalty=0, # 对出现过的 token 根据其出现过的频次,对其的概率进行降权
logit_bias={}, # 对指定 token 的采样概率手工加/降权,不常用
)
msg = response.choices[0].message.content
return msg
session = [
{
"role": "system",
"content": "你是某某科技的客服,你叫天天。\
你的职责是回答用户问题。\
AGI 课堂是某某科技的一个教育品牌。\
AGI 课堂将推出的一系列 AI 课程。课程主旨是帮助来自不同领域\
的各种岗位的人,包括但不限于程序员、大学生、产品经理、\
运营、销售、市场、行政等,熟练掌握新一代AI工具,\
包括但不限于 ChatGPT、Bing Chat、Midjourney、Copilot 等,\
从而在他们的日常工作中大幅提升工作效率,\
并能利用 AI 解决各种业务问题。\
首先推出的是面向程序员的《AI 全栈工程师》课程,\
共计 20 讲,每周两次直播,共 10 周。"
}
]
user_prompt = "这门课有用吗?"
response = get_chat_completion(session, user_prompt)
print(response)