hugging-chat-api
English | 简体中文
非官方HuggingChat Python API,可扩展用于聊天机器人等。
注意
最近的一些版本可能在某种程度上不再完全向后兼容,如果出现任何问题,最好及时查看此README或相关问题。 不再支持自定义参数(温度、最大令牌数等)
最近的更新:
- 助手(图像生成器等)
- 网络搜索
- 记忆上下文
- 支持更换语言模型
安装
pip3 install hugchat
使用方法
API
以下是此仓库的所有常见用法,您不一定要全部使用,可以根据需要添加或删除一些 :)
from hugchat import hugchat
from hugchat.login import Login
# 登录huggingface并授权huggingchat
EMAIL = "你的邮箱"
PASSWD = "你的密码"
cookie_path_dir = "./cookies/" # 注意:末尾的斜杠(/)是必需的,以避免错误
sign = Login(EMAIL, PASSWD)
cookies = sign.login(cookie_dir_path=cookie_path_dir, save_cookies=True)
# 创建你的聊天机器人
chatbot = hugchat.ChatBot(cookies=cookies.get_dict()) # 或者 cookie_path="usercookies/<email>.json"
message_result = chatbot.chat("嗨!") # 注意:message_result是一个生成器,该方法会立即返回。
# 非流式
message_str: str = message_result.wait_until_done() # 你也可以直接打印(message_result)。
# 获取文件(如图片)
file_list = message_result.get_files_created() # 必须先调用wait_until_done()!
# 提示:模型"CohereForAI/c4ai-command-r-plus"可以生成图像 :)
# 流式响应
for resp in chatbot.query(
"你好",
stream=True
):
print(resp)
# 网络搜索
query_result = chatbot.query("嗨!", web_search=True)
print(query_result)
for source in query_result.web_search_sources:
print(source.link)
print(source.title)
print(source.hostname)
# 创建新对话
chatbot.new_conversation(switch_to = True) # 切换到新对话
# 获取服务器上不是当前会话的对话(你在huggingchat中的所有对话)
conversation_list = chatbot.get_remote_conversations(replace_conversation_list=True)
# 获取对话列表(本地)
conversation_list = chatbot.get_conversation_list()
# 获取可用的模型(非硬编码)
models = chatbot.get_available_llm_models()
# 使用给定索引切换模型
chatbot.switch_llm(0) # 切换到第一个模型
chatbot.switch_llm(1) # 切换到第二个模型
# 获取当前对话的信息
info = chatbot.get_conversation_info()
print(info.id, info.title, info.model, info.system_prompt, info.history)
# 助手
assistant = chatbot.search_assistant(assistant_name="ChatGpt") # 助手名称列表在 https://huggingface.co/chat/assistants
assistant_list = chatbot.get_assistant_list_by_page(page=0)
chatbot.new_conversation(assistant=assistant, switch_to=True) # 使用助手创建新对话
# [危险] 删除登录用户的所有对话
chatbot.delete_all_conversations()
命令行界面
0.0.5.2
版本或更新版本
只需在终端中运行以下命令即可启动命令行模式
python -m hugchat.cli
命令行参数:
-u <你的huggingface邮箱>
: 提供账户邮箱以登录。-p
: 强制要求密码登录,忽略保存的cookies。-s
: 在命令行界面启用流式输出模式。-c
: 在命令行界面继续上一次的对话。
命令行模式下的命令:
-
/new
: 创建并切换到新对话。 -
/ids
: 显示当前会话中所有ID号和ID字符串的列表。 -
/switch
: 显示当前会话中所有对话的信息列表。然后你可以选择一个切换到。 -
/switch all
: 显示你账户中所有对话的信息列表。然后你可以选择一个切换到。(如果你的账户有很多对话,不推荐使用) -
/del <索引>
: 删除与传递的索引相关联的对话。不会删除活动会话。 -
/delete-all
: 删除登录用户的所有对话。 -
/clear
: 清空终端。 -
/llm
: 获取你可以切换到的可用模型。 -
/llm <索引>
: 根据/llm
切换到给定模型索引的模型。 -
/share
: 切换与模型作者共享数据的设置。默认开启。 -
/exit
: 关闭命令行环境。 -
/stream
: 切换流式响应。 -
/web
: 切换网络搜索。 -
/web-hint
: 切换显示网络搜索提示。 -
AI是一个活跃的研究领域,存在已知问题,如有偏见的生成和错误信息。不要使用此应用程序进行高风险决策或获取建议。
-
服务器资源宝贵,不建议高频率请求此API。 (
Hugging Face的CTO🤗
刚刚点赞了这个建议)
免责声明
这不是Hugging Face的官方产品。这是一个个人项目,与Hugging Face没有任何关系。请勿起诉我们。