首页 > 其他分享 >和OpenApi大模型聊天

和OpenApi大模型聊天

时间:2024-12-24 17:44:01浏览次数:7  
标签:模型 OpenApi content 助手 API 聊天 Chat os 消息

Chat Completions AP

Chat 模型将消息列表作为输入,并返回模型生成的消息作为输出
-个 Chat Completions APl 调用的示例看起来如下

# penA api base地址:"https://api.openai.com/v1"
# 老版本(v1以下的版本)0PENAI API BASE
# 新版本(V1及以上的版本)0PENAI BASE URL
import os
from openai import OpenAI

client = OpenAI(
    # This is the default and can be omitted
    api_key=os.environ.get("OPENAI API KEY"),
    base_url=os.environ.get("OPENAI API BASE"))

chat_completion = client.chat.completions.create(
    messages=[
        {"role": "system", "content": "You are a helpful assistant"},
        {"role": "user", "content": "您好,我叫老王"},
        {"role": "assistant", "content": "Say this is a test"},
    ],
    model="gpt-3.5-turbo")

print(chat_completion.choices[0].message.content)

messages 参数

主要输入是 messages 参数。消息必须是消息对象的数组


role(角色)

system(系统)

指令/角色扮演。系统消息有助于设置助手的行为。例如,您可以修改助手的个性或提供有关它在整个对话中应如何行为的具体指示。然而请注意,系统消息是可选的,而且没有系统消息时模型的行为可能与使用通用消息(如"You are a helpful assistant.")类似。

user(用户)

用户消息是助手需要响应的请求或评论。用户消息可以是任何内容,但是如果您想要模拟与助手的对话,则应该尽可能接近自然语言。

assistant(助手)

助手消息存储以前的助手回应,但也可以由您编写,以提供期望行为的示例。

 

通常,对话以系统消息开始,然后是用户和助手消息的交替。

当用户指示涉及到先前消息时,包括对话历史很重要。

由于模型没有过去请求的记忆,所有相关的信息必须作为每个请求中的对话的一部分提供。

 

Chat Completions 响应格式

-个 Chat Completions AP!响应的示例看起来如下

助手的回复可以通过以下方式提取:

# curl/requests
response['choices'][0]['message']['content']
# python-openai
response.choices[0].message.content

 

使用python requests库与OpenAl大模型聊天

不常用

import requests
import os

headers = {
    'Authorization': f'Bearer {os.environ.get("OPENAI API KEY")}'}

payload = {
    "model": 'gpt-3.5-turbo',
    "messages": [
        {
            "role": "user",
            "content": "hello"
        }
    ],
}

url = f'{os.environ.get("OPENAI API BASE")}/chat/completions'
response = requests.post(url, headers=headers, json=payload).json()

 

标签:模型,OpenApi,content,助手,API,聊天,Chat,os,消息
From: https://www.cnblogs.com/edeny/p/18619742

相关文章

  • Java内存模型-static关键字
    Java内存模型-static关键字java内存概览static关键字静态变量和实例变量的区别静态方法和成员方法的区别java内存概览栈内存:概念:栈内存是线程私有的内存区域,每个线程在创建时都会分配一个独立的栈空间用途:存放局部变量,调用方法举例:某方法被调用时创建栈空间,里面语......
  • K - 近邻模型知识点全览:构建智能预测的基石
    定义K-近邻(K-NearestNeighbors,KNN)模型是一种基于实例的监督学习算法。它的基本思想是给定一个训练数据集,对于一个新的输入实例,在训练数据集中找到与它最相似(距离最近)的K个实例,然后根据这K个实例的类别(对于分类问题)或数值(对于回归问题)来预测新实例的类别或数值。例如,在一......
  • 深度探秘神经网络模型:核心要点、多样类型与实践应用
    基本概念神经元与生物启发:人工神经网络受人类大脑中的生物神经元启发,生物神经元由细胞体、树突和轴突等组成,可处于兴奋或抑制状态,通过突触传递信息。神经网络组成:由大量相互连接的神经元组成,包括输入层接收数据、隐藏层处理数据、输出层产生最终结果,各层神经元通过权重连接,还有......
  • 梯度提升树模型全解析:原理、参数、应用与优化
    一、基本概念定义梯度提升树(GradientBoostingTree,GBT)是一种基于boosting框架的集成学习算法,用于回归和分类问题。它通过迭代地训练决策树,并将前一棵树的残差作为下一棵树的训练目标,逐步减少预测误差。集成学习是将多个弱学习器(在梯度提升树中,弱学习器通常是决策树)组合成一......
  • 全面解析支持向量机模型:原理、参数、评估与应用全知晓
    一、基本原理线性可分情况假设我们有一个二分类问题,数据点在特征空间中是线性可分的。SVM的目标是找到一个超平面,将不同类别的数据点完全分开。这个超平面可以用方程\(w^Tx+b=0\)来表示,其中\(w\)是权重向量,\(x\)是特征向量,\(b\)是偏置项。对于线性可分的数据,存在无数个......
  • 决策树模型全解析:从原理构建到应用评估
    定义与基本概念决策树是一种基于树结构(包括根节点、内部节点、叶节点)进行决策的模型。根节点是整个决策过程的开始,内部节点代表一个属性上的测试,叶节点代表最终的决策结果或类别。例如,在一个判断水果是苹果还是橙子的决策树中,根节点可能是“颜色”这个属性,内部节点可以是“形......
  • 深入理解随机森林模型:涵盖训练、评估、调参及应用的知识图谱
    一、基本概念集成学习集成学习是将多个机器学习模型组合起来,以获得比单个模型更好的性能。随机森林就是一种集成学习方法,它通过构建多个决策树并综合它们的结果来进行预测。例如,在预测天气是晴天还是雨天时,集成学习就像是询问多个气象专家(每个专家相当于一个决策树)的意见,然......
  • 机器学习全解析:基础概念、任务类型、算法模型、应用及未来挑战与走向
    一、引言机器学习作为人工智能领域的核心分支,旨在让计算机系统从数据中自动学习模式和规律,以实现对未知数据的预测和决策。在当今数字化时代,机器学习已经广泛应用于各个领域,从图像识别、语音识别到金融预测、医疗诊断等,为解决复杂问题提供了强大的工具和方法。二、机器学习基础......
  • 线性回归模型
    一、基本概念定义线性回归是一种统计分析方法,用于研究一个或多个自变量(解释变量)与一个因变量(被解释变量)之间的线性关系。它试图找到一条最佳拟合直线(在简单线性回归中)或超平面(在多元线性回归中),使得因变量的预测值与实际值之间的误差最小。简单线性回归模型的数学表达式为:\(y......
  • 隐马尔科夫模型|前向算法|Viterbi 算法
    隐马尔可夫模型(HiddenMarkovModel,HMM)HMM是一种统计模型,用于表示由一个隐藏的马尔可夫链生成的观测序列。它假设每个观测值依赖于当前的隐藏状态,并且隐藏状态之间的转换遵循马尔可夫性质(即未来的状态仅依赖于当前状态,而不受过去状态的影响)。HMM通常包含以下三个基......