Una interfaz de chat de ChatGPT escrita en JavaScript nativo y se implementa en base a la interfaz Turbo API GPT-3.5 de OpenAI, y utiliza la solución proporcionada por el documento de interfaz oficial para realizar la función de memorizar el contexto de diálogo histórico, para que pueda continuar comunicando y logrando un efecto de diálogo continuo cercano al chat de sitio web oficial.
Según la información oficial del documento del sitio web, la tarifa de uso es 90% más barata que el modelo 003 anterior.
Página web estática: http://sdsds222.gitee.io/chat-gpt-3.5.js


Software Architecture Descripción JavaScript HTML CSS
Para usar esta página, debe llevar su propio apiKey de OpenAI por adelantado, de lo contrario, todas las funciones no podrán usarse normalmente.
Basado en JavaScript nativo, se puede implementar directamente en una plataforma de alojamiento web estático para ejecutarse.
Ingrese "/Ayuda" en el cuadro de entrada para ver las instrucciones compatibles. Estas instrucciones se pueden usar para cambiar los parámetros de envío de solicitudes para ajustar el comportamiento de la IA:
/Ayuda (para ver la información de ayuda)
/apikey (se usa para establecer el apikey. Solo registrando y obteniendo el apikey en el sitio web oficial, ¿puede utilizar este servicio normalmente?
/indicador (agregue un pre-contexto para cada texto enviado)
/Sistema (agregue una descripción a nivel de sistema para cada texto enviado)
/MaxToken (utilizado para controlar la cantidad de palabras que ChatGPT puede generar cada vez)
/TPR (se puede usar para controlar la diversidad de la generación de chatbot)
/Top (se puede usar para controlar la calidad de la generación de chatbot)
/FP (se puede usar para controlar la "novedad" de la generación de chatbot)
/PP (utilizado para controlar la longitud de las oraciones generadas por Bot)
/Info (utilizado para mostrar los valores de los parámetros actuales)
/csize (utilizado para establecer el número de conversaciones en el historial de memoria)
/modo (utilizado para establecer si habilita el modo de diálogo continuo)
Después de ingresar /información, se mostrarán los valores de todos los parámetros:

Dado que el principio del diálogo continuo de este proyecto es enviar el contenido de diálogo histórico anterior como un contexto a la interfaz de GPT-3.5 Turbo, esto puede conducir a un desperdicio de cuotas de cuentas. Puede ingresar "/modo" en la consola y "falso" en el cuadro de entrada para apagar el modo de diálogo continuo.
El uso razonable de los parámetros del sistema y Prampt para establecer el pre-contexto de cada oración puede mantener el tono y la personalidad de la IA consistente durante mucho tiempo, y también puede evitar que la IA olvida la información clave.
ChatGPT genera parte del código en este proyecto.
Aquí grabamos los dos nuevos algoritmos de agrupación del autor:
1. Al disparar algunos cuadrados de ciertos tamaños a diferentes ángulos en el espacio, el cuadrado se mueve en línea recta y se detiene cuando el cuadrado choca con el punto de muestra, y el cuadrado dejará de moverse cuando se encuentre con el cuadrado. El cuadrado continuará acumulándose hasta que no se pueda dejar. Esto llenará los vacíos sin puntos en todo el espacio con bloques, y las burbujas espaciales restantes con solo puntos de muestra sin bloques se clasifican en clases, realizando así la agrupación.
2. La idea de un algoritmo de agrupación: disparando algunos pinballs a diferentes ángulos en el espacio, tratando cada punto de muestra como un cuadrado. Si el pinball choca con el cuadrado de punto de muestra, marque el cuadrado de muestra como un cuadrado de borde y expulse en otras direcciones. Al igual que el juego de tiro de ladrillo, después de un período de tiempo, estos cuadrados de borde envolverán los bloques internos, conectarán estos cuadrados de borde en un círculo, y los puntos de muestra en el círculo son de un tipo. Este método se basa en ladrillos, harina y bolas de nieve en la naturaleza.