feat: add hugging chat minapp
This commit is contained in:
parent
51cedcb644
commit
6aee3d8088
@ -65,9 +65,15 @@ afterSign: scripts/notarize.js
|
|||||||
releaseInfo:
|
releaseInfo:
|
||||||
releaseNotes: |
|
releaseNotes: |
|
||||||
本次更新:
|
本次更新:
|
||||||
|
增加流式输出开关
|
||||||
|
Windows 安装程序支持修改安装位置了
|
||||||
|
服务商和小程序图标更新
|
||||||
|
增加 ocoolAI 服务商
|
||||||
|
小程序增加 HuggingChat
|
||||||
|
Gemini 模型回复安全级别关闭
|
||||||
|
修复 macOS 切换窗口透明不生效问题
|
||||||
|
修复消息回复完成界面会自动滚动到最底部的问题
|
||||||
|
近期更新:
|
||||||
全新应用图标
|
全新应用图标
|
||||||
模型图标更新
|
模型图标更新
|
||||||
近期更新:
|
支持 Linux ARM 架构
|
||||||
支持话题导出为图片
|
|
||||||
支持粘贴图片和文件到聊天输入框
|
|
||||||
支持将对话移动到其他智能体了
|
|
||||||
|
|||||||
14
src/renderer/src/assets/images/apps/huggingchat.svg
Normal file
14
src/renderer/src/assets/images/apps/huggingchat.svg
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="none">
|
||||||
|
<path
|
||||||
|
fill="#FFD21E"
|
||||||
|
d="M4 15.55C4 9.72 8.72 5 14.55 5h4.11a9.34 9.34 0 1 1 0 18.68H7.58l-2.89 2.8a.41.41 0 0 1-.69-.3V15.55Z"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
fill="#32343D"
|
||||||
|
d="M19.63 12.48c.37.14.52.9.9.7.71-.38.98-1.27.6-1.98a1.46 1.46 0 0 0-1.98-.61 1.47 1.47 0 0 0-.6 1.99c.17.34.74-.21 1.08-.1ZM12.72 12.48c-.37.14-.52.9-.9.7a1.47 1.47 0 0 1-.6-1.98 1.46 1.46 0 0 1 1.98-.61c.71.38.98 1.27.6 1.99-.18.34-.74-.21-1.08-.1ZM16.24 19.55c2.89 0 3.82-2.58 3.82-3.9 0-1.33-1.71.7-3.82.7-2.1 0-3.8-2.03-3.8-.7 0 1.32.92 3.9 3.8 3.9Z"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
fill="#FF323D"
|
||||||
|
d="M18.56 18.8c-.57.44-1.33.75-2.32.75-.92 0-1.65-.27-2.2-.68.3-.63.87-1.11 1.55-1.32.12-.03.24.17.36.38.12.2.24.4.37.4s.26-.2.39-.4.26-.4.38-.36a2.56 2.56 0 0 1 1.47 1.23Z"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 810 B |
@ -5,6 +5,7 @@ import BaicuanAppLogo from '@renderer/assets/images/apps/baixiaoying.webp'
|
|||||||
import DevvAppLogo from '@renderer/assets/images/apps/devv.png'
|
import DevvAppLogo from '@renderer/assets/images/apps/devv.png'
|
||||||
import DoubaoAppLogo from '@renderer/assets/images/apps/doubao.png'
|
import DoubaoAppLogo from '@renderer/assets/images/apps/doubao.png'
|
||||||
import GeminiAppLogo from '@renderer/assets/images/apps/gemini.png'
|
import GeminiAppLogo from '@renderer/assets/images/apps/gemini.png'
|
||||||
|
import HuggingChatLogo from '@renderer/assets/images/apps/huggingchat.svg'
|
||||||
import KimiAppLogo from '@renderer/assets/images/apps/kimi.jpg'
|
import KimiAppLogo from '@renderer/assets/images/apps/kimi.jpg'
|
||||||
import MetasoAppLogo from '@renderer/assets/images/apps/metaso.webp'
|
import MetasoAppLogo from '@renderer/assets/images/apps/metaso.webp'
|
||||||
import PerplexityAppLogo from '@renderer/assets/images/apps/perplexity.webp'
|
import PerplexityAppLogo from '@renderer/assets/images/apps/perplexity.webp'
|
||||||
@ -191,6 +192,13 @@ const _apps: MinAppType[] = [
|
|||||||
logo: ZhihuAppLogo,
|
logo: ZhihuAppLogo,
|
||||||
url: 'https://zhida.zhihu.com/',
|
url: 'https://zhida.zhihu.com/',
|
||||||
bodered: true
|
bodered: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'hugging-chat',
|
||||||
|
name: 'HuggingChat',
|
||||||
|
logo: HuggingChatLogo,
|
||||||
|
url: 'https://huggingface.co/chat/',
|
||||||
|
bodered: true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
@ -72,15 +72,16 @@ export default class AnthropicProvider extends BaseProvider {
|
|||||||
userMessages.shift()
|
userMessages.shift()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const body: MessageCreateParamsNonStreaming = {
|
||||||
|
model: model.id,
|
||||||
|
messages: userMessages,
|
||||||
|
max_tokens: maxTokens || DEFAULT_MAX_TOKENS,
|
||||||
|
temperature: assistant?.settings?.temperature,
|
||||||
|
system: assistant.prompt
|
||||||
|
}
|
||||||
|
|
||||||
if (!streamOutput) {
|
if (!streamOutput) {
|
||||||
const message = await this.sdk.messages.create({
|
const message = await this.sdk.messages.create({ ...body, stream: false })
|
||||||
model: model.id,
|
|
||||||
messages: userMessages,
|
|
||||||
max_tokens: maxTokens || DEFAULT_MAX_TOKENS,
|
|
||||||
temperature: assistant?.settings?.temperature,
|
|
||||||
system: assistant.prompt,
|
|
||||||
stream: false
|
|
||||||
})
|
|
||||||
return onChunk({
|
return onChunk({
|
||||||
text: message.content[0].type === 'text' ? message.content[0].text : '',
|
text: message.content[0].type === 'text' ? message.content[0].text : '',
|
||||||
usage: message.usage
|
usage: message.usage
|
||||||
@ -89,14 +90,7 @@ export default class AnthropicProvider extends BaseProvider {
|
|||||||
|
|
||||||
return new Promise<void>((resolve, reject) => {
|
return new Promise<void>((resolve, reject) => {
|
||||||
const stream = this.sdk.messages
|
const stream = this.sdk.messages
|
||||||
.stream({
|
.stream({ ...body, stream: true })
|
||||||
model: model.id,
|
|
||||||
messages: userMessages,
|
|
||||||
max_tokens: maxTokens || DEFAULT_MAX_TOKENS,
|
|
||||||
temperature: assistant?.settings?.temperature,
|
|
||||||
system: assistant.prompt,
|
|
||||||
stream: true
|
|
||||||
})
|
|
||||||
.on('text', (text) => {
|
.on('text', (text) => {
|
||||||
if (window.keyv.get(EVENT_NAMES.CHAT_COMPLETION_PAUSED)) {
|
if (window.keyv.get(EVENT_NAMES.CHAT_COMPLETION_PAUSED)) {
|
||||||
stream.controller.abort()
|
stream.controller.abort()
|
||||||
|
|||||||
@ -130,10 +130,10 @@ export default class OpenAIProvider extends BaseProvider {
|
|||||||
const stream = await this.sdk.chat.completions.create({
|
const stream = await this.sdk.chat.completions.create({
|
||||||
model: model.id,
|
model: model.id,
|
||||||
messages: [systemMessage, ...userMessages].filter(Boolean) as ChatCompletionMessageParam[],
|
messages: [systemMessage, ...userMessages].filter(Boolean) as ChatCompletionMessageParam[],
|
||||||
stream: isSupportStreamOutput,
|
|
||||||
temperature: assistant?.settings?.temperature,
|
temperature: assistant?.settings?.temperature,
|
||||||
max_tokens: maxTokens,
|
max_tokens: maxTokens,
|
||||||
keep_alive: this.keepAliveTime
|
keep_alive: this.keepAliveTime,
|
||||||
|
stream: isSupportStreamOutput
|
||||||
})
|
})
|
||||||
|
|
||||||
if (!isSupportStreamOutput) {
|
if (!isSupportStreamOutput) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user