和其他AI应用的流程。
pgai的目标是让AI工作更简单、更易于开发者使用。由于数据是大多数AI应用的基础,pgai致力于简化在AI工作流中利用数据的过程。其核心价值在于将AI能力与PostgreSQL紧密集成,使开发者能够直接在数据库中处理向量嵌入、执行语义搜索、实现RAG等AI任务,无需复杂的外部系统集成。
适用于需要基于企业私有数据构建问答系统的场景,如内部知识库、客户支持助手等,通过SQL直接实现检索与生成一体化。
为应用添加语义搜索能力,支持用户以自然语言查询结构化数据,提升搜索准确性(如电商产品搜索、文档检索)。
对现有业务数据(如用户评论、工单记录)进行自动分类或总结,辅助业务分析与决策。
需要存储、索引和查询向量嵌入的场景,尤其是大规模向量数据(百万级以上)的高效管理。
创建免费试用账户,直接使用预配置的pgai环境,参考Vectorizer文档。
使用***预构建Docker镜像,包含pgai及依赖组件(如pgvector、pgvectorscale)。
从GitHub仓库克隆源码,按文档编译安装(需PostgreSQL 14+环境)。
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
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: "[***]" # 若使用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: - "***:***" volumes: pgai_data: ollama_data:
参考快速入门指南,10分钟内完成自托管PostgreSQL环境的pgai配置,实现数据嵌入自动化。
连接数据库并启用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字段将自动填充向量值
设置环境变量:
bashexport OPENAI_API_KEY="sk-..." # Docker部署时通过-e传递
测试模型调用:
sqlSELECT pgai.openai_chat_completion( model => 'gpt-4o', messages => '[{"role":"user","content":"介绍pgai的核心功能"}]' );
启动Ollama服务并拉取模型:
bashdocker exec -it pgai-ollama ollama pull llama3
配置pgai连接Ollama:
sqlSELECT pgai.ollama_configure(base_url => '[***]
生成向量嵌入:
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;
基于检索到的文档生成回答:
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;
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429