OpenAI接口,多轮对话调用

from openai import OpenAI
import random

if __name__ == '__main__':

    client = OpenAI(api_key="the_key", base_url="the_url")
    
    messages = []
    
    while True:
        question = input('请输入问题:')

        messages.append({"role": "user", "content": question})

        # print(messages)

        response = client.chat.completions.create(
            messages=messages,
            model='the_model', frequency_penalty=1, presence_penalty=1)

        result = response.choices[0].message.content # .lstrip('<think>').strip().lstrip('</think>').strip()

        messages.append({"role": "assistant", "content": result})
        
        print("大模型回复:" + result)
调用OpenAI接口实现多轮对话,您需要遵循以下步骤: 1. 注册OpenAI账户并获取API密钥。 2. 使用适当的编程语言(如Python)编写代码,以调用OpenAI API并处理响应。 3. 设计一个对话流程,以便处理多轮对话。这可能包括跟踪上下文,确定下一步应该做什么,以及生成响应。 4. 在每个轮次中,向OpenAI API发送用户输入,并解析返回的响应。 5. 使用生成的响应来回答用户,并在必要时跟踪上下文。 6. 在对话完成后,关闭API连接并保存任何需要保存的数据。 以下是一个使用Python实现多轮对话的示例代码: ```python import openai import time # 设置API密钥 openai.api_key = "YOUR_API_KEY" # 设计对话流程 def get_response(prompt, model, temperature=0.5): response = openai.Completion.create( engine=model, prompt=prompt, temperature=temperature, max_tokens=1024, n=1, stop=None, timeout=60, ) return response.choices[0].text.strip() # 处理对话 def run_dialogue(model): context = "" while True: user_input = input("You: ") if user_input.lower() == "exit": break prompt = f"{context}User: {user_input}\nAI:" response = get_response(prompt, model) print("AI: " + response) context += f"User: {user_input}\nAI: {response}\n" # 主函数 def main(): # 选择模型 model = "davinci" print(f"Using {model} model") # 运行对话 run_dialogue(model) if __name__ == "__main__": main() ``` 该代码使用OpenAI API来生成对话响应。它使用一个简单的上下文变量来跟踪对话历史记录,并要求用户输入来开始每个新轮次。您可以根据需要修改该代码以适应您的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值