gpt4 book ai didi

python - 如何创建内存存储以用作 OpenAI-ChatGPT Python 脚本的上下文信息?

转载 作者:行者123 更新时间:2023-12-02 05:49:25 25 4
gpt4 key购买 nike

我想制作一个智能助手,能够存储我与之进行的所有历史对话。

我的想法是能够进行长时间的讨论,随着时间的推移,当我扩展一些我想要研究的主题时,这些讨论可以被存储和检索。

我有一个包含以下文件的目录: Files containing historical and important information.

这是我用来在将内存输入模型之前反复将内存放置在提示开头的代码:

import openai 
import os


from PIL import Image
import requests
import os



openAIKey='APIKEY'

prompt="\n Hi Duncan. You don't seem to be talking. Can you try saying something else?"

def talk(prompt,n=1,flex=0.5,flex_type='temp',memory=False,record_memory=False,memory_address=r'G:\My Drive\0- Personal\07- Duncan\memory',verbose=True):


openai.api_key=openAIKey

model_engine = "text-davinci-003"

# Retrieve memory
os.chdir(memory_address)

memory_txt=''
if memory:
filelist = os.listdir()
for filename in filelist:
with open(filename) as f:
file = open(filename, "r", encoding='utf-8')
contents = file.read()
memory_txt += contents
'''
elif os.path.isfile(os.path.join(memory_address, 'memory.txt')):
with open(os.path.join(memory_address, 'memory.txt')) as f:
memory_txt = f.read()
'''

if memory:
prompt = memory_txt + prompt


if flex_type=='temp':
completion = openai.Completion.create(
engine=model_engine,
prompt=prompt,
max_tokens=1012,
n=n,
stop=None,
temperature=flex)
elif flex_type=='top_n':
print('top_n Pending...')

response_array=[]
for i in range(n):
response = completion.choices[i].text
response_array.append(response)

if verbose==True:
print()
print(response, end='\n----------------------------------------------------------------')

if record_memory:
with open(os.path.join(memory_address, 'memory.txt'), 'a') as f:
f.write(response + '\n')



return response_array

if __name__=='__main__':


memory=True
record_memory=True
flex_type='temp'
n=1
flex=0.5
verbose=True
memory_address=r'G:\My Drive\0- Personal\07- Duncan\memory'
prompt='Welcome Duncan. I am so happy to meet you. \nHi Duncan! I am testing your talking function. What memories can you read?'

ra=talk(prompt=prompt,n=n,flex=flex,flex_type=flex_type,memory=memory,memory_address=memory_address,verbose=verbose)

但是它似乎 react 不是很灵敏,并且在一些交互之后它停止给出任何答案。

知道如何改进吗?

最佳答案

我相信openai.ChatCompletion.create就是您正在寻找的:ChatCompletion introduction

关于python - 如何创建内存存储以用作 OpenAI-ChatGPT Python 脚本的上下文信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76195150/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com