我在OpenAI Cookbook存储库中运行聊天机器人应用时遇到问题。
我所尝试的
我使用'pip install -r requirements.txt'安装了必要的软件包。我用我的OpenAI API密钥制作了.env文件,并在www.example.com第9行插入了下面的代码chatbot.py。
import os
openai.api_key = os.getenv("OPENAI_API_KEY")
上面的设置是我的猜测,因为医生完全不清楚如何设置。
我在本地通过命令“streamlit run apps/chatbot-kickstarter/chat.py”运行应用程序。它不能正常工作。应用程序运行,但当我输入文本并按下应用程序中的“提交”按钮时,我得到了一个错误:
Uncaught app exception
Traceback (most recent call last):
File "C:\Users\XXX\AppData\Local\Programs\Python\Python310\lib\site-packages\streamlit\runtime\scriptrunner\script_runner.py", line 565, in _run_script
exec(code, module.__dict__)
File "F:\PythonProjects\openai-cookbook\apps\chatbot-kickstarter\chat.py", line 71, in <module>
response = query(messages)
File "F:\PythonProjects\openai-cookbook\apps\chatbot-kickstarter\chat.py", line 51, in query
response = st.session_state['chat'].ask_assistant(question)
File "F:\PythonProjects\openai-cookbook\apps/chatbot-kickstarter\chatbot.py", line 61, in ask_assistant
if 'searching for answers' in assistant_response['content'].lower():
TypeError: string indices must be integers
我使用Python 3.10.6。
我将感谢任何帮助或指导来解决这些问题。
2条答案
按热度按时间ppcbkaq51#
直接将密钥放入chatbot.py就可以了。它不应该从环境变量中获取。
ctzwtxfj2#
请试试这个,如果工作接受答案,否则我删除它
尝试从assistant_response中删除['content']
错误提示“字符串索引必须是整数”
这意味着你正在尝试做这样的事情:
很明显这行不通
assistant_response可能已经是一个字符串,或者对于您正在做的事情来说是错误的对象
PS:字符串索引的正确用法是这样的:
Tutorial