Integración con la API de WeChat para Modelos de Lenguaje: Guía y Ejemplos

La plataforma BingChengGPT (ahora BingXin API) ofrece una API abierta para WeChat, proporcionando una experiencia de usuario idéntica a la de OpenAI, con soporte para datos síncronos y carga de contenido tanto en modo stream como no stream.

Dirección de la API actualizada: https://bx-api.online/

La siguiente información corresponde a la versión anterior y está sujeta a la actualización mancionada.

Plataforma BingChengGPT API para WeChat - Instrucciones de Uso

  • API estable y disponible para uso en China.
  • Soporte técnico y resolución de problemas activos.
  • Respuesta a consultas en menos de 1 hora.
  • Integración con el sistema de detección de seguridad de contenido de Tencent Cloud.
  • Para consultas, únete al grupo de QQ: 310872519.

Detalles de la Integración API

  1. URLs de la API:

    • https://gpt.bcwhkj.cn/api/v2.Gptliu/search
    • https://yewu.bcwhkj.cn/v1/chat/completions
  2. Método de Solicitud: POST

  3. Formato del Body: JSON

  4. **Contenido de la Solicitud:**Para solicitudes stream (SSE), que ofrecen una mejor experiencia visual y tiempos de respuesta rápidos. Para solicitudes no stream, omita la línea "stream": true.

    
    {
       "messages": [{"role": "user", "content": "¿Quién eres?"}],
       "model": "gpt-3.5-turbo",
       "stream": true
    }
    
    
  5. Cabeceras de la Solicitud: ```json

    { "Content-Type": "application/json", "Authorization": "Bearer TU_TOKEN_PERSONALIZADO" }

    
    **Nota sobre el Token:** Obtén tu token accediendo a la cuenta oficial de WeChat "冰橙文化科技", navegando al menú "冰橙GPT" y luego a "Mi Cuenta" en la esquina superior derecha. Se otorgan 10,000 caractrees gratuitos en la primera visita; se pueden adquirir más mediante recargas.
    
    

Diferencia entre Stream y No-Stream

  • Solicitud POST Stream (SSE): El contenido se entrega y responde de forma incremental, resultando en una respuesta más rápida.
  • Solicitud POST Normal (No-Stream): Espera a que la API oficial de ChatGPT comlpete toda la respuesta antes de que el servidor la envíe al frontend, lo que puede ser más lento.

Puede acceder a través de un código QR de WeChat.

  1. Formato del Cuerpo de Respuesta: JSON

  2. Contenido de Respuesta (No-Stream): ```json

    { "id": "chatcmpl-77dQj73rIl0GJyTpAH4QlcSnhOFKp", "object": "chat.completion", "created": 1682054221, "model": "gpt-3.5-turbo-0301", "usage": { "prompt_tokens": 13, "completion_tokens": 30, "total_tokens": 43 }, "choices": [ { "message": { "role": "assistant", "content": "Soy un modelo de lenguaje de inteligencia artificial, capaz de responder y dialogar basándome en la entrada del usuario." }, "finish_reason": "stop", "index": 0 } ] }

  3. Contenido de Respuesta (Stream): ```json

    data: {"id":"chatcmpl-783jPdq1a1ZG6KQc9pq98FDRSqNmp","object":"chat.completion.chunk","created":1682155323,"model":"gpt-3.5-turbo-0301","choices":[{"delta":{"role":"assistant"},"index":0,"finish_reason":null}]} data: {"id":"chatcmpl-783jPdq1a1ZG6KQc9pq98FDRSqNmp","object":"chat.completion.chunk","created":1682155323,"model":"gpt-3.5-turbo-0301","choices":[{"delta":{"content":"Soy"},"index":0,"finish_reason":null}]} data: {"id":"chatcmpl-783jPdq1a1ZG6KQc9pq98FDRSqNmp","object":"chat.completion.chunk","created":1682155323,"model":"gpt-3.5-turbo-0301","choices":[{"delta":{"content":"un"},"index":0,"finish_reason":null}]} ... (más fragmentos de datos) ... data: [DONE]

    
    

Función de Conversación Continua (Contexto)

Para mantener el contexto en conversaciones, incluya los intercambios anteriores en el parámetro keyword, prefijando las preguntas con "Q:" y las respuestas con "A:". Asegúrese de incluir un espacio antes de "Q:" y "A:".

Ejemplo de Estructura de Conversación:


let conversationHistory = '';
const previousQ = "Hola!";
const previousA = "Hola, ¿en qué puedo ayudarte?";
const newQuestion = "¿Cómo está el clima hoy?";

// Añadir el intercambio anterior al historial
conversationHistory += ` Q: ${previousQ} A: ${previousA}`;

// Añadir la nueva pregunta
conversationHistory += ` Q: ${newQuestion} A: `; // El modelo completará la respuesta

// El parámetro 'keyword' para la solicitud sería:
// keyword = " Q: Hola! A: Hola, ¿en qué puedo ayudarte? Q: ¿Cómo está el clima hoy? A: "

Ejemplo de Implementación en JavaScript (Conceptual):


let keyword = '';
const chatLog = [
    { wen: 'Si mi esposa y mi madre se caen al agua, ¿a quién salvo primero?', da: 'En esta situación, lo lógico sería salvar a la madre primero. El principio de rescate es priorizar a quien esté en mayor peligro, pero también se debe considerar la posibilidad de escape. Si la esposa sabe nadar muy bien, podría ser rescatada primero si se le puede sacar del agua rápidamente; de lo contrario, salvar a la madre es una decisión prudente.' }
];

// Procesar el historial de chat
chatLog.forEach(entry => {
    keyword += ` Q: ${entry.wen} A: ${entry.da}。 <|endoftext|> `;
});

// Añadir la nueva pregunta
const currentQuestion = 'No estoy de acuerdo.';
keyword += ` Q: ${currentQuestion} A: `;

// 'keyword' ahora contiene el historial y la pregunta actual para mantener el contexto.

Al utilizar este método, las respuestas generadas mantendrán el contexto de la conversación.

Etiquetas: OpenAI WeChat API GPT-3.5 Turbo Stream API

Publicado el 7-21 17:52