项目来源:https://github.com/whyhow-ai/knowledge-graph-studio
1、mongoDB
参考:https://www.runoob.com/mongodb/mongodb-linux-install.html
1.1、注册
根据提示注册即可
1.2、部署
下载、解压、路径配置、权限赋予
尝试执行:mongo --host 127.0.0.1 --port 27017
需要下载:sudo apt install mongodb-clients
本地创建conf文件,增加下面内容:
storage:
dbPath: /var/lib/mongo
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
net:
port: 27017
bindIp: 0.0.0.0
processManagement:
fork: true
security:
authorization: enabled
authenticationMechanisms:
- SCRAM-SHA-1
启动方式:mongod --config /path to conf/mongod.conf
关闭方式:mongod --config /path to conf/mongod.conf --shutdown
1.3、创建mongodb用户
进入命令行:
mongo --host 127.0.0.1 --port 27017
在mongodb命令行创建用户
use admin
db.createUser({
user: "admin",
customData: { description: "superuser" },
pwd: "admin",
roles: [{ role: "userAdminAnyDatabase", db: "admin" }]
});
显示successfully added user即成功。
2、knowledge graph studio
2.1、拉取代码
不做赘述,地址:https://github.com/whyhow-ai/knowledge-graph-studio
根据要求配置环境即可。
2.2、修改.env.samle文件
修改下面内容
WHYHOW__EMBEDDING__OPENAI__API_KEY=api key
WHYHOW__GENERATIVE__OPENAI__API_KEY=api key
WHYHOW__MONGODB__USERNAME=admin
WHYHOW__MONGODB__PASSWORD=admin
WHYHOW__MONGODB__DATABASE_NAME=admin
WHYHOW__MONGODB__HOST=127.0.0.1:27017
2.3、Create Collections 创建收藏
创建数据库、集合和索引。
需要修改本地的knowledge-graph-studio/src/whyhow_api/cli/admin.py文件。
修改内容如下:
class MongoDBConnection:
"""Context manager for MongoDB connection."""
def __init__(self) -> None:
self.settings = Settings()
self.client = None
self.db = None
def __enter__(self) -> AsyncIOMotorDatabase:
"""Connect to MongoDB and return database."""
# 修改为本地连接
# connect_to_mongo(uri=self.settings.mongodb.uri)
connect_to_mongo(uri='mongodb://admin:admin@127.0.0.1:27017/admin')
self.client = get_client() # type: ignore[assignment]
if self.client is None:
raise ConnectionError("Failed to connect to MongoDB client.")
self.db = self.client.get_database(self.settings.mongodb.database_name)
return self.db
def __exit__(
self,
exc_type: Optional[Type[BaseException]],
exc_val: Optional[BaseException],
exc_tb: Optional[TracebackType],
) -> None:
"""Close the MongoDB connection."""
close_mongo_connection()
注:本地部署不支持Atlas Search 索引。
2.4、创建账户
本地部署需要创建user,根据指示执行即可。
保存邮箱和apikey
账户信息保存在mongodb中,查询方式如下:
# 连接mongo
use admin
# 查找用户信息
db.user.find()