lobehub / lobe-chat

🤯 Lobe Chat - an open-source, modern-design AI chat framework. Supports Multi AI Providers( OpenAI / Claude 3 / Gemini / Ollama / Azure / DeepSeek), Knowledge Base (file upload / knowledge management / RAG ), Multi-Modals (Vision/TTS) and plugin system. One-click FREE deployment of your private ChatGPT/ Claude application.
https://chat-preview.lobehub.com
Other
41.14k stars 9.37k forks source link

[Bug] glm-4v-plus的api调用异常 #3814

Closed BiFangKNT closed 1 week ago

BiFangKNT commented 2 weeks ago

📦 部署环境

Docker

📌 软件版本

lobehub/lobe-chat-database:latest

💻 系统环境

Other Linux

🌐 浏览器

Chrome

🐛 问题描述

使用glm-4v-plus模型时,上传图片后模型无法正常回答,报以下错误:

{
  "error": {
    "code": "1210",
    "message": "API 调用参数有误,请检查文档。"
  },
  "endpoint": "https://open.bigmodel.cn/api/paas/v4",
  "provider": "zhipu"
}

📷 复现步骤

选择glm-4v-plus模型,上传图片,询问

🚦 期望结果

正常读取图片,正常回答

📝 补充信息

No response

hezhijie0327 commented 1 week ago

@BiFangKNT 今日的 PR 仅去除了原先 /etc/resolv.conf 文件中引起 LobeChat 镜像中的 DNS 解析故障问题的 ndots:0 参数。你这报错如果来自于 Logto,那问题定位方向应该在它的镜像中

@arvinxx 得帮忙找个熟悉 Logto 配置的小伙伴帮忙看看了... 我部署走的 Cloudflare Zero Trust,不太了解这个的部署

lobehubbot commented 1 week ago

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑‍🤝‍🧑👫🧑🏿‍🤝‍🧑🏻👩🏾‍🤝‍👨🏿👬🏿


@BiFangKNT Today’s PR only removes the ndots:0 parameter in the original /etc/resolv.conf file that caused DNS resolution failure in the LobeChat image. If your error comes from Logto, then the problem location direction should be in its mirror.

@arvinxx I need to help find a friend who is familiar with Logto configuration to help me take a look... I deployed Cloudflare Zero Trust and don't know much about this deployment.

BiFangKNT commented 1 week ago

@BiFangKNT 今日的 PR 仅去除了原先 /etc/resolv.conf 文件中引起 LobeChat 镜像中的 DNS 解析故障问题的 ndots:0 参数。你这报错如果来自于 Logto,那问题定位方向应该在它的镜像中

@arvinxx 得帮忙找个熟悉 Logto 配置的小伙伴帮忙看看了... 我部署走的 Cloudflare Zero Trust,不太了解这个的部署

问一个比较小白的问题,logto自部署根本连文档都没有,大神们是怎么折腾的🤣🤣

lobehubbot commented 1 week ago

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑‍🤝‍🧑👫🧑🏿‍🤝‍🧑🏻👩🏾‍🤝‍👨🏿👬🏿


@BiFangKNT Today's PR only removes the ndots:0 parameter in the original /etc/resolv.conf file that caused DNS resolution failure in the LobeChat image. If your error comes from Logto, then the problem location direction should be in its mirror.

@arvinxx I need to help find a friend who is familiar with Logto configuration to help me take a look... I deployed Cloudflare Zero Trust and I don’t know much about this deployment.

Let me ask a relatively new question. There is no documentation for logto self-deployment. How did the masters go about it🤣🤣

BiFangKNT commented 1 week ago

@BiFangKNT 今日的 PR 仅去除了原先 /etc/resolv.conf 文件中引起 LobeChat 镜像中的 DNS 解析故障问题的 ndots:0 参数。你这报错如果来自于 Logto,那问题定位方向应该在它的镜像中

@arvinxx 得帮忙找个熟悉 Logto 配置的小伙伴帮忙看看了... 我部署走的 Cloudflare Zero Trust,不太了解这个的部署

另外请问Cloudflare Zero Trust国内好用吗?要付费吗?

lobehubbot commented 1 week ago

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑‍🤝‍🧑👫🧑🏿‍🤝‍🧑🏻👩🏾‍🤝‍👨🏿👬🏿


@BiFangKNT Today's PR only removes the ndots:0 parameter in the original /etc/resolv.conf file that caused DNS resolution failure in the LobeChat image. If your error comes from Logto, then the problem location direction should be in its mirror.

@arvinxx I need to help find a friend who is familiar with Logto configuration to help me take a look... I deployed Cloudflare Zero Trust and I don’t know much about this deployment.

Also, is Cloudflare Zero Trust easy to use in China? Do I have to pay?

hezhijie0327 commented 1 week ago

用起来没啥问题,免费的。主要自己域名也在 CF 上,配合 Cloudflare Tunnel 实现内网穿透及SSL自动就上了十分方便,还能配置应用 Access 权限

文档如下: https://lobehub.com/zh/docs/self-hosting/advanced/auth/next-auth/cloudflare-zero-trust

hezhijie0327 commented 1 week ago

后面这些文档里我没写,但是配置起来都是图形化点一点就行了 image

lobehubbot commented 1 week ago

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑‍🤝‍🧑👫🧑🏿‍🤝‍🧑🏻👩🏾‍🤝‍👨🏿👬🏿


I didn’t write it in the following documents, but the configuration is just a matter of graphical clicks. image

BiFangKNT commented 1 week ago

后面这些文档里我没写,但是配置起来都是图形化点一点就行了 image

这是什么,内网穿透吗?

lobehubbot commented 1 week ago

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑‍🤝‍🧑👫🧑🏿‍🤝‍🧑🏻👩🏾‍🤝‍👨🏿👬🏿


I didn’t write it in the following documents, but the configuration is just a matter of graphical points! [image](https://private-user-images.githubusercontent.com/58100052/365647978-fea2d86a-5940-40f9-83c7 -4c03d530e6f3.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..2A19FexXrXzp129hfxxg6t0gQRF5WD8np-zY0_wDH_E)

What is this, intranet penetration?

hezhijie0327 commented 1 week ago

嗯 或者理解成带自动 SSL 的 Nginx 反向代理,默认 443 端口

比如:

外网访问
https://lobechat.example.org -> 127.0.0.1:3210
https://minio.example.org -> 127.0.0.1:9000
lobehubbot commented 1 week ago

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑‍🤝‍🧑👫🧑🏿‍🤝‍🧑🏻👩🏾‍🤝‍👨🏿👬🏿


Well, or understand it as Nginx reverse proxy with automatic SSL, default port 443

for example:

External network access
https://lobechat.example.org -> 127.0.0.1:3210
https://minio.example.org -> 127.0.0.1:9000
BiFangKNT commented 1 week ago

嗯 或者理解成带自动 SSL 的 Nginx 反向代理,默认 443 端口

比如:

外网访问
https://lobechat.example.org -> 127.0.0.1:3210
https://minio.example.org -> 127.0.0.1:9000

嗯,不过我有公网v6,做了反代,穿透用蒲公英也行,所以对这个没什么需求

lobehubbot commented 1 week ago

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑‍🤝‍🧑👫🧑🏿‍🤝‍🧑🏻👩🏾‍🤝‍👨🏿👬🏿


Well, or understand it as Nginx reverse proxy with automatic SSL, default port 443

For example:

External network access
https://lobechat.example.org -> 127.0.0.1:3210
https://minio.example.org -> 127.0.0.1:9000

Yes, but I have public network v6, and I have done reverse generation. Dandelion can also be used for penetration, so there is no need for this.

BiFangKNT commented 1 week ago

用起来没啥问题,免费的。主要自己域名也在 CF 上,配合 Cloudflare Tunnel 实现内网穿透及SSL自动就上了十分方便,还能配置应用 Access 权限

文档如下: https://lobehub.com/zh/docs/self-hosting/advanced/auth/next-auth/cloudflare-zero-trust

大佬,后面这页教程里没有,该怎么填啊 image

是设置一个默认组吗,填个名字就行了?

lobehubbot commented 1 week ago

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑‍🤝‍🧑👫🧑🏿‍🤝‍🧑🏻👩🏾‍🤝‍👨🏿👬🏿


Well, or understand it as Nginx reverse proxy with automatic SSL, default port 443

For example:

External network access
https://lobechat.example.org -> 127.0.0.1:3210
https://minio.example.org -> 127.0.0.1:9000

Boss, there is no tutorial on the following page, how should I fill it in? image

hezhijie0327 commented 1 week ago

创个 Group 把你自己的邮箱放进去 image image 然后你就把这个 group 放进这个 Policy 里就行 image

lobehubbot commented 1 week ago

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑‍🤝‍🧑👫🧑🏿‍🤝‍🧑🏻👩🏾‍🤝‍👨🏿👬🏿


Create a Group and put your own email address in it image image Then you just put this group into this Policy. image

hezhijie0327 commented 1 week ago

你可以到这里去配置登陆方式,One-time PIN 就是发送个验证码到你邮箱,这个最简单只要启用就能直接用
image image

BiFangKNT commented 1 week ago

创个 Group 把你自己的邮箱放进去 image image 然后你就把这个 group 放进这个 Policy 里就行 image

大佬,这个无限期又立即到期是什么意思啊 image

lobehubbot commented 1 week ago

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑‍🤝‍🧑👫🧑🏿‍🤝‍🧑🏻👩🏾‍🤝‍👨🏿👬🏿


Group photo =eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9. .LRFZ986w0J9X7-9LSvfmKTxst3Zgo7eLmCVVreWHBTM) ![image](https://private-user-images.githubusercontent.com/58100052/365653651-69c4f377-c6b7-49b7-998d-5cef6b87ace5.png?j wt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..jdZxYLhp1IPCtw7iXq0QgCH1sTSl05k7DKgU3yrsH6U) 然后你就把这个 group 放进这个 Policy 里就行 ![image](https://private-user-images.githubusercontent.com/58100052/365654076-73ef6393-c84e-4d0c-b94c-3d333f868226.png?jwt =eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..oheN7Nvr5 -xFJTv6cHhQJS6V99J7vTz_-8t1VEsXZEQ)

大佬,这个无限期又立即到期是什么意思啊 image

hezhijie0327 commented 1 week ago

就是重验证时间,你可以拉长一点,到期后就得重新登陆下

lobehubbot commented 1 week ago

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑‍🤝‍🧑👫🧑🏿‍🤝‍🧑🏻👩🏾‍🤝‍👨🏿👬🏿


It’s the re-verification time. You can lengthen it a little longer. After it expires, you have to log in again.

BiFangKNT commented 1 week ago

@hezhijie0327 请问这个有多账户管理吗,lobe里不同的账户的设置和对话是相互独立的吗? 另外问一下,好像只能在控制台后台手动添加邮箱,不能在登录页面开放注册是吗?虽然我没这个需求,就问问🤣

lobehubbot commented 1 week ago

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑‍🤝‍🧑👫🧑🏿‍🤝‍🧑🏻👩🏾‍🤝‍👨🏿👬🏿


@hezhijie0327 Is this multi-account management? Are the settings and conversations of different accounts in lobe independent of each other? Also, I want to ask, it seems that I can only add my email address manually in the background of the console, but I can’t open the registration on the login page, right? Although I don’t have this need, I just ask 🤣

arvinxx commented 1 week ago

@hezhijie0327 后续准备把 logto 的方案替换成 casdoor。应该会更加容易部署一些

lobehubbot commented 1 week ago

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑‍🤝‍🧑👫🧑🏿‍🤝‍🧑🏻👩🏾‍🤝‍👨🏿👬🏿


@hezhijie0327 In the future, we plan to replace the logto solution with casdoor. It should be easier to deploy

BiFangKNT commented 1 week ago

@hezhijie0327 请问lobe配合cloudflare这个能做多账户管理,比如限制某个账户使用一些模型吗?

lobehubbot commented 1 week ago

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑‍🤝‍🧑👫🧑🏿‍🤝‍🧑🏻👩🏾‍🤝‍👨🏿👬🏿


@hezhijie0327 Can lobe cooperate with cloudflare to manage multiple accounts, such as restricting a certain account to use some models?

BiFangKNT commented 1 day ago

@BiFangKNT 今日的 PR 仅去除了原先 /etc/resolv.conf 文件中引起 LobeChat 镜像中的 DNS 解析故障问题的 ndots:0 参数。你这报错如果来自于 Logto,那问题定位方向应该在它的镜像中

@arvinxx 得帮忙找个熟悉 Logto 配置的小伙伴帮忙看看了... 我部署走的 Cloudflare Zero Trust,不太了解这个的部署

大佬你好,请问现在还需要映射这个dns文件吗?我现在保留着这段设置:

  lobe:
    image: lobehub/lobe-chat-database
    container_name: lobe-database
    ports:
      - '3210:3210'
    volumes:
      - '/volume1/docker/lobechat/resolv.conf:/etc/resolv.conf'
    depends_on:
      - postgresql
      - minio
    env_file:
      - .env
    restart: always

但是点文件分块后,日志里报了dns的错(应该和我没有text-embedding-3-small模型无关,后者不应该报dns错误):

[ParseFileToChunks] error: d [TRPCClientError]: fetch failed
    at d.from (/app/.next/server/chunks/52070.js:35:134906)
    at /app/.next/server/chunks/52070.js:35:140635
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
  meta: undefined,
  shape: undefined,
  data: undefined,
  [cause]: TypeError: fetch failed
      at node:internal/deps/undici/undici:13178:13
      at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
      at async I (/app/.next/server/chunks/52070.js:35:139387)
      at async Object.fetch (/app/.next/server/chunks/52070.js:35:139979) {
    [cause]: Error: getaddrinfo ENOTFOUND lobechat.example.top
        at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:120:26)
        at GetAddrInfoReqWrap.callbackTrampoline (node:internal/async_hooks:130:17) {
      errno: -3007,
      code: 'ENOTFOUND',
      syscall: 'getaddrinfo',
      hostname: 'lobechat.example.top'
    }
  }
}
BiFangKNT commented 1 day ago

@hezhijie0327 顶级域名是.top,难道和这个有关吗?

lobehubbot commented 1 day ago

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑‍🤝‍🧑👫🧑🏿‍🤝‍🧑🏻👩🏾‍🤝‍👨🏿👬🏿


@hezhijie0327 The top-level domain name is .top. Is this related to it?

BiFangKNT commented 1 day ago

分块问题前文: #4058

lobehubbot commented 1 day ago

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑‍🤝‍🧑👫🧑🏿‍🤝‍🧑🏻👩🏾‍🤝‍👨🏿👬🏿


Chunking issue previous article: #4058

BiFangKNT commented 1 day ago

我在lobe容器内部测试过了,解析没问题的(域名和ip我隐藏了):

nextjs@fb7f6009f7c1:/$ nslookup lobechat.example.top
Server: 223.5.5.5
Address: 223.5.5.5:53

Non-authoritative answer:
Name: lobechat.example.top
Address: 240e:xxx
lobehubbot commented 1 day ago

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑‍🤝‍🧑👫🧑🏿‍🤝‍🧑🏻👩🏾‍🤝‍👨🏿👬🏿


I tested it inside the lobe container, and the resolution was fine (I hid the domain name and IP):


nextjs@fb7f6009f7c1:/$ nslookup lobechat.example.top
Server: 223.5.5.5
Address: 223.5.5.5:53

Non-authoritative answer: Name: lobechat.example.top Address: 240e:xxx

BiFangKNT commented 1 day ago

排查出了一个问题,我进入到minio容器中,连接不上我的lobe,这是怎么回事啊:

bash-5.1# curl -I  https://lobechat.example.top
curl: (7) Failed to connect to lobechat.example.top port 443 after 48 ms: Couldn't connect to server

已经映射了外部dns配置文件的:

bash-5.1# cat /etc/resolv.conf 
nameserver 223.5.5.5
nameserver 119.29.29.29
nameserver 8.8.8.8
nameserver 192.168.5.1