likes
comments
collection
share

后台初始化mysql和chromadb

作者站长头像
站长
· 阅读数 29

安装mysql

首先需要启动一个本地的mysql服务,用于存储服务端的相关数据。(如果是云开发,可以忽略,IP直连搞定😎)。这里讲一下如何在 MacOs(arm64)上启动 一般我们会推荐在docker中启动mysql,好处当然是与宿主运行环境隔离,方便数据管控和资源处理。最简单的就是安装一个docker-desktop,快捷启动docker。但是,在mac上,docker-desktop是要收费的,所以只能想想其他的替代方案。推荐 lima 保姆级教程,亲测好用 安装并启动好后,会看到终端已经运行起来了docker

后台初始化mysql和chromadb

接下来就是安装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和chromadb

安装好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的可视化管理页了

后台初始化mysql和chromadb

安装向量数据库

这里介绍的是 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也成功运行在本地了。 后台初始化mysql和chromadb 此时便可以将你的后台服务中用到的chroma连接到这个地址上, 这样就可以正常用这个数据库完成向量的保存和搜索了。

后台初始化mysql和chromadb

转载自:https://juejin.cn/post/7384265691162509346
评论
请登录