@lobehub/chat 1.55.1 → 1.55.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,56 @@
2
2
 
3
3
  # Changelog
4
4
 
5
+ ### [Version 1.55.3](https://github.com/lobehub/lobe-chat/compare/v1.55.2...v1.55.3)
6
+
7
+ <sup>Released on **2025-02-15**</sup>
8
+
9
+ #### 💄 Styles
10
+
11
+ - **misc**: Add deepseek r1 distill models for qwen series.
12
+
13
+ <br/>
14
+
15
+ <details>
16
+ <summary><kbd>Improvements and Fixes</kbd></summary>
17
+
18
+ #### Styles
19
+
20
+ - **misc**: Add deepseek r1 distill models for qwen series, closes [#5850](https://github.com/lobehub/lobe-chat/issues/5850) ([4a96a05](https://github.com/lobehub/lobe-chat/commit/4a96a05))
21
+
22
+ </details>
23
+
24
+ <div align="right">
25
+
26
+ [![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)
27
+
28
+ </div>
29
+
30
+ ### [Version 1.55.2](https://github.com/lobehub/lobe-chat/compare/v1.55.1...v1.55.2)
31
+
32
+ <sup>Released on **2025-02-15**</sup>
33
+
34
+ #### 🐛 Bug Fixes
35
+
36
+ - **misc**: Avoid blank reasoning with OpenRouter.
37
+
38
+ <br/>
39
+
40
+ <details>
41
+ <summary><kbd>Improvements and Fixes</kbd></summary>
42
+
43
+ #### What's fixed
44
+
45
+ - **misc**: Avoid blank reasoning with OpenRouter, closes [#6153](https://github.com/lobehub/lobe-chat/issues/6153) ([c2278d1](https://github.com/lobehub/lobe-chat/commit/c2278d1))
46
+
47
+ </details>
48
+
49
+ <div align="right">
50
+
51
+ [![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)
52
+
53
+ </div>
54
+
5
55
  ### [Version 1.55.1](https://github.com/lobehub/lobe-chat/compare/v1.55.0...v1.55.1)
6
56
 
7
57
  <sup>Released on **2025-02-15**</sup>
package/changelog/v1.json CHANGED
@@ -1,4 +1,22 @@
1
1
  [
2
+ {
3
+ "children": {
4
+ "improvements": [
5
+ "Add deepseek r1 distill models for qwen series."
6
+ ]
7
+ },
8
+ "date": "2025-02-15",
9
+ "version": "1.55.3"
10
+ },
11
+ {
12
+ "children": {
13
+ "fixes": [
14
+ "Avoid blank reasoning with OpenRouter."
15
+ ]
16
+ },
17
+ "date": "2025-02-15",
18
+ "version": "1.55.2"
19
+ },
2
20
  {
3
21
  "children": {
4
22
  "fixes": [
@@ -1,10 +1,10 @@
1
1
  ---
2
2
  title: >-
3
- LobeChat Integrates DeepSeek R1, Bringing a Revolutionary Chain of Thought Experience
4
-
3
+ LobeChat Integrates DeepSeek R1, Bringing a Revolutionary Chain of Thought
4
+ Experience
5
5
  description: >-
6
- LobeChat v1.49.12 fully supports the DeepSeek R1 model, providing users with an unprecedented interactive experience in the chain of thought.
7
-
6
+ LobeChat v1.49.12 fully supports the DeepSeek R1 model, providing users with
7
+ an unprecedented interactive experience in the chain of thought.
8
8
  tags:
9
9
  - LobeChat
10
10
  - DeepSeek
@@ -113,12 +113,13 @@ If you are deploying using a public network, the following assumptions apply:
113
113
  - Method: `POST`
114
114
  - Content Type: `application/json`
115
115
  - Headers: `casdoor-secret`: `Your Webhook Secret`
116
- > The secret is generated by yourself, you can visit https://generate-secret.vercel.app/10 to generate a 10 bit secret.
116
+
117
+ > The secret is generated by yourself, you can visit [https://generate-secret.vercel.app/10](https://generate-secret.vercel.app/10) to generate a 10 bit secret.
117
118
 
118
119
  - Event: `update-user`
119
120
  - Is user extented: `true`
120
121
 
121
- Save and Exit, then copy the Webhook secret and fill it in the environment variable `CASDOOR_WEBHOOK_SECRET.
122
+ Save and Exit, then copy the Webhook secret and fill it in the environment variable \`CASDOOR\_WEBHOOK\_SECRET.
122
123
 
123
124
  ### Configure Environment Variables
124
125
 
@@ -140,7 +141,7 @@ If you are deploying using a public network, the following assumptions apply:
140
141
  | `AUTH_CASDOOR_SECRET` | Required | The client secret from the Casdoor application details page. |
141
142
  | `AUTH_CASDOOR_ISSUER` | Required | The OpenID Connect issuer for the Casdoor provider. |
142
143
  | `NEXTAUTH_URL` | Required | This URL specifies the callback address for Auth.js during OAuth verification and needs to be set only if the default generated redirect address is incorrect. `https://lobe.example.com/api/auth` |
143
- | `CASDOOR_WEBHOOK_SECRET` | Optional | A key used to verify whether the request sent by Casdoor is legal. |
144
+ | `CASDOOR_WEBHOOK_SECRET` | Optional | A key used to verify whether the request sent by Casdoor is legal. |
144
145
 
145
146
  <Callout type={'tip'}>
146
147
  Visit [📘 Environment Variables](/docs/self-hosting/environment-variables/auth#casdoor) for
@@ -102,7 +102,8 @@ tags:
102
102
  - 方法:`POST`
103
103
  - 内容类型:`application/json`
104
104
  - 协议头:`casdoor-secret`: `你的Webhook密钥`
105
- > 密钥由你自己生成,用于验证 Casdoor 发送的请求是否合法。 可以前往 https://generate-secret.vercel.app/10 生成一个 10 位的密钥。
105
+
106
+ > 密钥由你自己生成,用于验证 Casdoor 发送的请求是否合法。 可以前往 [https://generate-secret.vercel.app/10](https://generate-secret.vercel.app/10) 生成一个 10 位的密钥。
106
107
 
107
108
  - 事件:`update-user`
108
109
  - 拓展用户字段:`true`
@@ -112,7 +113,7 @@ tags:
112
113
  ### 关闭注册
113
114
 
114
115
  为了保证你的应用安全,建议关闭 Casdoor 的注册功能,改为由管理员手动添加用户。
115
-
116
+
116
117
  前往 `身份认证` -> `应用`,将 `启用注册` 设置为 `否`。
117
118
 
118
119
  <Callout type={'warning'}>
@@ -139,7 +140,7 @@ tags:
139
140
  | `AUTH_CASDOOR_SECRET` | 必选 | Casdoor 应用详情页的客户端密钥 |
140
141
  | `AUTH_CASDOOR_ISSUER` | 必选 | Casdoor 提供程序的 OpenID Connect 颁发者。 |
141
142
  | `NEXTAUTH_URL` | 必选 | 该 URL 用于指定 Auth.js 在执行 OAuth 验证时的回调地址,当默认生成的重定向地址发生不正确时才需要设置。`https://lobe.example.com/api/auth` |
142
- | `CASDOOR_WEBHOOK_SECRET` | 可选 | 用于验证 Casdoor 发送的 Webhook 请求是否合法的密钥。 |
143
+ | `CASDOOR_WEBHOOK_SECRET` | 可选 | 用于验证 Casdoor 发送的 Webhook 请求是否合法的密钥。 |
143
144
 
144
145
  <Callout type={'tip'}>
145
146
  前往 [📘 环境变量](/zh/docs/self-hosting/environment-variables/auth#casdoor) 可查阅相关变量详情。
@@ -67,15 +67,15 @@ If you are using Logto Cloud, assume its endpoint domain is `https://example.log
67
67
 
68
68
  When deploying LobeChat, you need to configure the following environment variables:
69
69
 
70
- | Environment Variable | Type | Description |
71
- | ------------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
72
- | `NEXT_AUTH_SECRET` | Required | The key used to encrypt Auth.js session tokens. You can generate a key using the command: `openssl rand -base64 32` |
73
- | `NEXT_AUTH_SSO_PROVIDERS` | Required | Select the single sign-on provider for LobeChat. For Logto, enter `logto`. |
74
- | `AUTH_LOGTO_ID` | Required | The Client ID from the Logto App details page |
75
- | `AUTH_LOGTO_SECRET` | Required | The Client Secret from the Logto App details page |
76
- | `AUTH_LOGTO_ISSUER` | Required | OpenID Connect issuer of the Logto provider |
77
- | `NEXTAUTH_URL` | Required | This URL specifies the callback address for Auth.js during OAuth verification, needed only if the default generated redirect address is incorrect. `https://lobe.example.com/api/auth` |
78
- | `LOGTO_WEBHOOK_SIGNING_KEY` | Optional | The key used to verify the legality of Webhook requests sent by Logto. |
70
+ | Environment Variable | Type | Description |
71
+ | --------------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
72
+ | `NEXT_AUTH_SECRET` | Required | The key used to encrypt Auth.js session tokens. You can generate a key using the command: `openssl rand -base64 32` |
73
+ | `NEXT_AUTH_SSO_PROVIDERS` | Required | Select the single sign-on provider for LobeChat. For Logto, enter `logto`. |
74
+ | `AUTH_LOGTO_ID` | Required | The Client ID from the Logto App details page |
75
+ | `AUTH_LOGTO_SECRET` | Required | The Client Secret from the Logto App details page |
76
+ | `AUTH_LOGTO_ISSUER` | Required | OpenID Connect issuer of the Logto provider |
77
+ | `NEXTAUTH_URL` | Required | This URL specifies the callback address for Auth.js during OAuth verification, needed only if the default generated redirect address is incorrect. `https://lobe.example.com/api/auth` |
78
+ | `LOGTO_WEBHOOK_SIGNING_KEY` | Optional | The key used to verify the legality of Webhook requests sent by Logto. |
79
79
 
80
80
  <Callout type={'tip'}>
81
81
  Visit [📘 Environment Variables](/docs/self-hosting/environment-variables/auth#logto) for details on related variables.
@@ -64,15 +64,15 @@ tags:
64
64
 
65
65
  在部署 LobeChat 时,你需要配置以下环境变量:
66
66
 
67
- | 环境变量 | 类型 | 描述 |
68
- | ------------------------- | -- | ------------------------------------------------------------------------------------------------ |
69
- | `NEXT_AUTH_SECRET` | 必选 | 用于加密 Auth.js 会话令牌的密钥。您可以使用以下命令生成秘钥: `openssl rand -base64 32` |
70
- | `NEXT_AUTH_SSO_PROVIDERS` | 必选 | 选择 LoboChat 的单点登录提供商。使用 Logto 请填写 `logto`。 |
71
- | `AUTH_LOGTO_ID` | 必选 | Logto App 详情页的 Client ID |
72
- | `AUTH_LOGTO_SECRET` | 必选 | Logto App 详情页的 Client Secret |
73
- | `AUTH_LOGTO_ISSUER` | 必选 | Logto 提供程序的 OpenID Connect 颁发者 |
74
- | `NEXTAUTH_URL` | 必选 | 该 URL 用于指定 Auth.js 在执行 OAuth 验证时的回调地址,当默认生成的重定向地址发生不正确时才需要设置。`https://lobe.example.com/api/auth` |
75
- | `LOGTO_WEBHOOK_SIGNING_KEY` | 可选 | 用于验证 Logto 发送的 Webhook 请求是否合法的密钥。 |
67
+ | 环境变量 | 类型 | 描述 |
68
+ | --------------------------- | -- | ------------------------------------------------------------------------------------------------ |
69
+ | `NEXT_AUTH_SECRET` | 必选 | 用于加密 Auth.js 会话令牌的密钥。您可以使用以下命令生成秘钥: `openssl rand -base64 32` |
70
+ | `NEXT_AUTH_SSO_PROVIDERS` | 必选 | 选择 LoboChat 的单点登录提供商。使用 Logto 请填写 `logto`。 |
71
+ | `AUTH_LOGTO_ID` | 必选 | Logto App 详情页的 Client ID |
72
+ | `AUTH_LOGTO_SECRET` | 必选 | Logto App 详情页的 Client Secret |
73
+ | `AUTH_LOGTO_ISSUER` | 必选 | Logto 提供程序的 OpenID Connect 颁发者 |
74
+ | `NEXTAUTH_URL` | 必选 | 该 URL 用于指定 Auth.js 在执行 OAuth 验证时的回调地址,当默认生成的重定向地址发生不正确时才需要设置。`https://lobe.example.com/api/auth` |
75
+ | `LOGTO_WEBHOOK_SIGNING_KEY` | 可选 | 用于验证 Logto 发送的 Webhook 请求是否合法的密钥。 |
76
76
 
77
77
  <Callout type={'tip'}>
78
78
  前往 [📘 环境变量](/zh/docs/self-hosting/environment-variables/auth#logto) 可查阅相关变量详情。
@@ -43,9 +43,9 @@ id=displayName<maxToken:vision:reasoning:fc:file>
43
43
 
44
44
  目前支持的扩展能力有:
45
45
 
46
- | --- | 描述 |
47
- | ----------- | ------------------------------------- |
48
- | `fc` | 函数调用(function calling) |
49
- | `vision` | 视觉识别 |
50
- | `reasoning` | 支持推理 |
51
- | `file` | 文件上传(比较 hack,不建议日常使用) |
46
+ | --- | 描述 |
47
+ | ----------- | ---------------------- |
48
+ | `fc` | 函数调用(function calling) |
49
+ | `vision` | 视觉识别 |
50
+ | `reasoning` | 支持推理 |
51
+ | `file` | 文件上传(比较 hack,不建议日常使用) |
@@ -0,0 +1,70 @@
1
+ ---
2
+ title: LobeChat 的可观测性和追踪
3
+ description: 使用 Langfuse 为你的 LobeChat 应用增强开源可观测性和追踪功能。自动捕获每个请求的详细追踪和指标,以优化和调试你的对话。
4
+ tags:
5
+ - 可观测性
6
+ - 追踪
7
+ - Langfuse
8
+ ---
9
+
10
+ # 使用 Langfuse 监控你的 LobeChat 应用
11
+
12
+ ## 什么是 Langfuse?
13
+
14
+ [Langfuse](https://langfuse.com/) 是一个 **开源的 LLM 可观测性平台**。启用 Langfuse 集成后,你可以追踪应用数据,以开发、监控和优化 LobeChat 的使用,包括:
15
+
16
+ - 应用 [追踪](https://langfuse.com/docs/tracing)
17
+ - 使用模式
18
+ - 按用户和模型的成本数据
19
+ - [评估](https://langfuse.com/docs/scores/overview)
20
+
21
+ ## 快速开始
22
+
23
+ <Steps>
24
+ ### 设置 Langfuse
25
+
26
+ 通过注册 [Langfuse Cloud](https://cloud.langfuse.com) 或 [自托管](https://langfuse.com/docs/deployment/self-host) Langfuse 来获取你的 Langfuse API 密钥。
27
+
28
+ ### 设置 LobeChat
29
+
30
+ 有多种方式可以 [自托管 LobeChat](https://lobehub.com/docs/self-hosting/start)。在本示例中,我们将使用 Docker Desktop 部署。
31
+
32
+ <Tabs items={["环境变量", "Docker Desktop 示例"]}>
33
+ <Tab>
34
+ 在部署 LobeChat 之前,使用你在上一步创建的 Langfuse API 密钥设置以下四个环境变量。
35
+
36
+ ```sh
37
+ ENABLE_LANGFUSE = '1'
38
+ LANGFUSE_SECRET_KEY = 'sk-lf...'
39
+ LANGFUSE_PUBLIC_KEY = 'pk-lf...'
40
+ LANGFUSE_HOST = 'https://cloud.langfuse.com'
41
+ ```
42
+ </Tab>
43
+
44
+ <Tab>
45
+ 在运行 Docker 容器之前,在 Docker Desktop 中设置环境变量,并填入你在上一步创建的 Langfuse API 密钥。
46
+
47
+ <Image alt={'Docker Desktop 中的环境变量'} src={'https://langfuse.com/images/docs/lobechat-docker-desktop-env.png'} />
48
+ </Tab>
49
+ </Tabs>
50
+
51
+ ### 在设置中启用分析功能
52
+
53
+ 当 LobeChat 运行后,进入 **设置** 中的 **关于** 选项卡,并启用分析功能。这是将追踪数据发送到 Langfuse 所必需的。
54
+
55
+ <Image alt={'LobeChat 设置'} src={'https://langfuse.com/images/docs/lobechat-settings.png'} />
56
+
57
+ ### 在 Langfuse 中查看聊天追踪
58
+
59
+ 设置好 LLM 模型密钥后,你就可以开始与 LobeChat 进行交互。
60
+
61
+ <Image alt={'LobeChat 对话'} src={'https://langfuse.com/images/docs/lobechat-converstation.png'} />
62
+
63
+ 所有对话都会被自动追踪并发送到 Langfuse。你可以在 Langfuse UI 的 [追踪部分](https://langfuse.com/docs/tracing) 查看这些数据。
64
+
65
+ <Image alt={'LobeChat Trace 示例'} src={'https://langfuse.com/images/docs/lobechat-example-trace.png'} />
66
+ </Steps>
67
+
68
+ ## 反馈
69
+
70
+ 如果你有任何反馈或需求,请在 GitHub 上创建 [Issue](https://langfuse.com/issue),或在 [Discord](https://discord.langfuse.com/) 上与 Langfuse 社区分享你的想法。
@@ -23,11 +23,11 @@ LobeChat provides a complete authentication service capability when deployed. Th
23
23
 
24
24
  - Changes after v1.52.0.
25
25
 
26
- - For users who deploy with Vercel using Next Auth, it is necessary to add the environment variable NEXT_PUBLIC_ENABLE_NEXT_AUTH=1 to ensure that Next Auth is enabled.
27
- - For users who use Clerk in their self-built image, it is necessary to configure the environment variable NEXT_PUBLIC_ENABLE_NEXT_AUTH=0 to disable Next Auth.\n
28
- - Other standard deployment scenarios (using Clerk on Vercel and next-auth in Docker) are not affected
26
+ - For users who deploy with Vercel using Next Auth, it is necessary to add the environment variable NEXT\_PUBLIC\_ENABLE\_NEXT\_AUTH=1 to ensure that Next Auth is enabled.
29
27
 
28
+ - For users who use Clerk in their self-built image, it is necessary to configure the environment variable NEXT\_PUBLIC\_ENABLE\_NEXT\_AUTH=0 to disable Next Auth.\n
30
29
 
30
+ - Other standard deployment scenarios (using Clerk on Vercel and next-auth in Docker) are not affected
31
31
 
32
32
  #### `NEXT_AUTH_SECRET`
33
33
 
@@ -18,9 +18,10 @@ LobeChat 在部署时提供了完善的身份验证服务能力,以下是相
18
18
  ### 通用设置
19
19
 
20
20
  #### `NEXT_PUBLIC_ENABLE_NEXT_AUTH`
21
+
21
22
  - v1.52.0 之后有变更
22
- - 针对使用 Vercel 部署中使用 next-auth 的用户,需要额外添加 NEXT_PUBLIC_ENABLE_NEXT_AUTH=1 环境变量来确保开启 Next Auth
23
- - 针对使用自构建镜像中使用 clerk 的用户,需要额外配置 NEXT_PUBLIC_ENABLE_NEXT_AUTH=0 环境变量来关闭 Next Auth
23
+ - 针对使用 Vercel 部署中使用 next-auth 的用户,需要额外添加 NEXT\_PUBLIC\_ENABLE\_NEXT\_AUTH=1 环境变量来确保开启 Next Auth
24
+ - 针对使用自构建镜像中使用 clerk 的用户,需要额外配置 NEXT\_PUBLIC\_ENABLE\_NEXT\_AUTH=0 环境变量来关闭 Next Auth
24
25
  - 其他标准部署场景(Vercel 中使用 Clerk 与 Docker 中使用 next-auth )不受影响
25
26
 
26
27
  #### `NEXT_AUTH_SECRET`
@@ -37,7 +37,7 @@ To install aaPanel, go to the [aaPanel](https://www.aapanel.com/new/download.htm
37
37
  6. After submission, the panel will automatically initialize the application, which will take about `1-3` minutes. It can be accessed after the initialization is completed.
38
38
 
39
39
  <Callout type="warning">
40
- ⚠️ Do not enable any form of cache in the reverse proxy settings of the panel to avoid affecting the normal operation of the service. Read more at https://github.com/lobehub/lobe-chat/discussions/5986
40
+ ⚠️ Do not enable any form of cache in the reverse proxy settings of the panel to avoid affecting the normal operation of the service. Read more at [https://github.com/lobehub/lobe-chat/discussions/5986](https://github.com/lobehub/lobe-chat/discussions/5986)
41
41
  </Callout>
42
42
 
43
43
  ## Visit LobeChat
@@ -41,7 +41,7 @@ tags:
41
41
  5. 提交后面板会自动进行应用初始化,大概需要`1-3`分钟,初始化完成后即可访问。
42
42
 
43
43
  <Callout type="warning">
44
- ⚠️ 请不要在面板的反向代理设置中开启任何形式的缓存,以免影响服务的正常运行。详情请见 https://github.com/lobehub/lobe-chat/discussions/5986
44
+ ⚠️ 请不要在面板的反向代理设置中开启任何形式的缓存,以免影响服务的正常运行。详情请见 [https://github.com/lobehub/lobe-chat/discussions/5986](https://github.com/lobehub/lobe-chat/discussions/5986)
45
45
  </Callout>
46
46
 
47
47
  ## 访问 LobeChat
@@ -1,6 +1,9 @@
1
1
  ---
2
2
  title: Deploy LobeChat on TencentCloud Lighthouse
3
- description: Learn how to deploy the LobeChat application on TencentCloud Lighthouse, including preparing the large model API Key, clicking the deploy button, and other operations.
3
+ description: >-
4
+ Learn how to deploy the LobeChat application on TencentCloud Lighthouse,
5
+ including preparing the large model API Key, clicking the deploy button, and
6
+ other operations.
4
7
  tags:
5
8
  - TencentCloud Lighthouse
6
9
  - TencentCloud
@@ -15,18 +18,15 @@ If you want to deploy LobeChat on TencentCloud Lighthouse, you can follow the st
15
18
  ## Tencent Cloud Deployment Process
16
19
 
17
20
  <Steps>
21
+ ### Prepare your API Key
18
22
 
19
- ### Prepare your API Key
23
+ Go to [OpenAI API Key](https://platform.openai.com/account/api-keys) to get your OpenAI API Key.
20
24
 
21
- Go to [OpenAI API Key](https://platform.openai.com/account/api-keys) to get your OpenAI API Key.
25
+ ### One-click to deploy
22
26
 
27
+ [![][deploy-button-image]][deploy-link]
23
28
 
24
- ### One-click to deploy
25
-
26
- [![][deploy-button-image]][deploy-link]
27
-
28
- ### Once deployed, you can start using it
29
-
29
+ ### Once deployed, you can start using it
30
30
  </Steps>
31
31
 
32
32
  [deploy-button-image]: https://cloudcache.tencent-cloud.com/qcloud/ui/static/static_source_business/d65fb782-4fb0-4348-ad85-f2943d6bee8f.svg
@@ -16,18 +16,16 @@ tags:
16
16
  ## 腾讯轻量云 部署流程
17
17
 
18
18
  <Steps>
19
+ ### 准备好你的 API Key
19
20
 
20
- ### 准备好你的 API Key
21
+ 前往 [OpenAI API Key](https://platform.openai.com/account/api-keys) 获取你的 OpenAI API Key
21
22
 
22
- 前往 [OpenAI API Key](https://platform.openai.com/account/api-keys) 获取你的 OpenAI API Key
23
+ ### 点击下方按钮进行部署
23
24
 
24
- ### 点击下方按钮进行部署
25
-
26
- [![][deploy-button-image]][deploy-link]
27
-
28
- ### 部署完毕后,即可开始使用
25
+ [![][deploy-button-image]][deploy-link]
29
26
 
27
+ ### 部署完毕后,即可开始使用
30
28
  </Steps>
31
29
 
32
30
  [deploy-button-image]: https://cloudcache.tencent-cloud.com/qcloud/ui/static/static_source_business/d65fb782-4fb0-4348-ad85-f2943d6bee8f.svg
33
- [deploy-link]: https://buy.cloud.tencent.com/lighthouse?blueprintType=APP_OS&amp;blueprintOfficialId=lhbp-6u0ti132&amp;regionId=8&amp;zone=ap-beijing-3&amp;bundleId=bundle_starter_mc_med2_01&amp;loginSet=AUTO&amp;rule=true&amp;from=lobechat
31
+ [deploy-link]: https://buy.cloud.tencent.com/lighthouse?blueprintType=APP_OS&blueprintOfficialId=lhbp-6u0ti132&regionId=8&zone=ap-beijing-3&bundleId=bundle_starter_mc_med2_01&loginSet=AUTO&rule=true&from=lobechat
@@ -315,8 +315,7 @@ The script supports the following deployment modes; please choose the appropriat
315
315
 
316
316
  ## Custom Deployment
317
317
 
318
- This section mainly introduces the configurations that need to be modified to customize the deployment of the LobeChat service in different network environments.
319
- Before starting, you can download the [Docker Compose configuration file](https://raw.githubusercontent.com/lobehub/lobe-chat/HEAD/docker-compose/local/docker-compose.yml) and the [environment variable configuration file](https://raw.githubusercontent.com/lobehub/lobe-chat/HEAD/docker-compose/local/.env.en_US.example).
318
+ This section mainly introduces the configurations that need to be modified to customize the deployment of the LobeChat service in different network environments. Before starting, you can download the [Docker Compose configuration file](https://raw.githubusercontent.com/lobehub/lobe-chat/HEAD/docker-compose/local/docker-compose.yml) and the [environment variable configuration file](https://raw.githubusercontent.com/lobehub/lobe-chat/refs/heads/main/docker-compose/local/.env.example).
320
319
 
321
320
  ```sh
322
321
  curl -O https://raw.githubusercontent.com/lobehub/lobe-chat/HEAD/docker-compose/local/docker-compose.yml
@@ -696,7 +695,6 @@ MINIO_ROOT_PASSWORD=Crj1570768
696
695
  MINIO_LOBE_BUCKET=lobe
697
696
  S3_ACCESS_KEY_ID=dB6Uq9CYZPdWSZouPyEd
698
697
  S3_SECRET_ACCESS_KEY=aPBW8CVULkh8bw1GatlT0GjLihcXHLNwRml4pieS
699
-
700
698
  ```
701
699
 
702
700
  - `docker-compose.yml`
@@ -95,7 +95,7 @@ Since we support file-based conversations/knowledge base conversations, we need
95
95
 
96
96
  <Callout type={'info'}>
97
97
  You can generate a random 32-character string as the value of `KEY_VAULTS_SECRET` using `openssl
98
- rand -base64 32`.
98
+ rand -base64 32`.
99
99
  </Callout>
100
100
  </Steps>
101
101
 
@@ -35,6 +35,7 @@ This article will guide you on how to use Wenxin Qianfan in LobeChat.
35
35
  - Copy the `API Key` and keep it safe
36
36
 
37
37
  <Image alt={'Create API Key'} inStep src={'https://github.com/user-attachments/assets/6d068fe0-8100-4b43-b0c3-7934f54e688f'} />
38
+
38
39
  <Image alt={'Copy API Key'} inStep src={'https://github.com/user-attachments/assets/629adf4e-e9e1-40dc-b9e5-d7b908878170'} />
39
40
 
40
41
  ### Step 2: Configure Wenxin Qianfan in LobeChat
@@ -33,6 +33,7 @@ tags:
33
33
  - 复制 `API Key` 并妥善保存
34
34
 
35
35
  <Image alt={'创建密钥'} inStep src={'https://github.com/user-attachments/assets/6d068fe0-8100-4b43-b0c3-7934f54e688f'} />
36
+
36
37
  <Image alt={'复制密钥'} inStep src={'https://github.com/user-attachments/assets/629adf4e-e9e1-40dc-b9e5-d7b908878170'} />
37
38
 
38
39
  ### 步骤二:在 LobeChat 中配置文心千帆
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lobehub/chat",
3
- "version": "1.55.1",
3
+ "version": "1.55.3",
4
4
  "description": "Lobe Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.",
5
5
  "keywords": [
6
6
  "framework",
@@ -376,7 +376,7 @@ const qwenChatModels: AIChatModelCard[] = [
376
376
  vision: true,
377
377
  },
378
378
  contextWindowTokens: 131_072,
379
- description:
379
+ description:
380
380
  '指令跟随、数学、解题、代码整体提升,万物识别能力提升,支持多样格式直接精准定位视觉元素,支持对长视频文件(最长10分钟)进行理解和秒级别的事件时刻定位,能理解时间先后和快慢,基于解析和定位能力支持操控OS或Mobile的Agent,关键信息抽取能力和Json格式输出能力强,此版本为72B版本,本系列能力最强的版本。',
381
381
  displayName: 'Qwen2.5 VL 72B',
382
382
  id: 'qwen2.5-vl-72b-instruct',
@@ -394,7 +394,7 @@ const qwenChatModels: AIChatModelCard[] = [
394
394
  vision: true,
395
395
  },
396
396
  contextWindowTokens: 131_072,
397
- description:
397
+ description:
398
398
  '指令跟随、数学、解题、代码整体提升,万物识别能力提升,支持多样格式直接精准定位视觉元素,支持对长视频文件(最长10分钟)进行理解和秒级别的事件时刻定位,能理解时间先后和快慢,基于解析和定位能力支持操控OS或Mobile的Agent,关键信息抽取能力和Json格式输出能力强,此版本为72B版本,本系列能力最强的版本。',
399
399
  displayName: 'Qwen2.5 VL 7B',
400
400
  id: 'qwen2.5-vl-7b-instruct',
@@ -412,8 +412,8 @@ const qwenChatModels: AIChatModelCard[] = [
412
412
  reasoning: true,
413
413
  },
414
414
  contextWindowTokens: 131_072,
415
- description:
416
- 'DeepSeek-R1 在后训练阶段大规模使用了强化学习技术,在仅有极少标注数据的情况下,极大提升了模型推理能力,尤其在数学、代码、自然语言推理等任务上。',
415
+ description:
416
+ 'DeepSeek-R1 在后训练阶段大规模使用了强化学习技术,在仅有极少标注数据的情况下,极大提升了模型推理能力。在数学、代码、自然语言推理等任务上,性能较高,能力较强。',
417
417
  displayName: 'DeepSeek R1',
418
418
  enabled: true,
419
419
  id: 'deepseek-r1',
@@ -431,7 +431,7 @@ const qwenChatModels: AIChatModelCard[] = [
431
431
  functionCall: true,
432
432
  },
433
433
  contextWindowTokens: 131_072,
434
- description:
434
+ description:
435
435
  'DeepSeek-V3 为自研 MoE 模型,671B 参数,激活 37B,在 14.8T token 上进行了预训练,在长文本、代码、数学、百科、中文能力上表现优秀。',
436
436
  displayName: 'DeepSeek V3',
437
437
  enabled: true,
@@ -450,8 +450,8 @@ const qwenChatModels: AIChatModelCard[] = [
450
450
  reasoning: true,
451
451
  },
452
452
  contextWindowTokens: 131_072,
453
- description:
454
- 'DeepSeek-R1-Distill 系列模型通过知识蒸馏技术,将 DeepSeek-R1 生成的样本对 Qwen、Llama 等开源模型进行微调后得到。',
453
+ description:
454
+ 'DeepSeek-R1-Distill-Qwen-1.5B 是一个基于 Qwen2.5-Math-1.5B 的蒸馏大型语言模型,使用了 DeepSeek R1 的输出。',
455
455
  displayName: 'DeepSeek R1 Distill Qwen 1.5B',
456
456
  id: 'deepseek-r1-distill-qwen-1.5b',
457
457
  maxOutput: 8192,
@@ -467,7 +467,7 @@ const qwenChatModels: AIChatModelCard[] = [
467
467
  reasoning: true
468
468
  },
469
469
  contextWindowTokens: 131_072,
470
- description: "DeepSeek-R1-Distill 系列模型通过知识蒸馏技术,将 DeepSeek-R1 生成的样本对 Qwen、Llama 等开源模型进行微调后得到。",
470
+ description: "DeepSeek-R1-Distill-Qwen-7B 是一个基于 Qwen2.5-Math-7B 的蒸馏大型语言模型,使用了 DeepSeek R1 的输出。",
471
471
  displayName: "DeepSeek R1 Distill Qwen 7B",
472
472
  id: "deepseek-r1-distill-qwen-7b",
473
473
  maxOutput: 8192,
@@ -483,9 +483,9 @@ const qwenChatModels: AIChatModelCard[] = [
483
483
  reasoning: true
484
484
  },
485
485
  contextWindowTokens: 131_072,
486
- description: "DeepSeek-R1-Distill 系列模型通过知识蒸馏技术,将 DeepSeek-R1 生成的样本对 Qwen、Llama 等开源模型进行微调后得到。",
487
- displayName: "DeepSeek R1 Distill Llama 8B",
488
- id: "deepseek-r1-distill-llama-8b",
486
+ description: "DeepSeek-R1-Distill-Qwen-14B 是一个基于 Qwen2.5-14B 的蒸馏大型语言模型,使用了 DeepSeek R1 的输出。",
487
+ displayName: "DeepSeek R1 Distill Qwen 14B",
488
+ id: "deepseek-r1-distill-qwen-14b",
489
489
  maxOutput: 8192,
490
490
  pricing: {
491
491
  currency: "CNY",
@@ -499,9 +499,9 @@ const qwenChatModels: AIChatModelCard[] = [
499
499
  reasoning: true
500
500
  },
501
501
  contextWindowTokens: 131_072,
502
- description: "DeepSeek-R1-Distill 系列模型通过知识蒸馏技术,将 DeepSeek-R1 生成的样本对 Qwen、Llama 等开源模型进行微调后得到。",
503
- displayName: "DeepSeek R1 Distill Qwen 14B",
504
- id: "deepseek-r1-distill-qwen-14b",
502
+ description: "DeepSeek-R1-Distill-Qwen-32B 是一个基于 Qwen2.5-32B 的蒸馏大型语言模型,使用了 DeepSeek R1 的输出。",
503
+ displayName: "DeepSeek R1 Distill Qwen 32B",
504
+ id: "deepseek-r1-distill-qwen-32b",
505
505
  maxOutput: 8192,
506
506
  pricing: {
507
507
  currency: "CNY",
@@ -515,9 +515,9 @@ const qwenChatModels: AIChatModelCard[] = [
515
515
  reasoning: true
516
516
  },
517
517
  contextWindowTokens: 131_072,
518
- description: "DeepSeek-R1-Distill 系列模型通过知识蒸馏技术,将 DeepSeek-R1 生成的样本对 Qwen、Llama 等开源模型进行微调后得到。",
519
- displayName: "DeepSeek R1 Distill Qwen 32B",
520
- id: "deepseek-r1-distill-qwen-32b",
518
+ description: "DeepSeek-R1-Distill-Llama-8B 是一个基于 Llama-3.1-8B 的蒸馏大型语言模型,使用了 DeepSeek R1 的输出。",
519
+ displayName: "DeepSeek R1 Distill Llama 8B",
520
+ id: "deepseek-r1-distill-llama-8b",
521
521
  maxOutput: 8192,
522
522
  pricing: {
523
523
  currency: "CNY",
@@ -531,7 +531,7 @@ const qwenChatModels: AIChatModelCard[] = [
531
531
  reasoning: true
532
532
  },
533
533
  contextWindowTokens: 131_072,
534
- description: "DeepSeek-R1-Distill 系列模型通过知识蒸馏技术,将 DeepSeek-R1 生成的样本对 Qwen、Llama 等开源模型进行微调后得到。",
534
+ description: "DeepSeek-R1-Distill-Llama-70B 是一个基于 Llama-3.3-70B-Instruct 的蒸馏大型语言模型,使用了 DeepSeek R1 的输出。",
535
535
  displayName: "DeepSeek R1 Distill Llama 70B",
536
536
  id: "deepseek-r1-distill-llama-70b",
537
537
  maxOutput: 8192,
@@ -294,7 +294,7 @@ const Qwen: ModelProviderCard = {
294
294
  },
295
295
  {
296
296
  contextWindowTokens: 128_000,
297
- description:
297
+ description:
298
298
  '指令跟随、数学、解题、代码整体提升,万物识别能力提升,支持多样格式直接精准定位视觉元素,支持对长视频文件(最长10分钟)进行理解和秒级别的事件时刻定位,能理解时间先后和快慢,基于解析和定位能力支持操控OS或Mobile的Agent,关键信息抽取能力和Json格式输出能力强,此版本为72B版本,本系列能力最强的版本。',
299
299
  displayName: 'Qwen2.5 VL 72B',
300
300
  id: 'qwen2.5-vl-72b-instruct',
@@ -307,9 +307,9 @@ const Qwen: ModelProviderCard = {
307
307
  vision: true,
308
308
  },
309
309
  {
310
- contextWindowTokens: 65_536,
311
- description:
312
- 'DeepSeek-R1 在后训练阶段大规模使用了强化学习技术,在仅有极少标注数据的情况下,极大提升了模型推理能力,尤其在数学、代码、自然语言推理等任务上。',
310
+ contextWindowTokens: 131_072,
311
+ description:
312
+ 'DeepSeek-R1 在后训练阶段大规模使用了强化学习技术,在仅有极少标注数据的情况下,极大提升了模型推理能力。在数学、代码、自然语言推理等任务上,性能较高,能力较强。',
313
313
  displayName: 'DeepSeek R1',
314
314
  id: 'deepseek-r1',
315
315
  pricing: {
@@ -320,8 +320,8 @@ const Qwen: ModelProviderCard = {
320
320
  releasedAt: '2025-01-27',
321
321
  },
322
322
  {
323
- contextWindowTokens: 65_536,
324
- description:
323
+ contextWindowTokens: 131_072,
324
+ description:
325
325
  'DeepSeek-V3 为自研 MoE 模型,671B 参数,激活 37B,在 14.8T token 上进行了预训练,在长文本、代码、数学、百科、中文能力上表现优秀。',
326
326
  displayName: 'DeepSeek V3',
327
327
  id: 'deepseek-v3',
@@ -332,6 +332,84 @@ const Qwen: ModelProviderCard = {
332
332
  },
333
333
  releasedAt: '2025-01-27',
334
334
  },
335
+ {
336
+ contextWindowTokens: 131_072,
337
+ description:
338
+ 'DeepSeek-R1-Distill-Qwen-1.5B 是一个基于 Qwen2.5-Math-1.5B 的蒸馏大型语言模型,使用了 DeepSeek R1 的输出。',
339
+ displayName: 'DeepSeek R1 Distill Qwen 1.5B',
340
+ id: 'deepseek-r1-distill-qwen-1.5b',
341
+ pricing: {
342
+ currency: 'CNY',
343
+ input: 0,
344
+ output: 0,
345
+ },
346
+ releasedAt: '2025-02-05',
347
+ },
348
+ {
349
+ contextWindowTokens: 131_072,
350
+ description:
351
+ 'DeepSeek-R1-Distill-Qwen-7B 是一个基于 Qwen2.5-Math-7B 的蒸馏大型语言模型,使用了 DeepSeek R1 的输出。',
352
+ displayName: 'DeepSeek R1 Distill Qwen 7B',
353
+ id: 'deepseek-r1-distill-qwen-7b',
354
+ pricing: {
355
+ currency: 'CNY',
356
+ input: 0,
357
+ output: 0,
358
+ },
359
+ releasedAt: '2025-02-05',
360
+ },
361
+ {
362
+ contextWindowTokens: 131_072,
363
+ description:
364
+ 'DeepSeek-R1-Distill-Qwen-14B 是一个基于 Qwen2.5-14B 的蒸馏大型语言模型,使用了 DeepSeek R1 的输出。',
365
+ displayName: 'DeepSeek R1 Distill Qwen 14B',
366
+ id: 'deepseek-r1-distill-qwen-14b',
367
+ pricing: {
368
+ currency: 'CNY',
369
+ input: 0,
370
+ output: 0,
371
+ },
372
+ releasedAt: '2025-02-05',
373
+ },
374
+ {
375
+ contextWindowTokens: 131_072,
376
+ description:
377
+ 'DeepSeek-R1-Distill-Qwen-32B 是一个基于 Qwen2.5-32B 的蒸馏大型语言模型,使用了 DeepSeek R1 的输出。',
378
+ displayName: 'DeepSeek R1 Distill Qwen 32B',
379
+ id: 'deepseek-r1-distill-qwen-32b',
380
+ pricing: {
381
+ currency: 'CNY',
382
+ input: 0,
383
+ output: 0,
384
+ },
385
+ releasedAt: '2025-02-05',
386
+ },
387
+ {
388
+ contextWindowTokens: 131_072,
389
+ description:
390
+ 'DeepSeek-R1-Distill-Llama-8B 是一个基于 Llama-3.1-8B 的蒸馏大型语言模型,使用了 DeepSeek R1 的输出。',
391
+ displayName: 'DeepSeek R1 Distill Llama 8B',
392
+ id: 'deepseek-r1-distill-llama-8b',
393
+ pricing: {
394
+ currency: 'CNY',
395
+ input: 0,
396
+ output: 0,
397
+ },
398
+ releasedAt: '2025-02-05',
399
+ },
400
+ {
401
+ contextWindowTokens: 131_072,
402
+ description:
403
+ 'DeepSeek-R1-Distill-Llama-70B 是一个基于 Llama-3.3-70B-Instruct 的蒸馏大型语言模型,使用了 DeepSeek R1 的输出。',
404
+ displayName: 'DeepSeek R1 Distill Llama 70B',
405
+ id: 'deepseek-r1-distill-llama-70b',
406
+ pricing: {
407
+ currency: 'CNY',
408
+ input: 0,
409
+ output: 0,
410
+ },
411
+ releasedAt: '2025-02-05',
412
+ },
335
413
  ],
336
414
  checkModel: 'qwen-turbo-latest',
337
415
  description:
@@ -27,7 +27,11 @@ export const AssistantMessage = memo<
27
27
 
28
28
  const isReasoning = useChatStore(aiChatSelectors.isMessageInReasoning(id));
29
29
 
30
- const showReasoning = !!props.reasoning || (!props.reasoning && isReasoning);
30
+ // remove \n to avoid empty content
31
+ // refs: https://github.com/lobehub/lobe-chat/pull/6153
32
+ const showReasoning =
33
+ (!!props.reasoning && props.reasoning.content?.trim() !== '') ||
34
+ (!props.reasoning && isReasoning);
31
35
 
32
36
  return editing ? (
33
37
  <DefaultMessage