
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
和其他AI应用的流程。
pgai的目标是让AI工作更简单、更易于开发者使用。由于数据是大多数AI应用的基础,pgai致力于简化在AI工作流中利用数据的过程。其核心价值在于将AI能力与PostgreSQL紧密集成,使开发者能够直接在数据库中处理向量嵌入、执行语义搜索、实现RAG等AI任务,无需复杂的外部系统集成。
适用于需要基于企业私有数据构建问答系统的场景,如内部知识库、客户支持助手等,通过SQL直接实现检索与生成一体化。
为应用添加语义搜索能力,支持用户以自然语言查询结构化数据,提升搜索准确性(如电商产品搜索、文档检索)。
对现有业务数据(如用户评论、工单记录)进行自动分类或总结,辅助业务分析与决策。
需要存储、索引和查询向量嵌入的场景,尤其是大规模向量数据(百万级以上)的高效管理。
1. Timescale Cloud
创建免费试用账户,直接使用预配置的pgai环境,参考https://github.com/timescale/pgai/blob/main/docs/vectorizer.md%E3%80%82
2. 预构建Docker镜像
使用官方预构建Docker镜像,包含pgai及依赖组件(如pgvector、pgvectorscale)。
3. 源码编译
从https://github.com/timescale/pgai%E5%85%8B%E9%9A%86%E6%BA%90%E7%A0%81%EF%BC%8C%E6%8C%89%E6%96%87%E6%A1%A3%E7%BC%96%E8%AF%91%E5%AE%89%E8%A3%85%EF%BC%88%E9%9C%80PostgreSQL 14+环境)。
docker run 命令
bashdocker run -d \ --name pgai-instance \ -e POSTGRES_PASSWORD=your_secure_password \ -e POSTGRES_DB=pgai_demo \ -e OPENAI_API_KEY="your_openai_api_key" # 可选,根据使用的AI提供商配置 -p 5432:5432 \ timescale/pgai:latest
docker-compose 配置
yamlversion: '3.8' services: pgai: image: timescale/pgai:latest container_name: pgai-postgres environment: POSTGRES_PASSWORD: your_secure_password POSTGRES_USER: pgai_user POSTGRES_DB: pgai_demo OLLAMA_BASE_URL: "http://ollama:11434" # 若使用Ollama,配置服务地址 ANTHROPIC_API_KEY: "your_anthropic_api_key" # 若使用Anthropic Claude ports: - "5432:5432" volumes: - pgai_data:/var/lib/postgresql/data depends_on: - ollama # 若使用本地Ollama,添加依赖服务 ollama: image: ollama/ollama:latest container_name: pgai-ollama volumes: - ollama_data:/root/.ollama ports: - "11434:11434" volumes: pgai_data: ollama_data:
参考https://github.com/timescale/pgai/blob/main/docs/vectorizer-quick-start.md%EF%BC%8C10%E5%88%86%E9%92%9F%E5%86%85%E5%AE%8C%E6%88%90%E8%87%AA%E6%89%98%E7%AE%A1PostgreSQL%E7%8E%AF%E5%A2%83%E7%9A%84pgai%E9%85%8D%E7%BD%AE%EF%BC%8C%E5%AE%9E%E7%8E%B0%E6%95%B0%E6%8D%AE%E5%B5%8C%E5%85%A5%E8%87%AA%E5%8A%A8%E5%8C%96%E3%80%82
核心步骤:
连接数据库并启用pgai扩展:
sqlCREATE EXTENSION pgai;
创建带向量字段的表:
sqlCREATE TABLE documents ( id SERIAL PRIMARY KEY, content TEXT NOT NULL, embedding vector(1536) -- 向量维度需与模型匹配(如OpenAI text-embedding-3-small为1536) );
配置Vectorizer自动生成嵌入:
sqlSELECT pgai.vectorizer_create( table_name => 'documents', source_column => 'content', embedding_column => 'embedding', model => 'openai:text-embedding-3-small' );
插入数据后自动生成嵌入:
sqlINSERT INTO documents (content) VALUES ('pgai是PostgreSQL的AI扩展工具'); -- embedding字段将自动填充向量值
OpenAI配置
设置环境变量:
bashexport OPENAI_API_KEY="sk-..." # Docker部署时通过-e传递
测试模型调用:
sqlSELECT pgai.openai_chat_completion( model => 'gpt-4o', messages => '[{"role":"user","content":"介绍pgai的核心功能"}]' );
Ollama配置
启动Ollama服务并拉取模型:
bashdocker exec -it pgai-ollama ollama pull llama3
配置pgai连接Ollama:
sqlSELECT pgai.ollama_configure(base_url => 'http://ollama:11434');
生成向量嵌入:
sqlSELECT pgai.ollama_embed( model => 'llama3', input => 'pgai支持在PostgreSQL中开发AI应用' );
语义搜索
查询与"AI工具"相关的文档:
sqlSELECT content, pgai.cosine_similarity( embedding, pgai.openai_embed('text-embedding-3-small', 'AI工具') ) AS similarity FROM documents ORDER BY similarity DESC LIMIT 3;
RAG实现
基于检索到的文档生成回答:
sqlWITH retrieved_docs AS ( SELECT content FROM documents ORDER BY pgai.cosine_similarity( embedding, pgai.openai_embed('text-embedding-3-small', 'pgai如何实现RAG?') ) DESC LIMIT 2 ) SELECT pgai.openai_chat_completion( model => 'gpt-4o', messages => format( '[{"role":"system","content":"基于以下文档回答问题: %s"},{"role":"user","content":"pgai如何实现RAG?"}]', array_agg(content)::TEXT ) ) AS rag_answer FROM retrieved_docs;
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务