在Intel Xeon上实现RAG: 使用Chroma和文本生成推理

43 阅读2分钟

引言

在这篇文章中,我们将探讨如何在Intel® Xeon®可扩展处理器上实现基于Chroma和文本生成推理(RAG)的应用。这些处理器提供了增强的AI性能和高级安全技术,非常适合复杂的工作负载,并且在云环境中具有出色的应用程序可移植性。通过本文,您将学习如何在Intel Xeon上设置环境并执行RAG任务。

主要内容

环境设置

要在Intel® Xeon® 可扩展处理器上使用🤗的文本生成推理,请按以下步骤操作:

  1. 在Intel Xeon服务器上启动本地服务器实例:

    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),需要使用有效的Hugging Face Hub访问令牌。
    export HUGGINGFACEHUB_API_TOKEN=<token> 
    
  2. 发送请求检查端点是否正常工作:

    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'
    

    使用API代理服务提高访问稳定性

数据填充

要使用示例数据填充数据库,可以运行以下命令:

poetry install
poetry run python ingest.py

该脚本处理并存储来自Edgar 10k文件的数据到Chroma数据库中。

使用方法

在使用该包之前,需要安装LangChain CLI:

pip install -U langchain-cli

创建一个新的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")

可选配置

配置LangSmith以便于跟踪、监控和调试LangChain应用:

export LANGCHAIN_TRACING_V2=true
export LANGCHAIN_API_KEY=<your-api-key>
export LANGCHAIN_PROJECT=<your-project>  # 如果未指定,默认为"default"

运行LangServe实例:

langchain serve

这将在本地启动FastAPI应用,访问地址为 http://localhost:8000

常见问题和解决方案

  • 网络访问问题: 某些地区可能无法直接访问API,建议使用API代理服务以提高访问稳定性。
  • 内存不足: 使用--shm-size参数为Docker容器分配足够的共享内存。

总结和进一步学习资源

在这篇文章中,我们探讨了如何配置和运行基于RAG的应用,利用Intel Xeon处理器的强大性能。您可以进一步学习以下资源:

参考资料

  • Hugging Face 文档
  • Intel Xeon 技术文档
  • LangChain 文档

如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!

---END---