Создание умного чат-бота с использованием API OpenAI может стать захватывающим проектом для всех, кто интересуется обработкой естественного языка и машинным обучением. Хотите проверить мое приложение? Вот ссылка: MyChatbot
Вот шаги для создания подобного приложения:
Шаги:
- Зарегистрируйте учетную запись API OpenAI и получите ключ API.
- Установите необходимые библиотеки Python: OpenAI, Streamlit и streamlit_chat с помощью команды «pip install».
- Подключитесь к API OpenAI с помощью ключа API и определите возможности чат-бота, такие как создание текста или ответы на вопросы.
- Определите интерфейс Streamlit, включая пользовательский ввод и отображение ответа чат-бота.
- Реализуйте логику чат-бота и используйте API OpenAI для генерации ответов на вводимые пользователем данные.
- Протестируйте и настройте чат-бот, используя отзывы пользователей для внесения улучшений.
- Разверните свое приложение и поделитесь им со всем миром.
Чтобы приступить к созданию своего приложения, вам сначала необходимо настроить учетную запись OpenAI. Это легко — просто зайдите на https://platform.openai.com/ и следуйте инструкциям, чтобы создать учетную запись. Затем в своем аккаунте перейдите в раздел Личные данные → API-ключи → Создать новый секретный ключ. Имейте в виду, что этот ключ не должен быть общедоступным, так как он предназначен только для вас. Когда вы будете готовы развернуть свое приложение, просто добавьте секретный ключ в поле секретный ключ в дополнительных настройках Streamlit. Вот и все! Имея свою учетную запись OpenAI и секретный ключ, вы будете готовы создать свое приложение для чат-бота.
Перед развертыванием нашего приложения Streamlit нам необходимо протестировать его локально. Для этого мы создадим новую папку в каталоге нашего проекта с именем .streamlit. Внутри этой папки мы создадим скрипт и включим наш секретный ключ, который мы можем сохранить как переменную. Например, мы можем установить переменную «pass» равной нашему секретному ключу: pass = ‘kjhihjYsFydr4MoWaLShegZoVjnijbjbj’. Затем мы сохраним этот файл как secrets.toml. Этот файл является безопасным способом ссылки на наш секретный ключ в нашем приложении. Как только это будет сделано, мы можем начать кодировать наше приложение.
# Save this file as secrets.toml pass="kjhihjYsFydr4MoWaLShegZoVjnijbjbj"
На этом этапе мы обсудим скрипт Python, который использует API Streamlit, streamlit_chat и OpenAI. Streamlit-Chat — это простой компонент, который предоставляет интерфейс, похожий на чат-приложение, что делает чат-бот, развернутый на Streamlit, удобным пользовательским интерфейсом.
# Import libraries import openai import streamlit as st from streamlit_chat import message # Load OpenAI API key from secrets file openai.api_key=st.secrets["pass"] #Implement the chatbot's logic and use the OpenAI API to generate responses #to user inputs. This function uses the OpenAI Completion API to generate #a response based on the given prompt def generate_response(prompt): completions = openai.Completion.create ( engine="text-davinci-003", prompt=prompt, temperature=0.9, max_tokens=150, top_p=1, frequency_penalty=0.0, presence_penalty=0.6, stop=[" Human:", " AI:"] ) message = completions.choices[0].text return message # Adding some texts to explain the purpose of the app #_______________Optionnal_______________________ st.title('Lamis ChatBot 🤖 🤖') st.sidebar.title('Lamis ChatBot 🤖 🤖') st.sidebar.write(""" ###### Try my chatbot made with openAI, GPT-3 and Streamlit. I used Streamlit-Chat which is simple component, which provides a chat-app like interface, which makes a chatbot deployed on Streamlit have a cool UI. ###### [My LinkedIn profile ](https://www.linkedin.com/in/lamisghoualmi/) ###### [My Github](https://github.com/lamisghoualmi/) """) #Allows the chatbot to store its state across multiple sessions, so that #the generated responses from previous interactions with the user are #not lost when the app is restarted or refreshed. if 'generated' not in st.session_state: st.session_state['generated'] = [] if 'past' not in st.session_state: st.session_state['past'] = [] #The function returns the text entered by the user as a string. This text #is later passed to the generate_response() function, which uses OpenAI's #API to generate a response to the user's message. def get_text(): input_text= st.text_input('Human [enter your message here]:', '') return input_text user_input = get_text() #The purpose of appending the user's input and the chatbot's response to #separate lists is to display them in the chat interface separately, #with the user's messages on one side and the chatbot's responses on #the other side. if user_input: output = generate_response(user_input) st.session_state.past.append(user_input) st.session_state.generated.append(output) #For each generated message, it also displays the corresponding user input #message from st.session_state['past']. This creates a chat-like interface #where the user's inputs and the chatbot's responses are displayed in an #alternating fashion. if st.session_state['generated']: for i in range(len(st.session_state['generated'])-1, -1, -1): message(st.session_state["generated"][i], key=str(i)) message(st.session_state['past'][i], is_user=True, key=str(i) + '_user')
Чтобы запустить приложение на локальном хосте, откройте командную строку (cmd.exe) в Windows и перейдите в каталог, в котором находится ваше приложение, введя cd, а затем путь к каталогу (например, cd C:\Users\lamis \Desktop\App\MyChatbot). Затем запустите свое приложение, введя streamlit run Chatbot.py в командной строке, где FileName — это имя вашего скрипта. Это запустит локальный сервер, и вы сможете просмотреть свое веб-приложение, открыв браузер и перейдя по адресу http://localhost:8501.
Чтобы развернуть приложение Streamlit и сделать его общедоступным для всех, сначала вам нужно загрузить свой код на GitHub. Не забудьте включить файл requirements.txt, содержащий имена библиотек, используемых в вашем коде. Затем перейдите на https://share.streamlit.io/, создайте новое приложение и добавьте ссылку на репозиторий GitHub вашего приложения. После этого перейдите в дополнительные настройки и добавьте свой секретный ключ, вставив его так: pass="kjhihjYsFydr4MoWaLShegZoVjnijbjbj"
. Наконец, нажмите развернуть, и ваше приложение будет доступно в Интернете, чтобы поделиться им с другими.
Я очень рада, что поделилась с вами этим уроком! Готовы ли вы создать своего собственного чат-бота прямо сейчас? Дайте мне знать в комментариях, я не могу дождаться, чтобы увидеть, что вы создаете! И не стесняйтесь задавать мне любые вопросы, которые могут у вас возникнуть, я здесь, чтобы помочь. И эй, пока вы это делаете, не забудьте подписаться на меня в LinkedIn, чтобы получать больше интересных технических руководств и обновлений! Удачного кодирования!