Conversant: 基于Cohere大语言模型的对话AI框架
Conversant是一个正在开发中的框架,旨在基于Cohere的大语言模型构建可定制的对话代理(又称聊天机器人)。它的目标是成为一个模块化、灵活且可扩展的工具,让开发者可以创建各种类型的聊天机器人。
Conversant的主要特点
- 利用Cohere的API快速使用大语言模型
- 可定制各种聊天机器人角色
- 自动管理对话历史
- 支持基于提供的事实进行对话(即将推出)
- 可通过pip安装使用
丰富的预设角色
Conversant提供了多个预设的聊天机器人角色,包括:
- 🧑💼 客户支持代理
- ⌚️ 手表销售代理
- 🧑🏫 数学老师
- 🧙 奇幻巫师
开发者只需提供角色描述和一些示例对话,就可以轻松创建自己的聊天机器人角色。
快速上手
使用Conversant创建聊天机器人非常简单,只需几行代码:
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": "<CONVERSATION>\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的工作原理
Conversant使用提示补全技术来定义聊天机器人角色,包括角色描述和一些示例对话。这些提示会作为输入发送到Cohere的co.generate()
端点,由自回归语言模型根据示例和当前对话上下文以少样本方式生成文本。
每条用户消息和聊天机器人回复都会被添加到对话历史中,以便未来的回复能够基于当前的对话上下文生成。
开始使用Conversant
-
安装Conversant:
pip install conversant
2. 获取Cohere API密钥:
访问[dashboard.cohere.ai](https://dashboard.cohere.ai/welcome/register?utm_source=github&utm_medium=content&utm_campaign=sandbox&utm_content=conversant)注册并获取API密钥。
3. 运行Streamlit演示:
streamlit run conversant/demo/streamlit_example.py
4. 创建自定义角色:
在`conversant/personas`目录下创建新的子文件夹,添加`config.json`文件来定义新角色。
### 未来展望
Conversant团队计划在未来添加更多功能,包括让聊天机器人能够基于从本地文档缓存中检索的文本进行事实性对话。这将进一步增强Conversant的应用场景和实用性。
### 贡献与支持
Conversant是一个开源项目,欢迎开发者贡献代码或提出建议。如果你在使用过程中遇到任何问题,可以在GitHub上提交issue或通过[Discord](https://discord.gg/co-munity)与开发团队联系。
Conversant为开发者提供了一个强大而灵活的工具,让创建智能对话代理变得简单易行。无论是构建客户服务机器人、教育辅助工具,还是创意写作助手,Conversant都能满足各种对话AI的需求。随着项目的不断发展和完善,相信Conversant会在对话AI领域发挥越来越重要的作用。