首页 > 编程语言 >bing写的一段python程序

bing写的一段python程序

时间:2023-03-24 22:22:43浏览次数:37  
标签:prompt python bing 程序 API user chat input history

 

 

让ai写一个 和 chatgpt交互的程序。用户在控制台输入内容来交互。

程序不一定能正常运行,但是可以参考

如果prompt参数长度过长,可以将其分成多个部分,然后将每个部分作为单独的prompt发送到OpenAI API。这样可以避免出现过长的prompt导致API请求失败的情况。以下是修改后的代码:

import openai
import pandas as pd
import datetime

openai.api_key = "YOUR_API_KEY"

def chat_with_chatgpt(prompt):
    response = openai.Completion.create(
      engine="text-davinci-002",
      prompt=prompt,
      max_tokens=1024,
      n=1,
      stop=None,
      temperature=0.5,
    )

    message = response.choices[0].text.strip()
    return message

def save_chat_history(chat_history):
    current_time = datetime.datetime.now().strftime("%Y-%m-%d %H-%M-%S")
    file_name = f"chat_history_{current_time}.xlsx"
    df = pd.DataFrame(chat_history, columns=["User", "ChatGPT"])
    df.to_excel(file_name, index=False)

chat_history = []
while True:
    user_input = input("请输入您的问题:")
    if user_input == "0":
        save_chat_history(chat_history)
        break
    prompt_parts = [user_input[i:i+256] for i in range(0, len(user_input), 256)]
    chat_history.append([user_input, chat_with_chatgpt("\n".join(prompt_parts))])
    print(chat_history[-1][1])
这段代码将prompt参数分成多个部分,每个部分的长度为256个字符。然后将每个部分作为单独的prompt发送到OpenAI API。这样可以避免出现过长的prompt导致API请求失败的情况。这段代码可以在Python环境中运行,需要安装OpenAI API和Pandas库。

 

标签:prompt,python,bing,程序,API,user,chat,input,history
From: https://www.cnblogs.com/music-liang/p/17253508.html

相关文章

  • [oeasy]python0115_西里尔字符集_Cyrillic_俄文字符编码_KOI_8859系列
    各语言字符编码回忆上次内容上次回顾了非ascii的拉丁字符编码的进化过程0-127是ascii的领域西欧、北欧语言大多使用拉丁字符由iso组织制定iso-8859-1北欧原来不是......
  • 商城网站毕业设计( Python +Vue)
    网站介绍基于python开发的电子商城网站,平台采用B/S结构,后端采用主流的Python语言进行开发,前端采用主流的Vue.js进行开发。这是给师弟开发的毕业设计。整个平台包......
  • Python爬虫实战:从零开始制作一个网络爬虫
    网络爬虫,又称网页蜘蛛、网页抓取器等,是一种从互联网上自动抓取网页数据的程序。Python是编写网络爬虫的最佳语言,因为它具有简洁的语法、丰富的库和强大的社区支持。本文将......
  • Python3之sqlalchemy
    1.SQLAlchemy介绍SQLAlchemy是Python中一款非常优秀的ORM框架,它可以与任意的第三方web框架相结合,如flask、tornado、django、fastapi等。SQLALchemy相较于Django......
  • python pandas timestamp
    #1.构造Timestamp#ts_input参数支持4种格式,datetime-like,str,int,float#1.1datetime-likeimportdatetimeimportpandasaspdtime_str="2020-08-0110:2......
  • PHP网站安装程序制作 (附:模块检测的方法)
    ManywebapplicationssuchasWordPressleadyouthroughthewholeinstallationprocessfromaskingforSQLdetailstogettingsomeuserlogindetailsetc. Due......
  • 9个都要了解的单行Python代码
    当我们开始学习Python时,我们通常会优先编写能够完成工作的代码,而不会关注代码的可读性以及代码的简洁性和效率。确切来说,这是完全没有问题的,但是有一些方法可以在不忽略......
  • python 批量爬取邮箱
    python批量爬取邮箱地址#coding:utf-8importrequestsimportbs4#解析网页importlxmlimportreheaders={'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win......
  • 用Python和Pytorch使用softmax和cross-entropy
    softmax激活函数softmax激活函数将包含K个元素的向量转换到(0,1)之间,并且和为1,因此它们可以用来表示概率。   python:defsoftmax(x):returnnp.exp(x)/np.s......
  • python超时处理方法eventlet的eventlet.Timeout
    一、前言在使用python进行接口自动化测试、脚本编写、执行sql的时候,如果遇到以下问题的,都可以用eventlet.timeout这个方法。执行下载数据的接口,数据量较大导致后面接口......