系列目录-大模型学习篇
问题场景(Problems)
笔者在尝试动手实践RAG前,先了解大模型的应用的框架和基础模型理论,熟悉了模型微调和部署的相关知识。然后,利用开源大模型和成熟的深度学习库本地搭建和部署了LLMs。接着,学习向量数据库和文档切分的相关理论知识。所以现在应该开始动手,学习本地如何部署一个简单的RAG应用。
本章节我们直接使用qwen-agent来实现相关的调用,关于本文的数据和部分代码来自于另一位博主的博客,感谢分享。
首先,我们需要新建一个python环境:
conda create new_env python=3.10
然后,安装Qwen-agent:
pip install -U qwen-agent -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install qwen-agent[rag]
git clone https://github.com/QwenLM/Qwen-Agent.git
cd Qwen-Agent
pip install -e ./
因为我们上一章节,已经成功部署了自己的模型,设置ip地址为:
http://localhost:8000/v1
直接在新的项目里面,新建文件,名字为:myRagAgent.py,代码内容:
bot = Assistant(llm={'model': 'qwen1half-7b-chat','model_server':'http://localhost:8000/v1','api_key':'EMPTY'},
name='Assistant',
description='使用RAG检索并回答,支持文件类型:PDF/Word/PPT/TXT/HTML。')
messages = [{'role': 'user', 'content': [{'text': '文章标题是什么?'}, {'file': '谜语问答游戏.txt'}]}]
for rsp in bot.run(messages):
print(rsp)
运行以后输出的结果就是:
可以查看我们自己的大模型api是否返回了值:
显示了200 OK的响应,说明我们的程序没有问题。
那么本章的实践就到这里了,下一章节我们考虑如何将已有的文档(知识库)存入向量数据库中,通过加载向量数据库后匹配,再拼接外部知识给大模型生成内容,最后再返回给用户。