本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2024-11(7)

我用Streamlit+ChatGPT轻松实现Web聊天

发布于2023-02-19 12:50     阅读(1000)     评论(0)     点赞(17)     收藏(1)


Streamlit是时下比较热门的一个基于Python的Web应用程序框架,它可以在几分钟内将数据转化为可共享的Web应用程序,无需前端开发经验,使用纯Python代码实现,简单且高效。ChatGPT是目前非常火的OpenAI公司开发的聊天机器人模型,它无所不知就像一本大百科全书,它可以帮你做很多繁杂的日常工作,比如可以代你写文章,代你做excel表格,甚至代你写代码。今天我们要将两者结合起来开发一个基于web的应用聊天小程序。

注册Openai账号申请api_key

由于ChatGPT平台并没有对中国开放,因此我们无法按照正常流程通过OpenAI官网来注册OpenAI账号,但是可以通过一些变通的方法(你懂的)或者请国外的亲朋好友代你注册账号和申请api_key,一旦我们拿到了api_key就不再受网络的限制,可以正常通过api来和ChatGPT机器人聊天了。

安装OpenAPI和Streamlit包

我们需要在python环境中安装openai和streamlit的第三方python包,可以通过在命令行窗口中安装这些包:

  1. pip install openai
  2. pip install streamlit
  3. pip install streamlit_chat

聊天机器人API接口参数说明

  • model:模型名词
  • prompt:您对机器人提出的问题
  • temperature:温度参数,该参数控制生成文本的随机性级别。较高的温度参数会导致更多变化且可能不太连贯的响应,而较低的t温度参数会产生更可预测且可能更连贯的响应。
  • max_tokens:应答语句的长度 

创建聊天Python代码文件

我们需要创建一个用于聊天的streamlit的代码文件 chat_bot.py:

  1. # chat_bot.py
  2. import openai
  3. import streamlit as st
  4. from streamlit_chat import message
  5. #申请的api_key
  6. openai.api_key = "xxxxxxxxxxxxxxxxx"
  7. def generate_response(prompt):
  8. completion=openai.Completion.create(
  9. model='text-davinci-003',
  10. prompt=prompt,
  11. max_tokens=1024,
  12. temperature=0.6
  13. )
  14. message=completion.choices[0].text
  15. return message
  16. st.markdown("#### 我是ChatGPT聊天机器人,我可以回答您的任何问题!")
  17. if 'generated' not in st.session_state:
  18. st.session_state['generated'] = []
  19. if 'past' not in st.session_state:
  20. st.session_state['past'] = []
  21. user_input=st.text_input("请输入您的问题:",key='input')
  22. if user_input:
  23. output=generate_response(user_input)
  24. st.session_state['past'].append(user_input)
  25. st.session_state['generated'].append(output)
  26. if st.session_state['generated']:
  27. for i in range(len(st.session_state['generated'])-1, -1, -1):
  28. message(st.session_state["generated"][i], key=str(i))
  29. message(st.session_state['past'][i],
  30. is_user=True,
  31. key=str(i)+'_user')

启动Streamlit

 我们需要在命令行窗口执行启动streamlit的命令:

streamlit run chat_bot.py

输入启动streamlit命令后,会弹出浏览器, 如果没有弹出浏览器可以自行打开浏览器并输入上图中的url地址,接下来就可以开始和ChatGPT聊天了:

 

 

参考资料

Streamlit documentation

OpenAI API documentation

原文链接:https://blog.csdn.net/weixin_42608414/article/details/128916767




所属网站分类: 技术文章 > 博客

作者:大哥你来啦

链接:http://www.qianduanheidong.com/blog/article/498259/6cc4fc08da8828eb53ed/

来源:前端黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

17 0
收藏该文
已收藏

评论内容:(最多支持255个字符)