chatglm-fitness-RLHF / docs /README.md.Portuguese.md
fb700's picture
Upload 132 files
2ed7200
|
raw
history blame
21.2 kB

Nota

Ao instalar as dependências, por favor, selecione rigorosamente as versões especificadas no arquivo requirements.txt.

pip install -r requirements.txt

Otimização acadêmica GPT (GPT Academic)

**Se você gostou deste projeto, por favor dê um Star. Se você criou atalhos acadêmicos mais úteis ou plugins funcionais, sinta-se livre para abrir uma issue ou pull request. Nós também temos um README em Inglês|日本語|한국어|Русский|Français traduzidos por este próprio projeto. Para traduzir este projeto para qualquer idioma com o GPT, leia e execute multi_language.py (experimental).

Nota

  1. Por favor, preste atenção que somente os plugins de funções (botões) com a cor vermelha podem ler arquivos. Alguns plugins estão localizados no menu suspenso na área de plugins. Além disso, nós damos as boas-vindas com a maior prioridade e gerenciamos quaisquer novos plugins PR!

  2. As funções de cada arquivo neste projeto são detalhadas em self_analysis.md, auto-análises do projeto geradas pelo GPT também estão podem ser chamadas a qualquer momento ao clicar nos plugins relacionados. As perguntas frequentes estão resumidas no wiki. Instruções de Instalação.

  3. Este projeto é compatível com e incentiva o uso de modelos de linguagem nacionais, como chatglm e RWKV, Pangolin, etc. Suporta a coexistência de várias chaves de API e pode ser preenchido no arquivo de configuração como API_KEY="openai-key1,openai-key2,api2d-key3". Quando precisar alterar temporariamente o API_KEY, basta digitar o API_KEY temporário na área de entrada e pressionar Enter para que ele entre em vigor.

Funcionalidade Descrição
Um clique de polimento Suporte a um clique polimento, um clique encontrar erros de gramática no artigo
Tradução chinês-inglês de um clique Tradução chinês-inglês de um clique
Explicação de código de um único clique Exibir código, explicar código, gerar código, adicionar comentários ao código
Teclas de atalho personalizadas Suporte a atalhos personalizados
Projeto modular Suporte para poderosos pluginsde função personalizada, os plugins suportamhot-reload
Análise automática do programa [Plugin de função]um clique para entender o código-fonte do projeto
Análise do programa [Plugin de função] Um clique pode analisar a árvore de projetos do Python/C/C++/Java/Lua/...
Leitura de artigos, tradução de artigos [Plugin de função] um clique para interpretar o resumo de artigos LaTeX/PDF e gerar resumo
Tradução completa LATEX, polimento [Plugin de função] Uma clique para traduzir ou polir um artigo LATEX
Geração em lote de comentários [Plugin de função] Um clique gera comentários de função em lote
Tradução chinês-inglês markdown [Plugin de função] Você viu o README em 5 linguagens acima?
Relatório de análise de chat [Plugin de função] Gera automaticamente um resumo após a execução
Funcionalidade de tradução de artigos completos em PDF [Plugin de função] Extrai o título e o resumo do artigo PDF e traduz o artigo completo (multithread)
Assistente arXiv [Plugin de função] Insira o url do artigo arXiv para traduzir o resumo + baixar PDF
Assistente de integração acadêmica do Google [Plugin de função] Dê qualquer URL de página de pesquisa acadêmica do Google e deixe o GPT escrevertrabalhos relacionados
Agregação de informações da Internet + GPT [Plugin de função] Um clique para obter informações do GPT através da Internet e depois responde a perguntas para informações nunca ficarem desatualizadas
Exibição de fórmulas/imagem/tabela Pode exibir simultaneamente a forma de renderização e[TEX] das fórmulas, suporte a fórmulas e realce de código
Suporte de plugins de várias linhas Suporte a várias chamadas em linha do chatgpt, um clique para processamentode massa de texto ou programa
Tema gradio escuro Adicione /?__theme=dark ao final da url do navegador para ativar o tema escuro
Suporte para vários modelos LLM, suporte para a nova interface API2D A sensação de ser atendido simultaneamente por GPT3.5, GPT4, Chatglm THU, Moss Fudan deve ser ótima, certo?
Mais modelos LLM incorporados, suporte para a implantaçãohuggingface Adicione interface Newbing (New Bing), suporte JittorLLMs THU Introdução ao suporte do LLaMA, RWKV e Pan Gu Alpha
Mais recursos novos mostrados (geração de imagens, etc.) ... Consulte o final deste documento ...
  • Nova interface (Modifique a opção LAYOUT em config.py para alternar entre o layout esquerdo/direito e o layout superior/inferior)
    - All buttons are dynamically generated by reading functional.py, and you can add custom functions at will, liberating the clipboard
  • Proofreading/errors correction
  • If the output contains formulas, it will be displayed in both tex and rendering format at the same time, which is convenient for copying and reading
  • Don't want to read the project code? Just show the whole project to chatgpt
  • Mix the use of multiple large language models (ChatGLM + OpenAI-GPT3.5 + API2D-GPT4)

Instalação

Installation-Method 1: Run directly (Windows, Linux or MacOS)

  1. Download the project
git clone https://github.com/binary-husky/chatgpt_academic.git
cd chatgpt_academic
  1. Configure the API KEY

In config.py, configure API KEY and other settings, [Special Network Environment Settings] (https://github.com/binary-husky/gpt_academic/issues/1).

(P.S. When the program runs, it will first check whether there is a private configuration file named config_private.py, and use the configuration in it to cover the configuration with the same name in config.py. Therefore, if you can understand our configuration reading logic, we strongly recommend that you create a new configuration file named config_private.py next to config.py, and transfer (copy) the configuration in config.py to config_private.py. config_private.py is not controlled by git and can make your privacy information more secure. P.S. The project also supports configuring most options through environment variables. The writing format of environment variables is referenced to the docker-compose file. Reading priority: environment variable > config_private.py > config.py)

  1. Install dependencies
# (Option I: for those familiar with python)(python version is 3.9 or above, the newer the better), note: use the official pip source or the Alibaba pip source. Temporary solution for changing source: python -m pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
python -m pip install -r requirements.txt

# (Option II: for those who are unfamiliar with python) use anaconda, the steps are also similar (https://www.bilibili.com/video/BV1rc411W7Dr):
conda create -n gptac_venv python=3.11    # create anaconda environment
conda activate gptac_venv                 # activate anaconda environment
python -m pip install -r requirements.txt # This step is the same as the pip installation step
If you need to support Tsinghua ChatGLM / Fudan MOSS as the backend, click to expand here

[Optional Step] If you need to support Tsinghua ChatGLM / Fudan MOSS as the backend, you need to install more dependencies (prerequisite: familiar with Python + used Pytorch + computer configuration is strong):

# 【Optional Step I】support Tsinghua ChatGLM。Tsinghua ChatGLM Note: If you encounter a "Call ChatGLM fails cannot load ChatGLM parameters normally" error, refer to the following: 1: The default installed is torch+cpu version, and using cuda requires uninstalling torch and reinstalling torch+cuda; 2: If the model cannot be loaded due to insufficient computer configuration, you can modify the model accuracy in request_llm/bridge_chatglm.py and change AutoTokenizer.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True) to AutoTokenizer.from_pretrained("THUDM/chatglm-6b-int4", trust_remote_code=True)
python -m pip install -r request_llm/requirements_chatglm.txt

# 【Optional Step II】support Fudan MOSS
python -m pip install -r request_llm/requirements_moss.txt
git clone https://github.com/OpenLMLab/MOSS.git request_llm/moss  # Note: When executing this line of code, you must be in the project root path

# 【Optional Step III】Make sure that the AVAIL_LLM_MODELS in the config.py configuration file contains the expected model. Currently, all supported models are as follows (jittorllms series currently only supports docker solutions):
AVAIL_LLM_MODELS = ["gpt-3.5-turbo", "api2d-gpt-3.5-turbo", "gpt-4", "api2d-gpt-4", "chatglm", "newbing", "moss"] # + ["jittorllms_rwkv", "jittorllms_pangualpha", "jittorllms_llama"]

  1. Run
python main.py
```5. Plugin de Função de Teste
  • Função de modelo de plug-in de teste (exige que o GPT responda ao que aconteceu hoje na história), você pode usar esta função como modelo para implementar funções mais complexas Clique em "[Função de plug-in de modelo de demonstração] O que aconteceu hoje na história?"

## Instalação - Método 2: Usando o Docker

1. Apenas ChatGPT (recomendado para a maioria das pessoas)

``` sh
git clone https://github.com/binary-husky/chatgpt_academic.git  # Baixar o projeto
cd chatgpt_academic                                 # Entrar no caminho
nano config.py                                       # Editar config.py com qualquer editor de texto configurando "Proxy", "API_KEY" e "WEB_PORT" (por exemplo, 50923), etc.
docker build -t gpt-academic .                      # Instale

# (Ùltima etapa - escolha 1) Dentro do ambiente Linux, é mais fácil e rápido usar `--net=host`
docker run --rm -it --net=host gpt-academic
# (Última etapa - escolha 2) Em ambientes macOS/windows, você só pode usar a opção -p para expor a porta do contêiner (por exemplo, 50923) para a porta no host
docker run --rm -it -e WEB_PORT=50923 -p 50923:50923 gpt-academic
  1. ChatGPT + ChatGLM + MOSS (conhecimento de Docker necessário)
# Edite o arquivo docker-compose.yml, remova as soluções 1 e 3, mantenha a solução 2, e siga as instruções nos comentários do arquivo
docker-compose up
  1. ChatGPT + LLAMA + Pangu + RWKV (conhecimento de Docker necessário)
# Edite o arquivo docker-compose.yml, remova as soluções 1 e 2, mantenha a solução 3, e siga as instruções nos comentários do arquivo 
docker-compose up

Instalação - Método 3: Outros Métodos de Implantação

  1. Como usar URLs de proxy inverso/microsoft Azure API Basta configurar o API_URL_REDIRECT de acordo com as instruções em config.py.

  2. Implantação em servidores em nuvem remotos (requer conhecimento e experiência de servidores em nuvem) Acesse Wiki de implementação remota do servidor em nuvem

  3. Usando a WSL2 (sub-sistema do Windows para Linux) Acesse Wiki da implantação da WSL2

  4. Como executar em um subdiretório (ex. http://localhost/subpath) Acesse Instruções de execução FastAPI

  5. Execute usando o docker-compose Leia o arquivo docker-compose.yml e siga as instruções.

Uso Avançado

Customize novos botões de acesso rápido / plug-ins de função personalizados

  1. Personalizar novos botões de acesso rápido (atalhos acadêmicos) Abra core_functional.py em qualquer editor de texto e adicione os seguintes itens e reinicie o programa (Se o botão já foi adicionado e pode ser visto, prefixos e sufixos são compatíveis com modificações em tempo real e não exigem reinício do programa para ter efeito.) Por exemplo,
"Super Eng:": {
  # Prefixo, será adicionado antes da sua entrada. Por exemplo, para descrever sua solicitação, como tradução, explicação de código, polimento, etc.
  "Prefix": "Por favor, traduza o seguinte conteúdo para chinês e use uma tabela em Markdown para explicar termos próprios no texto: \n \n",

  # Sufixo, será adicionado após a sua entrada. Por exemplo, emparelhado com o prefixo, pode colocar sua entrada entre aspas.
  "Suffix": "",
},
  1. Personalizar plug-ins de função

Escreva plug-ins de função poderosos para executar tarefas que você deseja e não pensava possível. A dificuldade geral de escrever e depurar plug-ins neste projeto é baixa e, se você tem algum conhecimento básico de python, pode implementar suas próprias funções sobre o modelo que fornecemos. Para mais detalhes, consulte o Guia do plug-in de função..


Última atualização

Novas funções dinâmicas.

  1. Função de salvamento de diálogo. Ao chamar o plug-in de função "Salvar diálogo atual", é possível salvar o diálogo atual em um arquivo html legível e reversível. Além disso, ao chamar o plug-in de função "Carregar arquivo de histórico de diálogo" no menu suspenso da área de plug-in, é possível restaurar uma conversa anterior. Dica: clicar em "Carregar arquivo de histórico de diálogo" sem especificar um arquivo permite visualizar o cache do arquivo html de histórico. Clicar em "Excluir todo o registro de histórico de diálogo local" permite excluir todo o cache de arquivo html.

  2. Geração de relatório. A maioria dos plug-ins gera um relatório de trabalho após a conclusão da execução.

  3. Design modular de funcionalidades, com interfaces simples, mas suporte a recursos poderosos

  4. Este é um projeto de código aberto que é capaz de "auto-traduzir-se".

  5. A tradução de outros projetos de código aberto é simples.

  1. Recursos decorativos para o live2d (desativados por padrão, é necessário modificar o arquivo config.py)

  2. Suporte ao modelo de linguagem MOSS

  3. Geração de imagens pelo OpenAI

  4. Análise e resumo de áudio pelo OpenAI

  5. Revisão e correção de erros de texto em Latex.

Versão:

  • Versão 3.5(Todo): Usar linguagem natural para chamar todas as funções do projeto (prioridade alta)

  • Versão 3.4(Todo): Melhorar o suporte à multithread para o chatglm local

  • Versão 3.3: +Funções integradas de internet

  • Versão 3.2: Suporte a mais interfaces de parâmetros de plug-in (função de salvar diálogo, interpretação de códigos de várias linguagens, perguntas de combinações LLM arbitrárias ao mesmo tempo)

  • Versão 3.1: Suporte a perguntas a vários modelos de gpt simultaneamente! Suporte para api2d e balanceamento de carga para várias chaves api

  • Versão 3.0: Suporte ao chatglm e outros LLMs de pequeno porte

  • Versão 2.6: Refatoração da estrutura de plug-in, melhoria da interatividade e adição de mais plug-ins

  • Versão 2.5: Autoatualização, resolvendo problemas de token de texto excessivamente longo e estouro ao compilar grandes projetos

  • Versão 2.4: (1) Adição de funcionalidade de tradução de texto completo em PDF; (2) Adição de funcionalidade de mudança de posição da área de entrada; (3) Adição de opção de layout vertical; (4) Otimização de plug-ins de multithread.

  • Versão 2.3: Melhoria da interatividade de multithread

  • Versão 2.2: Suporte à recarga a quente de plug-ins

  • Versão 2.1: Layout dobrável

  • Versão 2.0: Introdução de plug-ins de função modular

  • Versão 1.0: Funcionalidades básicasgpt_academic desenvolvedores QQ grupo-2: 610599535

  • Problemas conhecidos

    • Extensões de tradução de alguns navegadores podem interferir na execução do front-end deste software
    • Uma versão muito alta ou muito baixa do Gradio pode causar vários erros

Referências e Aprendizado

Foi feita referência a muitos projetos excelentes em código, principalmente:

# Projeto1: ChatGLM-6B da Tsinghua:
https://github.com/THUDM/ChatGLM-6B

# Projeto2: JittorLLMs da Tsinghua:
https://github.com/Jittor/JittorLLMs

# Projeto3: Edge-GPT:
https://github.com/acheong08/EdgeGPT

# Projeto4: ChuanhuChatGPT:
https://github.com/GaiZhenbiao/ChuanhuChatGPT

# Projeto5: ChatPaper:
https://github.com/kaixindelele/ChatPaper

# Mais:
https://github.com/gradio-app/gradio
https://github.com/fghrsh/live2d_demo