Skip to content

Commit 7732c3a

Browse files
authored
Merge branch 'master' into feat/burncloud
2 parents 82f24b5 + eb3cc98 commit 7732c3a

File tree

5 files changed

+444
-120
lines changed

5 files changed

+444
-120
lines changed

BARE_METAL.md

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,4 +112,36 @@ cd $HOME/anything-llm/collector
112112
(NODE_ENV=production node index.js) &> /logs/collector.log &
113113
```
114114

115-
115+
## Using Nginx?
116+
117+
If you are using Nginx, you can use the following example configuration to proxy the requests to the server. Chats for streaming require **websocket** connections, so you need to ensure that the Nginx configuration is set up to support websockets. You can do this with a simple reverse proxy configuration.
118+
119+
```nginx
120+
server {
121+
# Enable websocket connections for agent protocol.
122+
location ~* ^/api/agent-invocation/(.*) {
123+
proxy_pass http://0.0.0.0:3001;
124+
proxy_http_version 1.1;
125+
proxy_set_header Upgrade $http_upgrade;
126+
proxy_set_header Connection "Upgrade";
127+
}
128+
129+
listen 80;
130+
server_name [insert FQDN here];
131+
location / {
132+
# Prevent timeouts on long-running requests.
133+
proxy_connect_timeout 605;
134+
proxy_send_timeout 605;
135+
proxy_read_timeout 605;
136+
send_timeout 605;
137+
keepalive_timeout 605;
138+
139+
# Enable readable HTTP Streaming for LLM streamed responses
140+
proxy_buffering off;
141+
proxy_cache off;
142+
143+
# Proxy your locally running service
144+
proxy_pass http://0.0.0.0:3001;
145+
}
146+
}
147+
```

frontend/src/locales/pt_BR/common.js

Lines changed: 113 additions & 101 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ const TRANSLATIONS = {
6868
optional: "Opcional",
6969
yes: "Sim",
7070
no: "Não",
71-
search: null,
71+
search: "Pesquisar",
7272
},
7373
settings: {
7474
title: "Configurações da Instância",
@@ -225,7 +225,7 @@ const TRANSLATIONS = {
225225
docs: "Documentação",
226226
star: "Avalie-nos no Github",
227227
},
228-
keyboardShortcuts: null,
228+
keyboardShortcuts: "Atalhos de Teclado",
229229
},
230230
},
231231
"new-workspace": {
@@ -323,7 +323,7 @@ const TRANSLATIONS = {
323323
clearAllConfirm:
324324
"Tem certeza que deseja limpar todo o histórico? Esta ação é irreversível.",
325325
expand: "Expandir",
326-
publish: null,
326+
publish: "Publicar no Hub",
327327
},
328328
},
329329
refusal: {
@@ -332,8 +332,9 @@ const TRANSLATIONS = {
332332
query: "consulta",
333333
"desc-end":
334334
"modo, você pode definir uma resposta personalizada quando nenhum contexto for encontrado.",
335-
"tooltip-title": null,
336-
"tooltip-description": null,
335+
"tooltip-title": "Resposta de Recusa",
336+
"tooltip-description":
337+
"Configure uma mensagem personalizada quando o sistema não conseguir responder baseado no contexto disponível.",
337338
},
338339
temperature: {
339340
title: "Temperatura do LLM",
@@ -393,7 +394,7 @@ const TRANSLATIONS = {
393394
description:
394395
"Melhore as habilidades naturais do agente com estas funções pré-configuradas. Aplica-se a todos os workspaces.",
395396
rag: {
396-
title: "RAG & memória longa duraçào",
397+
title: "RAG & memória longa duração",
397398
description:
398399
'Permite ao agente usar documentos locais para responder suas perguntas ou perguntar ao agente "lembrar" conteúdos de sua memória de longa duração.',
399400
},
@@ -410,7 +411,7 @@ const TRANSLATIONS = {
410411
generate: {
411412
title: "Gerar gráficos",
412413
description:
413-
"Permite ao agent padrão gerar diversos tipos de gráficos a partir de dados armazenados ou informados no chat.",
414+
"Permite ao agente padrão gerar diversos tipos de gráficos a partir de dados armazenados ou informados no chat.",
414415
},
415416
save: {
416417
title: "Gerar & salvar arquivos",
@@ -550,13 +551,13 @@ const TRANSLATIONS = {
550551
provider: "Provedor de LLM",
551552
providers: {
552553
azure_openai: {
553-
azure_service_endpoint: null,
554-
api_key: null,
555-
chat_deployment_name: null,
556-
chat_model_token_limit: null,
557-
model_type: null,
558-
default: null,
559-
reasoning: null,
554+
azure_service_endpoint: "Endpoint do Serviço Azure",
555+
api_key: "Chave da API",
556+
chat_deployment_name: "Nome do Deployment de Chat",
557+
chat_model_token_limit: "Limite de Tokens do Modelo de Chat",
558+
model_type: "Tipo do Modelo",
559+
default: "Padrão",
560+
reasoning: "Raciocínio",
560561
},
561562
},
562563
},
@@ -615,7 +616,7 @@ const TRANSLATIONS = {
615616
workspace: "Workspace",
616617
chats: "Chats Enviados",
617618
active: "Domínios Ativos",
618-
created: null,
619+
created: "Criado Em",
619620
},
620621
},
621622
"embed-chats": {
@@ -892,14 +893,15 @@ const TRANSLATIONS = {
892893
normal: "Normal",
893894
large: "Grande",
894895
workspace_llm_manager: {
895-
search: null,
896-
loading_workspace_settings: null,
897-
available_models: null,
898-
available_models_description: null,
899-
save: null,
900-
saving: null,
901-
missing_credentials: null,
902-
missing_credentials_description: null,
896+
search: "Buscar provedores de LLM",
897+
loading_workspace_settings: "Carregando configurações do workspace...",
898+
available_models: "Modelos Disponíveis",
899+
available_models_description: "Selecione um modelo para este workspace",
900+
save: "Salvar modelo do workspace",
901+
saving: "Salvando...",
902+
missing_credentials: "Credenciais em falta",
903+
missing_credentials_description:
904+
"Configure as credenciais do LLM primeiro",
903905
},
904906
},
905907
profile_settings: {
@@ -915,14 +917,14 @@ const TRANSLATIONS = {
915917
update_account: "Atualizar conta",
916918
theme: "Preferência de tema",
917919
language: "Idioma preferido",
918-
failed_upload: null,
919-
upload_success: null,
920-
failed_remove: null,
921-
profile_updated: null,
922-
failed_update_user: null,
923-
account: null,
924-
support: null,
925-
signout: null,
920+
failed_upload: "Falha no upload da foto de perfil",
921+
upload_success: "Foto de perfil atualizada com sucesso",
922+
failed_remove: "Falha ao remover foto de perfil",
923+
profile_updated: "Perfil atualizado com sucesso",
924+
failed_update_user: "Falha ao atualizar perfil do usuário",
925+
account: "Conta",
926+
support: "Suporte",
927+
signout: "Sair",
926928
},
927929
"keyboard-shortcuts": {
928930
title: "Atalhos de Teclado",
@@ -935,89 +937,99 @@ const TRANSLATIONS = {
935937
llmPreferences: "Preferências do LLM",
936938
chatSettings: "Ajustes do chat",
937939
help: "Exibe ajuda e atalhos",
938-
showLLMSelector: null,
940+
showLLMSelector: "Exibir seletor de LLM",
939941
},
940942
},
941943
community_hub: {
942944
publish: {
943945
system_prompt: {
944-
success_title: null,
945-
success_description: null,
946-
success_thank_you: null,
947-
view_on_hub: null,
948-
modal_title: null,
949-
name_label: null,
950-
name_description: null,
951-
name_placeholder: null,
952-
description_label: null,
953-
description_description: null,
954-
tags_label: null,
955-
tags_description: null,
956-
tags_placeholder: null,
957-
visibility_label: null,
958-
public_description: null,
959-
private_description: null,
960-
publish_button: null,
961-
submitting: null,
962-
submit: null,
963-
prompt_label: null,
964-
prompt_description: null,
965-
prompt_placeholder: null,
946+
success_title: "Prompt de sistema publicado!",
947+
success_description:
948+
"Seu prompt de sistema foi publicado com sucesso no Hub da Comunidade.",
949+
success_thank_you: "Obrigado por contribuir!",
950+
view_on_hub: "Ver no Hub",
951+
modal_title: "Publicar prompt de sistema",
952+
name_label: "Nome",
953+
name_description: "Nome único para seu prompt de sistema",
954+
name_placeholder: "Meu prompt de sistema incrível",
955+
description_label: "Descrição",
956+
description_description: "Descreva o que seu prompt de sistema faz",
957+
tags_label: "Tags",
958+
tags_description:
959+
"Adicione tags para ajudar outros a encontrar seu prompt",
960+
tags_placeholder: "prompt, assistente, produtividade",
961+
visibility_label: "Visibilidade",
962+
public_description: "Qualquer pessoa pode ver e usar este prompt",
963+
private_description: "Apenas você pode ver e usar este prompt",
964+
publish_button: "Publicar prompt de sistema",
965+
submitting: "Publicando...",
966+
submit: "Publicar",
967+
prompt_label: "Prompt de sistema",
968+
prompt_description: "O conteúdo do seu prompt de sistema",
969+
prompt_placeholder: "Você é um assistente útil que...",
966970
},
967971
agent_flow: {
968-
public_description: null,
969-
private_description: null,
970-
success_title: null,
971-
success_description: null,
972-
success_thank_you: null,
973-
view_on_hub: null,
974-
modal_title: null,
975-
name_label: null,
976-
name_description: null,
977-
name_placeholder: null,
978-
description_label: null,
979-
description_description: null,
980-
tags_label: null,
981-
tags_description: null,
982-
tags_placeholder: null,
983-
visibility_label: null,
984-
publish_button: null,
985-
submitting: null,
986-
submit: null,
987-
privacy_note: null,
972+
public_description:
973+
"Qualquer pessoa pode ver e usar este fluxo de agente",
974+
private_description: "Apenas você pode ver e usar este fluxo de agente",
975+
success_title: "Fluxo de agente publicado!",
976+
success_description:
977+
"Seu fluxo de agente foi publicado com sucesso no Hub da Comunidade.",
978+
success_thank_you: "Obrigado por contribuir!",
979+
view_on_hub: "Ver no Hub",
980+
modal_title: "Publicar fluxo de agente",
981+
name_label: "Nome",
982+
name_description: "Nome único para seu fluxo de agente",
983+
name_placeholder: "Meu fluxo de agente incrível",
984+
description_label: "Descrição",
985+
description_description: "Descreva o que seu fluxo de agente faz",
986+
tags_label: "Tags",
987+
tags_description:
988+
"Adicione tags para ajudar outros a encontrar seu fluxo",
989+
tags_placeholder: "agente, automação, fluxo de trabalho",
990+
visibility_label: "Visibilidade",
991+
publish_button: "Publicar fluxo de agente",
992+
submitting: "Publicando...",
993+
submit: "Publicar",
994+
privacy_note:
995+
"Nota: dados sensíveis serão removidos antes da publicação",
988996
},
989997
generic: {
990998
unauthenticated: {
991-
title: null,
992-
description: null,
993-
button: null,
999+
title: "Faça login para publicar",
1000+
description:
1001+
"Você precisa estar logado para publicar no Hub da Comunidade",
1002+
button: "Fazer login",
9941003
},
9951004
},
9961005
slash_command: {
997-
success_title: null,
998-
success_description: null,
999-
success_thank_you: null,
1000-
view_on_hub: null,
1001-
modal_title: null,
1002-
name_label: null,
1003-
name_description: null,
1004-
name_placeholder: null,
1005-
description_label: null,
1006-
description_description: null,
1007-
command_label: null,
1008-
command_description: null,
1009-
command_placeholder: null,
1010-
tags_label: null,
1011-
tags_description: null,
1012-
tags_placeholder: null,
1013-
visibility_label: null,
1014-
public_description: null,
1015-
private_description: null,
1016-
publish_button: null,
1017-
submitting: null,
1018-
prompt_label: null,
1019-
prompt_description: null,
1020-
prompt_placeholder: null,
1006+
success_title: "Comando de barra publicado!",
1007+
success_description:
1008+
"Seu comando de barra foi publicado com sucesso no Hub da Comunidade.",
1009+
success_thank_you: "Obrigado por contribuir!",
1010+
view_on_hub: "Ver no Hub",
1011+
modal_title: "Publicar comando de barra",
1012+
name_label: "Nome",
1013+
name_description: "Nome único para seu comando de barra",
1014+
name_placeholder: "Meu comando incrível",
1015+
description_label: "Descrição",
1016+
description_description: "Descreva o que seu comando faz",
1017+
command_label: "Comando",
1018+
command_description: "O comando que os usuários digitarão",
1019+
command_placeholder: "/meu-comando",
1020+
tags_label: "Tags",
1021+
tags_description:
1022+
"Adicione tags para ajudar outros a encontrar seu comando",
1023+
tags_placeholder: "comando, produtividade, útil",
1024+
visibility_label: "Visibilidade",
1025+
public_description: "Qualquer pessoa pode ver e usar este comando",
1026+
private_description: "Apenas você pode ver e usar este comando",
1027+
publish_button: "Publicar comando de barra",
1028+
submitting: "Publicando...",
1029+
prompt_label: "Prompt",
1030+
prompt_description:
1031+
"O prompt que será executado quando o comando for usado",
1032+
prompt_placeholder: "Responda como um especialista em...",
10211033
},
10221034
},
10231035
},

frontend/src/utils/chat/index.js

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -103,8 +103,11 @@ export default function handleChat(
103103
chatId,
104104
metrics,
105105
};
106-
setLoadingResponse(false);
106+
107+
_chatHistory[chatIdx - 1] = { ..._chatHistory[chatIdx - 1], chatId }; // update prompt with chatID
108+
107109
emitAssistantMessageCompleteEvent(chatId);
110+
setLoadingResponse(false);
108111
} else {
109112
updatedHistory = {
110113
...existingHistory,
@@ -136,15 +139,6 @@ export default function handleChat(
136139
setChatHistory([..._chatHistory]);
137140
} else if (type === "agentInitWebsocketConnection") {
138141
setWebsocket(chatResult.websocketUUID);
139-
} else if (type === "finalizeResponseStream") {
140-
const chatIdx = _chatHistory.findIndex((chat) => chat.uuid === uuid);
141-
if (chatIdx !== -1) {
142-
_chatHistory[chatIdx - 1] = { ..._chatHistory[chatIdx - 1], chatId }; // update prompt with chatID
143-
_chatHistory[chatIdx] = { ..._chatHistory[chatIdx], chatId }; // update response with chatID
144-
}
145-
146-
setChatHistory([..._chatHistory]);
147-
setLoadingResponse(false);
148142
} else if (type === "stopGeneration") {
149143
const chatIdx = _chatHistory.length - 1;
150144
const existingHistory = { ..._chatHistory[chatIdx] };

0 commit comments

Comments
 (0)