本项目是一个支持Index-1.9B角色模型的推理框架,目前内置了三三
的角色。
下载以下模型到本地,并修改配置config/config.json
- 安装conda环境
conda create -n index python=3.10
- 激活对应的环境
conda activate index
- 安装torch,不要使用清华源
pip install torch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 --index-url https://download.pytorch.org/whl/cu116
- 对于Windows用户,安装faiss-gpu请用conda
conda install conda-forge::faiss-gpu
- 安装对应的依赖
pip install -r requirements.txt
-
使用指南
- 如果需要创建您自己的角色,请准备一个类似character/三三.csv的对话语料库(注意,文件名请与您要创建的角色名称保持一致)和对应角色的描述,点击
生成角色
即可创建成功。 - 如果已经创建好对应的角色,请您直接在Role name里输入您想对话的角色,并输入query,点击submit,即可对话。
- 如果需要创建您自己的角色,请准备一个类似character/三三.csv的对话语料库(注意,文件名请与您要创建的角色名称保持一致)和对应角色的描述,点击
先安装Flask:
pip install flask==3.0.3
用下面的命令启动一个flask服务,服务将使用config/config.json
中的权重路径:
## 通过下面的命令可以直接体验三三
python openai_demo.py
--role_name=三三
## 如果需要尝试新建角色,请用下面的方式启动
python openai_demo.py
--role_description='角色描述'
--role_dialog='xxx.csv'
--role_name='角色名'
你可以通过下面的方式进行对话:
curl http://127.0.0.1:8010/v1/character/chat/completions
-H "Content-Type: application/json"
-d '{
"messages":[
{"role":"user","content":"你叫什么名字"},
]
}'
- 针对已经支持的角色
你可以直接通过命令行的方式 python realtime_chat.py --role_name your_role_name
- 针对尚未支持的角色
你可以通过命令行python realtime_chat.py --role_name your_rolename --role_info your_role_desc --role_dialog_file your_role_dialog_path
- 如何结束对话
输入stop
结束对话
- 针对已经支持的角色
from index_play import IndexRolePlay
chatbox = IndexRolePlay(role_name="your_role_name")
# 以下两种方式都支持
chatbox.infer_with_question("your_question")
chatbox.infer_with_question_file("your_question_path")
- 针对尚未支持的角色
你需要先提供一个类似character/三三.csv的角色对话库以及对应的角色信息
from index_play import IndexRolePlay
chatbox = IndexRolePlay(role_name="your_role_name", role_info="your description", role_dialog_file="your_dialog_path")
# 以下两种方式都支持
chatbox.infer_with_question("your_question")
chatbox.infer_with_question_file("your_question_path")
# 安装llama.cpp(https://github.com/ggerganov/llama.cpp)
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
make
# 安装llama-cpp-python(https://github.com/abetlen/llama-cpp-python)
pip install llama-cpp-python
-
使用指南
- 如果需要创建您自己的角色,请准备一个类似character/三三.csv的对话语料库(注意,文件名请与您要创建的角色名称保持一致)和对应角色的描述,点击
生成角色
即可创建成功。 - 如果已经创建好对应的角色,请您直接在Role name里输入您想对话的角色,并输入query,点击submit,即可对话。
- 如果需要创建您自己的角色,请准备一个类似character/三三.csv的对话语料库(注意,文件名请与您要创建的角色名称保持一致)和对应角色的描述,点击
- 针对已经支持的角色
你可以直接通过命令行的方式python realtime_chat_gguf.py --role_name your_role_name
- 针对尚未支持的角色
你可以通过命令行python realtime_chat_gguf.py --role_name your_rolename --role_info your_role_desc --role_dialog_file your_role_dialog_path
- 如何结束对话
输入stop
结束对话
- 针对已经支持的角色
from index_play_gguf import IndexRolePlay
chatbox = IndexRolePlay(role_name="your_role_name")
# 以下两种方式都支持
chatbox.infer_with_question("your_question")
chatbox.infer_with_question_file("your_question_path")
- 针对尚未支持的角色
你需要先提供一个类似character/三三.csv的角色对话库以及对应的角色信息
from index_play_gguf import IndexRolePlay
chatbox = IndexRolePlay(role_name="your_role_name", role_info="your description", role_dialog_file="your_dialog_path")
# 以下两种方式都支持
chatbox.infer_with_question("your_question")
chatbox.infer_with_question_file("your_question_path")
- 安装Ollama
curl -fsSL https://ollama.com/install.sh | sh
- 启动Ollama服务并适配模型
# 启动server
ollama serve
# 适配模型, OllamaModelFile中可修改模型文件
ollama create Index-1.9B-Chat -f Index-1.9B-Chat-GGUF/OllamaModelFile
- 针对已经支持的角色
你可以直接通过命令行的方式python realtime_chat_ollama.py --role_name your_role_name
- 针对尚未支持的角色
你可以通过命令行python realtime_chat_ollama.py --role_name your_rolename --role_info your_role_desc --role_dialog_file your_role_dialog_path
- 如何结束对话
输入stop
结束对话
我们在模型训练的过程中,利用合规性检测等方法,最大限度地确保使用数据的合规性。虽然我们已竭尽全力确保在模型训练中使用数据的合法性,但鉴于模型的复杂性和使用场景的多样性,仍然可能存在一些尚未预料到的潜在问题。因此,对于任何使用开源模型而导致的风险和问题,包括但不限于数据安全问题,因误导、滥用、传播或不当应用带来的风险和问题,我们将不承担任何责任。
用户应对其创建的角色和上传的语料负全责。用户需确保其角色设定和语料内容符合所有适用的法律法规,并不得含有任何违法或不当内容。对于因用户行为导致的任何法律后果,用户应独立承担所有责任。
我们强烈呼吁所有使用者,不要利用Index-1.9B-character进行任何危害国家安全或违法的活动。希望大家可以遵循以上的原则,共建健康的科技发展环境。