Uma interface de bate-papo ChatGPT escrita em JavaScript nativa e é implementada com base na interface API GPT-3.5 Turbo do OpenAI e usa a solução fornecida pelo documento oficial da interface para realizar a função de memorizar o contexto de diálogo histórico, para que possa continuar a comunicar e alcançar um efeito contínuo de diálogo próximo ao site oficial Chatgpt.
De acordo com as informações do documento oficial do site, a taxa de uso é 90% mais barata que o modelo anterior 003.
Página da Web estática: http://sds222.gitee.io/chat-gpt-3.5.js


Arquitetura de software Descrição JavaScript HTML CSS
Para usar esta página, você precisa trazer com antecedência o seu próprio Apenai, caso contrário, todas as funções não poderão ser usadas normalmente.
Com base no JavaScript nativo, ele pode ser implantado diretamente em uma plataforma estática de hospedagem na web para ser executada.
Digite "/ajuda" na caixa de entrada para visualizar as instruções suportadas. Essas instruções podem ser usadas para alterar os parâmetros de enviar solicitações para ajustar o comportamento da IA:
/ajuda (para visualizar informações de ajuda)
/Apikey (usado para definir o Apikey. Somente registrando e obtendo o Apikey no site oficial, você pode usar esse serviço normalmente)
/Prompt (adicione um pré-contexto para cada texto enviado)
/Sistema (adicione uma descrição no nível do sistema para cada texto enviado)
/Maxtoken (usado para controlar o número de palavras que o chatgpt pode gerar cada vez)
/TPR (pode ser usado para controlar a diversidade de geração de chatbot)
/topo (pode ser usado para controlar a qualidade da geração de chatbot)
/FP (pode ser usado para controlar a "novidade" da geração de chatbot)
/pp (usado para controlar o comprimento das frases geradas por bot)
/Info (usado para exibir os valores dos parâmetros atuais)
/csize (usado para definir o número de conversas de histórico de memória)
/modo (usado para definir se deve ativar o modo de diálogo contínuo)
Após inserir /informações, os valores de todos os parâmetros serão exibidos:

Como o princípio do diálogo contínuo deste projeto é enviar o conteúdo anterior de diálogo histórico como um contexto para a interface do GPT-3.5 Turbo, isso pode levar ao desperdício de cotas de contas. Você pode inserir "/modo" no console e "false" na caixa de entrada para desativar o modo de diálogo contínuo.
O uso razoável dos parâmetros do sistema e do PRAMPT para definir o pré-contexto de cada frase pode manter o tom e a personalidade da IA consistentes por um longo tempo e também podem impedir que as informações principais sejam esquecidas pela IA.
Alguns do código deste projeto são gerados pelo ChatGPT.
Aqui registramos os dois novos algoritmos de cluster do autor:
1. Ao disparar alguns quadrados de certos tamanhos para diferentes ângulos no espaço, o quadrado se move em uma linha reta e para quando o quadrado colide com o ponto de amostra, e o quadrado parará de se mover quando encontrar o quadrado. O quadrado continuará a se acumular até que não possa ser abaixado. Isso preencherá as lacunas sem pontos em todo o espaço com blocos, e as bolhas espaciais restantes com apenas pontos de amostra sem blocos são classificados em classes, realizando o clustering.
2. A idéia de um algoritmo de agrupamento: disparando algumas pinballs a diferentes ângulos no espaço, tratando cada ponto de amostra como um quadrado. Se o pinball colidir com o quadrado do ponto de amostra, marque o quadrado da amostra como um quadrado de borda e ejetando em outras direções. Assim como o jogo de tiroteio em tijolos, após um período de tempo, esses quadrados de borda embrulharão os blocos internos, conectarão esses quadrados de borda em um círculo e os pontos de amostra no círculo são um tipo. Este método baseia -se em alvenaria, farinha e bola de neve na natureza.