Maison  >  Article  >  développement back-end  >  Utilisez une ligne de code Python pour connecter ChatGPT aux robots WeChat :

Utilisez une ligne de code Python pour connecter ChatGPT aux robots WeChat :

WBOY
WBOYavant
2023-05-09 23:28:071130parcourir

1. Principe de mise en œuvre

Peut-être que tous les chatbots intelligents ont l'idée de mise en œuvre suivante ?

Tout d'abord, obtenez le contenu du chat via le code (aucune limite de langue), puis transférez le contenu du chat vers l'arrière-plan de l'IA, et enfin transférez la réponse de l'IA obtenue à l'interface de chat via l'itinéraire d'origine.

Utilisez une ligne de code Python pour connecter ChatGPT aux robots WeChat :

Dans ce processus, les difficultés sont :

  • Comment obtenir le contenu du chat

  • Comment appeler la réponse de l'IA

  • Comment répondre automatiquement correctement ;

Au cours du processus de développement, vous constaterez que le dernier élément : comment corriger chaque conversation est le plus difficile.

2. Téléchargez le code

Téléchargez PyOfficeRobot

pip install PyOfficeRobot

1 ligne de code pour implémenter le robot WeChat + ChatGPT

import PyOfficeRobot
PyOfficeRobot.chat.chat_by_gpt(who='程序员', api_key='你的api_key')

3. Description du paramètre

Seuls 2 paramètres sont répertoriés ci-dessus :

  • who='programmer' : Obligatoire, la personne à qui vous souhaitez répondre intelligemment ;

  • api_key='your api_key' : Obligatoire, votre propre ChatGPT

En fait, il y a une série de paramètres à l'intérieur de la méthode, mais notre projet s'adresse principalement petits utilisateurs Si vous l'utilisez gratuitement, j'ai renseigné les valeurs par défaut. Si vous êtes un développeur professionnel, vous pouvez vous référer aux instructions ci-dessous pour le modifier. (à partir du site officiel d'OpenAI)

    completions = openai.Completion.create(
        engine=model_engine,
        prompt=prompt,
        max_tokens=max_tokens,  # 生成结果时的最大 tokens 数。平均一个汉字是 2 个 tokens,text-davinci-003 最多是 4000 个 tokens,也就是 2000 个汉字左右
        n=n,
        stop=stop,
        temperature=temperature,  # 控制结果的随机性,如果希望结果更有差异性 0.9,或者希望有固定结果可以尝试 0.0
        top_p=top_p,  # 一个可用于代替 temperature 的参数,对应机器学习中 nucleus sampling,如果设置 0.1 意味着只考虑构成前 10% 概率质量的 tokens
        frequency_penalty=frequency_penalty,  # 控制字符的重复度,取值为 -2.0 ~ 2.0 之间的数字
        presence_penalty=presence_penalty  # 控制主题的重复度,取值为 -2.0 ~ 2.0 之间的数字
    )

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer