WhyHow知识图谱工作室使用教程
1. 项目介绍
WhyHow知识图谱工作室是一个用于创建和管理RAG原生知识图谱的平台。它提供了诸如基于规则的实体解析、模块化图形构建、灵活的数据摄取以及支持SDK的API优先设计等功能。无论您处理的是结构化数据还是非结构化数据,构建探索性图表还是高度模式约束的图表,这个平台都能提供可扩展性和灵活性,帮助您构建动态的图形支持AI工作流程,适用于实验和大规模使用。
该平台构建在NoSQL数据库之上,如MongoDB等NoSQL数据存储是构建知识图谱的强大选择,提供了一个灵活、可扩展的存储层,能够快速检索数据,轻松遍历复杂关系,并为开发者提供了熟悉的接口。
2. 项目快速启动
首先,您需要克隆该项目:
git clone git@github.com:whyhow-ai/knowledge-graph-studio.git
cd knowledge-graph-studio
pip install .
如果您是开发者,可能希望使用可编辑的安装方式。此外,您需要安装开发和文档依赖项:
pip install -e .[dev,docs]
配置环境变量
复制.env.example文件到.env,并根据您的环境更新值。要开始使用这个版本,您需要至少配置以下环境变量:
WHYHOW__EMBEDDING__OPENAI__API_KEY=<your openai api key>
WHYHOW__GENERATIVE__OPENAI__API_KEY=<your openai api key - can be the same>
WHYHOW__MONGODB__USERNAME=<your altas database username>
WHYHOW__MONGODB__PASSWORD=<your altas database password>
WHYHOW__MONGODB__DATABASE_NAME=main
WHYHOW__MONGODB__HOST=<your altas host i.e. 'xxx.xxx.mongodb.net'>
创建集合
配置好环境变量后,您需要在您的Atlas集群中创建数据库、集合和索引。我们提供了一个CLI脚本来简化这个过程:
cd src/whyhow_api/cli/
python admin.py setup-collections --config-file collection_index_config.json
这个脚本将创建11个集合:chunk、document、graph、node、query、rule、schema、task、triple、user和workspace。
创建用户
集合配置完成后,您需要创建一个用户和API密钥。我们同样提供了CLI脚本来创建用户:
python admin.py create-user --email <your email address> --openai-key <your openai api key>
创建用户成功后,您应该会看到一个包含您的电子邮件地址和WhyHow API密钥的消息。复制这个密钥,以便用于配置SDK。
启动API
配置完成后,您可以通过以下命令启动API服务器:
uvicorn src.whyhow_api.main:app
您可以使用whyhow-locate工具脚本来生成完整路径。
然后您可以通过浏览器访问http://localhost:8000/docs查看Swagger UI。
本地测试
安装Python SDK:
pip install whyhow
配置并运行:
from whyhow import WhyHow, Triple, Node, Chunk, Relation
# 配置WhyHow客户端
client = WhyHow(api_key='<your whyhow api key>', base_url="http://localhost:8000")
# 创建工作空间
workspace = client.workspaces.create(name="Demo Workspace")
# 创建块
chunk = client.chunks.create(
workspace_id=workspace.workspace_id,
chunks=[Chunk(content="preneur and visionary, Sam Altman serves as the CEO of OpenAI, leading advancements in artifici")]
)
# 创建三元组
triples = [
Triple(
head=Node(
name="Sam Altman",
label="Person",
properties={"title": "CEO"}
),
relation=Relation(name="runs"),
tail=Node(
name="OpenAI",
label="Business",
properties={"market cap": "$157 Billion"}
),
chunk_ids=[c.chunk_id for c in chunk]
)
]
# 创建图形
graph = client.graphs.create_graph_from_triples(
name="Demo Graph",
workspace_id=workspace.workspace_id,
triples=triples
)
# 查询图形
query = client.graphs.query_unstructured(
graph_id=graph.graph_id,
query="Who runs OpenAI?"
)
使用Docker
您也可以使用Docker来运行服务器。完成快速启动步骤1和2后,您可以构建并运行知识图谱工作室后端。
构建镜像:
docker build --platform=linux/amd64 -t kg_engine:v1 .
运行镜像:
OUTSIDE_PORT=1234
docker run -it --rm -p $OUTSIDE_PORT:8000 kg_engine:v1
3. 应用案例和最佳实践
(此部分将介绍一些实际的应用案例和最佳实践,具体内容将根据项目实际情况和用户需求来编写。)
4. 典型生态项目
(此部分将介绍与WhyHow知识图谱工作室相关的典型生态项目,包括但不限于相关的开源项目、工具和平台。)
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



