sugarforever / chat-ollama

ChatOllama is an open source chatbot based on LLMs. It supports a wide range of language models, and knowledge base management.
MIT License
2.63k stars 409 forks source link

500是什么问题? #10

Closed izonewonyoung closed 4 months ago

izonewonyoung commented 7 months ago

E:\chat-ollama\chat-ollama-main>npm run dev

dev nuxt dev

Nuxt 3.10.3 with Nitro 2.9.1 20:26:23 20:26:23 ➜ Local: http://localhost:3000/ ➜ Network: use --host to expose

i Using default Tailwind CSS file nuxt:tailwindcss 20:26:24 ➜ DevTools: press Shift + Alt + D in the browser (v1.0.8) 20:26:25

i Tailwind Viewer: http://localhost:3000/_tailwind/ nuxt:tailwindcss 20:26:25 i Vite client warmed up in 3218ms 20:26:29 i Vite server warmed up in 3004ms 20:26:29 √ Nuxt Nitro server built in 425 ms nitro 20:26:29 Ollama: { host: 'http://localhost:11434', username: undefined, password: undefined } Ollama: { host: 'http://localhost:11434', username: undefined, password: undefined } Error fetching knowledge bases: PrismaClientInitializationError: Invalid prisma.knowledgeBase.findMany() invocation in E:\chat-ollama\chat-ollama-main\server\api\knowledgebases\index.get.ts:6:1

3 const listKnowledgeBases = async (): Promise<KnowledgeBase[] null> => { 4 const prisma = new PrismaClient(); 5 try { → 6 return await prisma.knowledgeBase.findMany( error: Environment variable not found: DATABASE_URL. --> schema.prisma:3
2 provider = "sqlite"
3 url = env("DATABASE_URL")

Validation Error Count: 1 at _n.handleRequestError (E:\chat-ollama\chat-ollama-main\node_modules\@prisma\client\runtime\library.js:123:7154) at _n.handleAndLogRequestError (E:\chat-ollama\chat-ollama-main\node_modules\@prisma\client\runtime\library.js:123:6188) at _n.request (E:\chat-ollama\chat-ollama-main\node_modules\@prisma\client\runtime\library.js:123:5896) at async l (E:\chat-ollama\chat-ollama-main\node_modules\@prisma\client\runtime\library.js:128:10871) at listKnowledgeBases (E:\chat-ollama\chat-ollama-main\server\api\knowledgebases\index.get.ts:6:1) at Object.handler (E:\chat-ollama\chat-ollama-main\server\api\knowledgebases\index.get.ts:18:1) at async Object.handler (file:///E:/chat-ollama/chat-ollama-main/node_modules/h3/dist/index.mjs:1962:19) at async toNodeHandle (file:///E:/chat-ollama/chat-ollama-main/node_modules/h3/dist/index.mjs:2249:7) at async ufetch (file:///E:/chat-ollama/chat-ollama-main/node_modules/unenv/runtime/fetch/index.mjs:9:17) at async $fetchRaw2 (file:///E:/chat-ollama/chat-ollama-main/node_modules/ofetch/dist/shared/ofetch.00501375.mjs:219:26) { clientVersion: '5.10.2', errorCode: undefined } Ollama: { host: 'http://localhost:11434', username: undefined, password: undefined } [nuxt] [request error] [unhandled] [500] Cannot read properties of null (reading 'map') at E:\chat-ollama\chat-ollama-main\pages\knowledgebases\index.vue:122:36 at ReactiveEffect.fn (E:\chat-ollama\chat-ollama-main\node_modules\@vue\reactivity\dist\reactivity.cjs.js:998:13) at ReactiveEffect.run (E:\chat-ollama\chat-ollama-main\node_modules\@vue\reactivity\dist\reactivity.cjs.js:181:19) at get value [as value] (E:\chat-ollama\chat-ollama-main\node_modules\@vue\reactivity\dist\reactivity.cjs.js:1010:109) at unref (E:\chat-ollama\chat-ollama-main\node_modules\@vue\reactivity\dist\reactivity.cjs.js:1132:29) at Object.get (E:\chat-ollama\chat-ollama-main\node_modules\@vue\reactivity\dist\reactivity.cjs.js:1138:35) at _sfc_ssrRender (E:\chat-ollama\chat-ollama-main\pages\knowledgebases\index.vue:357:18) at renderComponentSubTree (E:\chat-ollama\chat-ollama-main\node_modules\@vue\server-renderer\dist\server-renderer.cjs.js:695:9) at E:\chat-ollama\chat-ollama-main\node_modules\@vue\server-renderer\dist\server-renderer.cjs.js:639:25 at async unrollBuffer$1 (E:\chat-ollama\chat-ollama-main\node_modules\@vue\server-renderer\dist\server-renderer.cjs.js:882:16)

sugarforever commented 7 months ago

看起来应该是SQLite数据库没有创建。

运行以下命令再尝试下。

npm run prisma-migrate

我会尽快更新文档。

izonewonyoung commented 7 months ago

E:\chat-ollama\chat-ollama-main>npm run prisma-migrate

prisma-migrate prisma migrate dev

Prisma schema loaded from prisma\schema.prisma Datasource "sqlite": SQLite database

Error: Prisma schema validation - (get-config wasm) Error code: P1012 error: Environment variable not found: DATABASE_URL. --> schema.prisma:3 2 provider = "sqlite" 3 url = env("DATABASE_URL")

Validation Error Count: 1 [Context: getConfig]

Prisma CLI Version : 5.10.2

sugarforever commented 7 months ago

E:\chat-ollama\chat-ollama-main>npm run prisma-migrate

prisma-migrate prisma migrate dev

Prisma schema loaded from prisma\schema.prisma Datasource "sqlite": SQLite database

Error: Prisma schema validation - (get-config wasm) Error code: P1012 error: Environment variable not found: DATABASE_URL. --> schema.prisma:3 | 2 | provider = "sqlite" 3 | url = env("DATABASE_URL") |

Validation Error Count: 1 [Context: getConfig]

Prisma CLI Version : 5.10.2

看来我必须要更新下文档了。

这个问题是因为没有环境变量DATABASE_URL

参考以下 .env.example ,在你的E:\chat-ollama\chat-ollama-main下创建一个 .env 文件。.env 文件中的 DATABASE_URL 可以设置为你期望放置sqlite文件的路径。

DISABLE_VERCEL_ANALYTICS=false
OPENAI_API_KEY=
DATABASE_URL=/Users/xyz/private/chatollama.sqlite
izonewonyoung commented 7 months ago

问题解决了,感谢^^

izonewonyoung commented 7 months ago

构建Knowledge Base的时候出现问题 Created knowledge base hj3: [object Object] Warning: TT: undefined function: 32 Warning: TT: undefined function: 3 [nuxt] [request error] [unhandled] [500] Chroma getOrCreateCollection error: Error: TypeError: fetch failed at Chroma.ensureCollection (/E:/chat-ollama/chat-ollama-main/node_modules/@langchain/community/dist/vectorstores/chroma.js:99:23) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Chroma.fromExistingCollection (/E:/chat-ollama/chat-ollama-main/node_modules/@langchain/community/dist/vectorstores/chroma.js:274:9) at ingestDocument (E:\chat-ollama\chat-ollama-main\server\api\knowledgebases\index.post.ts:25:1) at Object.handler (E:\chat-ollama\chat-ollama-main\server\api\knowledgebases\index.post.ts:92:1) at async Object.handler (/E:/chat-ollama/chat-ollama-main/node_modules/h3/dist/index.mjs:1962:19) at async Server.toNodeHandle (/E:/chat-ollama/chat-ollama-main/node_modules/h3/dist/index.mjs:2249:7) 另外,已经构建的Knowledge Base怎么删除啊。。。

Yamcanda commented 7 months ago

我也一样 500 Chroma getOrCreateCollection error fetch failed. 已经构建的 Knowledge Base 重新创建数据库并清理浏览器缓存(localstorage)

Yamcanda commented 7 months ago

我的是在 server\api\models\chat\index.post.ts 第 50 行左右的 new Chroma 中增加 url 参数指向 chromadb 地址可以解决。 你这样应该是在 server\api\knowledgebases\index.post.ts 给 chromedb 设置 url 参数,应该是 dbConfig 变量里面

jiyzhang commented 7 months ago

DATABASE_URL="file:/Users/xyz/private/chatollama.sqlite"

npm run prisma-migrate

prisma-migrate prisma migrate dev

Environment variables loaded from .env Prisma schema loaded from prisma/schema.prisma Datasource "sqlite": SQLite database

Error: Prisma schema validation - (get-config wasm) Error code: P1012 error: Error validating datasource sqlite: the URL must start with the protocol file:. --> schema.prisma:3 2 provider = "sqlite" 3 url = env("DATABASE_URL")

Validation Error Count: 1 [Context: getConfig]

Prisma CLI Version : 5.10.2

new-xiaojie commented 7 months ago

我也遇到这个问题

satrong commented 7 months ago

@jiyzhang @xiaojiegogogo

DATABASE_URL="file:/Users/xyz/private/chatollama.sqlite"

这个是 demo 地址,可能你电脑实际上没有这个文件路径,可以将配置改成:

DATABASE_URL=file:../../chatollama.sqlite

然后再执行:

npm run prisma-migrate
new-xiaojie commented 7 months ago

@jiyzhang @xiaojiegogogo

DATABASE_URL="file:/Users/xyz/private/chatollama.sqlite"

是demo地址,可能你电脑上实际上没有这个文件路径,可以将配置改成:

DATABASE_URL=file:../../chatollama.sqlite

然后再执行:

npm run prisma-migrate

嗯嗯,是可以了,我想知道我怎么默认模型啊,就不选择了,先来个默认的

satrong commented 7 months ago

这个暂时没有,我来加下这个功能吧😁

izonewonyoung commented 7 months ago

我的是在 server\api\models\chat\index.post.ts 第 50 行左右的 new Chroma 中增加 url 参数指向 chromadb 地址可以解决。 你这样应该是在 server\api\knowledgebases\index.post.ts 给 chromedb 设置 url 参数,应该是 dbConfig 变量里面 image 请问具体应该如何操作呢

satrong commented 7 months ago

@izonewonyoung 可以打开浏览器访问一下 http://localhost:8000/ 看看能否连通,正常情况如下图:

图片

如果不能访问,有可能是你的 ChromaDB 端口(默认就是8000)问题,也有可能是 ChromaDB 没有正常运行

izonewonyoung commented 7 months ago

@izonewonyoung 可以打开浏览器访问一下 http://localhost:8000/ 看看能否连通,正常情况如下图:

图片

如果不能访问,有可能是你的 ChromaDB 端口(默认就是8000)问题,也有可能是 ChromaDB 没有正常运行

image 应该怎么解决呢?

satrong commented 7 months ago

如果没有安装 ChromaDB ,先安装 docker ,再执行下面命令:

docker pull chromadb/chroma
docker run -d -p 8000:8000 chromadb/chroma
izonewonyoung commented 7 months ago

如果没有安装 ChromaDB ,先安装 docker ,再执行下面命令:

docker pull chromadb/chroma
docker run -d -p 8000:8000 chromadb/chroma

问题解决了,十分感谢!!!^^