后台初始化mysql和chromadb
安装mysql
首先需要启动一个本地的mysql服务,用于存储服务端的相关数据。(如果是云开发,可以忽略,IP直连搞定😎)。这里讲一下如何在 MacOs(arm64)上启动 一般我们会推荐在docker中启动mysql,好处当然是与宿主运行环境隔离,方便数据管控和资源处理。最简单的就是安装一个docker-desktop,快捷启动docker。但是,在mac上,docker-desktop是要收费的,所以只能想想其他的替代方案。推荐 lima 保姆级教程,亲测好用 安装并启动好后,会看到终端已经运行起来了docker
接下来就是安装mysql
sudo docker pull mysql:latest
在3306端口启动mysql服务
sudo docker run -d --name mysql-server -e MYSQL_ROOT_PASSWORD=my-secret-pw -p 3306:3306
mysql:latest
可以通过
sudo docker ps
查看mysql服务是否已经成功运行,成功的话会看到
安装好mysql后,推荐再安装一个可视化的管理端方便我们查看数据库,这里我们安装
sudo docker pull phpmyadmin/phpmyadmin
同样的,安装好后我们启动它
sudo docker run -d --name phpmyadmin --link mysql-server:db -p 8080:80 -e PMA_HOST=mysql-server -e PMA_PORT=3306 -e PMA_USER=root -e PMA_PASSWORD=my-secret-pw phpmyadmin/phpmyadmin
我们在浏览器上输入 localhost:8080
就可以看到mysql的可视化管理页了
安装向量数据库
这里介绍的是 chromadb
,因为我们用的是这个啦。chromadb也有docker直接安装的方案,这里介绍用python安装并启动。
也非常简单,首先是安装 chromadb 这个包,然后在安装后的目录下启动服务端
chroma run --path /db_path
之后,执行下面的python脚本
import chromadb
from chromadb.config import Settings
from fastapi import FastAPI
from starlette.middleware.cors import CORSMiddleware
# 初始化app
app = FastAPI()
# 配置ChromaDB
settings = Settings(
chroma_db_impl="duckdb+parquet",
persist_directory="./chroma_db" # 数据库文件存储路径
)
# 创建ChromaDB客户端
# 添加路由
@app.get("/")
def read_root():
return {"Hello": "World"}
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
if __name__ == "__main__":
import uvicorn
chroma_client = chromadb.HttpClient(host="localhost", port=8000)
uvicorn.run(app, host="0.0.0.0", port=8003)
可以看到,chromadb也成功运行在本地了。
此时便可以将你的后台服务中用到的chroma连接到这个地址上, 这样就可以正常用这个数据库完成向量的保存和搜索了。
转载自:https://juejin.cn/post/7384265691162509346