代码拉取完成,页面将自动刷新
这是一个Java实现的LLMs项目。你可以用它部署自己的私有服务,支持 Llama2
和 GPT
模型及其他开源模型。
llama-java-core
octet-chat-app
服务端部署
,快速实现私有化服务命令行交互
,简单的本地聊天交互llama.cpp
构建AI Agent
,基于 Qwen-chat
实现 Function calling
并行推理
、连续对话
和 文本生成
Llama2
和 GPT
模型及其他开源模型,例如:Baichuan 7B
、Qwen 7B
...
[!NOTE]
你可以自行量化原始模型或搜索
huggingface
获取开源模型。
如何使用
编辑 characters.template.json
设置一个自定义的AI角色。
{
"name": "Assistant Octet",
"agent_mode": false,
"prompt": "Answer the questions.",
"model_parameter": {
"model_path": "/models/ggml-model-7b_m-q6_k.gguf",
"model_type": "LLAMA2",
"context_size": 4096,
"threads": 6,
"threads_batch": 6,
"mmap": true,
"mlock": false,
"verbose": true
},
"generate_parameter": {
"temperature": 0.85,
"repeat_penalty": 1.2,
"top_k": 40,
"top_p": 0.9,
"verbose_prompt": true,
"user": "User",
"assistant": "Octet"
}
}
运行命令行交互并指定刚才设置的角色名称,开始聊天:
java -jar octet-chat-app.jar --character YOUR_CHARACTER
[!TIP]
使用
help
查看更多参数,示例如下:
java -jar octet-chat-app.jar --help
usage: Octet.Chat
--app <arg> App launch type: cli | api (default: cli).
-c,--completions Use completions mode.
-ch,--character <arg> Load the specified AI character, default:
llama2-chat.
-h,--help Show this help message and exit.
-q,--questions <arg> Load the specified user question list, example:
/PATH/questions.txt.
[!NOTE]
实现基于
Qwen-chat
系列模型,更多信息请参考:Qwen Github
如何使用
下载 Qwen-chat
模型,编辑 octet.json
设置模型文件路径,将 agent_mode
修改为 true
即可开启智能体模式。
插件 | 描述 |
---|---|
时间查询 | 可以查询当前系统时间的插件。 |
接口调用 | 通用的接口调用插件,基于此你可以实现天气、文生图、搜索等服务的接入。 |
插件配置文件示例:plugins.json
如何使用
和命令行交互一样,首先设置一个自定义的AI角色。
启动服务,打开浏览器开始聊天,默认地址:http://YOUR_IP_ADDR:8152/
# Default URL: http://YOUR_IP_ADDR:8152/
cd <YOUR_PATH>/octet-chat-app
bash app_server.sh start YOUR_CHARACTER
[!TIP]
你也可以将API服务集成到你的应用中,例如:
VsCode
、App
、
Api docs: http://127.0.0.1:8152/swagger-ui.html
curl --location 'http://127.0.0.1:8152/v1/chat/completions' \
--header 'Content-Type: application/json' \
--data '{
"messages": [
{
"role": "USER",
"content": "Who are you?"
}
],
"user": "User",
"stream": true
}'
接口将以流的方式返回数据:
{
"id": "octetchat-98fhd2dvj7",
"model": "Llama2-chat",
"created": 1695614393810,
"choices": [
{
"index": 0,
"delta": {
"content": "你好"
},
"finish_reason": "NONE"
}
]
}
开发文档
角色配置
[!IMPORTANT]
- 本项目不提供任何模型,请自行获取模型文件并遵守相关协议。
- 请勿将本项目用于非法用途,包括但不限于商业用途、盈利用途、以及违反法律法规的用途。
- 因使用本项目所产生的任何法律责任,由使用者自行承担,本项目不承担任何法律责任。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。