OpsPilot是WeOps团队开源的一个基于深度学习与LLM技术的AI运维领域领航员,让运维预案变得可交互,让本地运维知识变得可泛化、可推理
OpsPilot支持以ChatBot的形态与Web应用集成,主要提供以下能力:
- 运维能力沉淀:通过将运维的知识、运维技能、排查动作进行沉淀,在解决问题的时候以领航员的形态,通过对话的方式指引用户解决运维问题
- 本地知识问答:通过对本地知识、互联网知识进行索引,结合LLM的能力,回复用户的各种运维问题
- LLM聊天:当问题超出OpsPilot能够处理的范围的时候,使用LLM的能力解决各种长尾问题
场景化模型处于闭源状态,需要的小伙伴可以通过添加“小嘉”微信,加入官方沟通群,获取专业的场景化模型哦
OpsPilot支持驱动Jenkins,具备以下能力:
- 列出流水线
- 查找流水线
- 触发流水线构建:支持当流水线构建失败后,使用LLM分析构建失败的原因以及修复方法
export OPENAI_ENDPOINT=
export OPENAI_KEY=
cd ./support-files/
docker-compose up -d
使用 Python 3.10版本
virtualenv venv -p python3.10
pip install -r ./requirements.txt
pip install -r ./requirements-test.txt
python ./ops_pilot_cli.py init_data
索引本地知识
python ./ops_pilot_cli.py embed_local_knowledge --knowledge_path=
测试本地知识
python ./ops_pilot_cli.py query_embed_knowledge
启动OpsPilot NLU 服务
rasa run --enable-api --cors "*"
启动OpsPilot Actions服务
rasa run actions --auto-reload
修改credentials.yml
,添加jwt_key
、jwt_method
配置即可
socketio:
user_message_evt: user_uttered
bot_message_evt: bot_uttered
session_persistence: true
jwt_key: key
jwt_method: HS256
npx docusaurus-prince-pdf -u xxx
export HNSWLIB_NO_NATIVE=1
pip install -r requirements.txt
tracker_store:
type: SQL
dialect: "mysql+pymysql"
url: ""
db: "ops-pilot"
username: "root"
password: ""
参数 | 说明 | 可选配置 |
---|---|---|
FALLBACK_MODE | 使用本地LLM的模式 | LOCAL_LLM/FAST_GPT |
RUN_MODE | 是否以开发模式运行 | Dev(默认) |
DEFAULT_THINKING_MESSAGE | 默认回复的思考中信息 | OpsPilot正在思考中........ |
参数 | 说明 | 可选配置 |
---|---|---|
FASTGPT_ENDPOINT | FastGPT API调用地址 | |
FASTGPT_KEY | FastGPT API调用的秘钥 |
参数 | 说明 | 可选配置 |
---|---|---|
OPENAI_ENDPOINT | OpenAI上部署模型的端点 | |
OPENAI_KEY | OpenAI上部署模型使用的秘钥 | |
OPENAI_API_TEMPERATURE | OpenAI回复的严谨度 | 0~1,默认为0.7 |
VEC_DB_PATH | 本地向量数据库的路径 | vec_db(默认) |
REDIS_HOST | Redis IP地址,用于存放初始化的Prompt | |
REDIS_PORT | Redis 端口号 | |
REDIS_DB | Redis 数据库号 | |
REDIS_PASSWORD | Redis 密码 | |
FALLBACK_CHAT_MODE | LLM使用本地知识库模式还是闲聊模式 | knowledgebase /chat(默认) |
EMBED_MODEL_NAME | embed模型名称 | shibing624/text2vec-base-chinese(默认) |
EMBED_MODEL_CACHE_HOME | embed模型缓存路径 | cache/models(默认) |
INDEXER_DB_PATH | 倒排索引文件存放路径 | indexdir(默认) |
LLM_MAX_HISTORY | 闲聊模式下,最多传递的历史消息数量 | 10(默认) |
NEO4J_URL | 知识图谱的连接地址 | |
NEO4J_USERNAME | 知识图谱的用户名 | |
NEO4J_PASSWORD | 知识图谱的密码 | |
BKAPP_APPCODE | 蓝鲸的APP Code | |
BKAPP_APP_TOKEN | 蓝鲸的APP Token | |
BKAPP_BK_PAAS_HOST | 蓝鲸的PAAS HOST | |
BKAPP_API_VER | 蓝鲸的API版本 |
- [新增]FastGPT支持
- [新增]Redis故障处置引导模式
- [新增]支持将蓝鲸CMDB的数据映射至Neo4J,并使用LangChain进行知识问答
- [优化]企业微信对接优化
- [新增]Word文档索引能力
- [新增]PPT文档索引能力
- [新增]企业微信机器人Channel
- [新增]企业微信Channel,企业微信Channel支持Dall与GPT问答能力
- [优化]闲聊模式的Prompt
- [优化]闲聊模式添加LLM_MAX_HISTORY变量,控制传递的历史记录数量
- [优化]使用FAISS替换chromadb
- [新增]支持对接Jenkins,提供Jenkins流水线查询、列出Jenkins流水线、构建Jenkins流水线并通知的能力
- [新增]支持OpsPilot触发Jenkins流水线失败之后,调用LLM给出修复建议
- [新增] ENABLE_JENKINS_SKILL环境变量
- [优化]联网问答添加url校验
- [优化]优化联网问答的slot,仅在chat_online模式下激活
- Prompt配置存放至Redis中
- 采用倒排索引+语义检索两种模式,提升LLM推理准确率
- 新增联网使用GPT进行问答的能力
- 完成基础框架搭建
- 支持ChatGPT闲聊模式
- 支持索引目标网站、本地PDF知识,完成本地知识问答
- 支持基于Intent的运维能力整合