################################################################################
# ____ _ ____ _ _ #
# / ___|___ | |__ ___ _ __ ___ / ___| __ _ _ __ __| | |__ _____ __ #
# | | / _ | '_ / _ '__/ _ ___ / _` | '_ / _` | '_ / _ / / #
# | |__| (_) | | | | __/ | | __/ ___) | (_| | | | | (_| | |_) | (_) > < #
# _______/|_| |_|___|_| ___| |____/ __,_|_| |_|__,_|_.__/ ___/_/_ #
# #
# This project is part of Cohere Sandbox, Cohere's Experimental Open Source #
# offering. This project provides a library, tooling, or demo making use of #
# the Cohere Platform. You should expect (self-)documented, high quality code #
# but be warned that this is EXPERIMENTAL. Therefore, also expect rough edges, #
# non-backwards compatible changes, or potential changes in functionality as #
# the library, tool, or demo evolves. Please consider referencing a specific #
# git commit or version if depending upon the project in any mission-critical #
# code as part of your own projects. #
# #
# Please don't hesitate to raise issues or submit pull requests, and thanks #
# for checking out this project! #
# #
################################################################################
Сопровождающий: команда Cohere ConvAI
Проект поддерживается как минимум до (ГГГГ-ММ-ДД): 01.03.2023.
Создавайте диалоговый ИИ на основе больших языковых моделей Cohere.
conversant
conversant
с помощью pip conversant
— это платформа, находящаяся в разработке, для создания настраиваемых диалоговых агентов (также известных как чат-боты), которые могут отвечать на вопросы и общаться с пользователями с различными типами чат-ботов. conversant
стремится быть модульным, гибким и расширяемым, чтобы вы могли создавать любые чат-боты, какие захотите!
Мы предоставляем вам несколько индивидуальных персонажей, в том числе ? агента поддержки клиентов, ⌚️ агента по продаже часов, ?? учитель математики, и? фантастический волшебник. Создайте свою собственную личность, используя только описание и несколько примеров разговоров!
Узнайте больше о том, как conversant
является частью Cohere Sandbox, в нашем стартовом блоге.
Попробуйте conversant
с нашей демо-версией Streamlit здесь! ?
conversant
доступен на PyPI и протестирован на Python 3.8+ и Cohere 2.8.0+.
pip install conversant
Хотите сначала увидеть это в действии? Вы можете использовать conversant
в приложении Streamlit, ничего не устанавливая здесь! ?
Cohere использует Streamlit для создания демонстрационных приложений. Если вы новичок в Streamlit, вы можете установить его здесь и узнать больше о запуске команд Streamlit здесь.
Если вы хотите изменить эту демонстрацию Streamlit локально, мы настоятельно рекомендуем создать форк этого репозитория, а не устанавливать его как библиотеку из PyPI.
Если вы хотите запустить собственный экземпляр демо-версии Streamlit, сначала вам понадобится COHERE_API_KEY
. Вы можете создать его, посетив Dashboard.cohere.ai.
Если вы планируете запускать приложение Streamlit локально, вы можете добавить ключ в .streamlit/secrets.toml
:
COHERE_API_KEY = "YOUR_API_KEY_HERE"
При локальном запуске Streamlit прочитает файл secrets.toml
и автоматически внесет эти значения в переменные среды. Альтернативно вы можете напрямую установить ключ API в качестве переменной среды, выполнив следующую команду из командной строки:
export COHERE_API_KEY = "YOUR_API_KEY_HERE"
Запустите приложение Streamlit из командной строки с помощью следующей команды:
streamlit run conversant/demo/streamlit_example.py
Если вместо этого вы хотите создать размещенное приложение Streamlit, добавьте свой ключ API Cohere в Streamlit через Управление секретами. Добавьте следующую строку в качестве секрета:
COHERE_API_KEY = "YOUR_API_KEY_HERE"
Когда у вас появится собственный экземпляр приложения Streamlit, вы сможете начать экспериментировать с созданием собственных персонажей! Проверьте config.json
для каждого персонажа в каталоге conversant/personas
. Вам нужно будет создать в этом каталоге подпапку, соответствующую вашему новому профилю, и добавить файл config.json
.
В качестве примечания мы настоятельно рекомендуем создать форк репозитория sandbox-conversant-lib
а не устанавливать его как библиотеку из PyPI. При создании нового персонажа используйте каталог personas
в клонированном репозитории. Структура каталогов должна выглядеть так:
conversant/personas
├── fortune-teller
│ └── config.json
└── your-persona-name # new
└── config.json
Конфигурационный файл должен содержать следующее:
chatbot_config
:max_context_examples
: длина истории чата, которую чат-бот будет использовать в ответ.avatar
: дополнительный короткий код эмодзи или URL-адрес изображения в качестве аватара чат-бота. По умолчанию ?.client_config
: Параметры для co.generate()
chat_prompt_config
:preamble
: Описание личности.example_separator
: строка, разделяющая каждый пример разговора.headers
: имя bot
и user
.examples
: несколько примеров разговоров (несколько кадров) или пустые (нулевые кадры). Об остальном позаботится conversant
! В качестве примера посмотрите fortune-teller/config.json
. Когда вы запустите приложение Streamlit, новый персонаж появится в раскрывающемся меню.
Если вы хотите запустить приложение с подмножеством пользовательских персонажей, можно создать новый каталог, содержащий только нужные персонажи. Это аналог каталога conversant/personas
и должен иметь ту же структуру:
custom-personas
├── your-first-persona
│ └── config.json
└── your-second-persona
└── config.json
После создания этого каталога вам нужно будет указать приложению, где его искать. В демонстрационном приложении Streamlit ( streamlit_example.py
) одна из первых строк гласит CUSTOM_PERSONA_DIRECTORY = None
. Измените это, чтобы указать желаемый каталог персон, например CUSTOM_PERSONA_DIRECTORY = "/Users/yourname/custom-personas"
.
Если это не изменится, приложение по умолчанию будет использовать каталог, содержащий conversant
демонстрационных персонажей.
Если вы не видите новый персонаж в раскрывающемся меню, возможно, вам придется указать собственный каталог персон. Следуйте инструкциям выше, чтобы сообщить приложению, где искать персонажей.
Вы также можете редактировать персонаж в приложении Streamlit!
С помощью conversant
вы можете создать чат-бота на базе больших языковых моделей Cohere, используя всего лишь следующий фрагмент кода.
import cohere
import conversant
co = cohere . Client ( "YOUR_API_KEY_HERE" )
bot = conversant . PromptChatbot . from_persona ( "fantasy-wizard" , client = co )
print ( bot . reply ( "Hello!" ))
>> > "Well met, fair traveller. What bringest thou to mine village?"
Вы также можете определить свою личность, передав свой ChatPrompt
.
from conversant . prompts import ChatPrompt
shakespeare_config = {
"preamble" : "Below is a conversation between Shakespeare and a Literature Student." ,
"example_separator" : " n " ,
"headers" : {
"user" : "Literature Student" ,
"bot" : "William Shakespeare" ,
},
"examples" : [
[
{
"user" : "Who are you?" ,
"bot" : "Mine own nameth is Shakespeare, and I speaketh in riddles." ,
},
]
],
}
shakespeare_bot = conversant . PromptChatbot (
client = co , prompt = ChatPrompt . from_dict ( shakespeare_config )
)
print ( shakespeare_bot . reply ( "Hello!" ))
>> > "Greeteth, and welcome. I am Shakespeare, the great poet, dramatist, and playwright."
conversant
использует быстрое завершение, чтобы определить личность чат-бота с описанием и несколькими примерами. Приглашение отправляется в качестве входных данных в конечную точку co.generate()
Cohere для авторегрессионной языковой модели для генерации текста в несколько фрагментов из примеров и текущего контекста диалога.
Каждое сообщение пользователя и ответ чат-бота добавляются в историю чата, поэтому будущие ответы зависят от контекста диалога в данный момент времени.
В будущем мы планируем добавить функциональность для чат-бота, который будет опираться на факты, используя текст, извлекаемый из локального кэша документов.
Для получения дополнительной информации обратитесь к этому разделу в CONTRIBUTORS.md
.
Полную документацию можно найти здесь.
Если у вас есть какие-либо вопросы или комментарии, сообщите о проблеме или свяжитесь с нами в Discord.
Если вы хотите внести свой вклад в этот проект, прочтите CONTRIBUTORS.md
в этом репозитории и подпишите Лицензионное соглашение участника, прежде чем отправлять какие-либо запросы на включение. Ссылка для подписания Cohere CLA будет создана при первом запросе на включение в репозиторий Cohere.
Помимо рекомендаций по отправке кода в этот репозиторий, CONTRIBUTORS.md
содержит пошаговое руководство, которое поможет разработчикам начать работу, а также схемы, объясняющие, как conversant
работает под капотом. ?
conversant
имеет лицензию MIT.