• 精华导航
  • 专题
  • 活动公告
文章
文章用户积分兑换

{{userData.name}}已认证

评论

关注

粉丝

¥{{role.user_data.money}}
{{role.user_data.credit}}
您已完成今天任务的
  • 私信列表所有往来私信

  • 任务中心每日任务

    NEW
  • 我的订单查看我的订单

  • 我的设置编辑个人资料

  • 进入后台管理

TG Bot接入OpenAI API,用命令行也能与AI对话

  • 23年2月7日
  • 编辑
大神本人

前言

我所遇到的问题相信大家也都遇到了,有时候与chatGPT对话时经常出现1小时内请求过多的情况,心情不好就不跟你聊了。

于是

我为了测试text模型到底怎么样,有没有大家说的那么神奇,我与GPT的交互陷入了一个死循环。原因是我想让它帮我写用tg bot接入OpenAI,然后用和bot交互,你猜怎么着,GPT模型不支持API调用,目前只能用post请求,这就把GPT给难坏了,4小时这代码也没写明白,一个劲儿说我请求次数太多!最后我给它一个60分吧,感觉嗷,用AI取代程序员还有待时日。

本文内容一共分为两个部分,第一部分是在一台linux服务器,直接用python命令行的方式与最新的模型 Davinci-003交互;第二部分是与已经接入API的telegram bot交互,实现的方法也很简单,主要命令和代码如下:

第一部分

首先我们需要在服务器上安装pip和openai库:

apt update
apt install pip vim -y
pip install openai

然后,需要申请OpenAI的api,在这里申请:https://platform.openai.com/account/api-keys
顺便说一下,申请api需要先绑定信用卡,不支持中国卡,哇咔咔!

绑卡后两个月送$18,随便造;参考费用是750个单词算1000tokens,费用$0.02。为了测试不超标,我把消费限制在每月最多$1。设置限额的方法就是在 https://platform.openai.com/account/billing/limits 看条件设置吧!

然后,就是在vps上创建 main.py,内容如下:

import openai

openai.api_key = "这里是你申请到的API-key"

def chat_with_gpt3(prompt):
    response = openai.Completion.create(
        engine="text-davinci-003",
        prompt=prompt,
        max_tokens=104,
        n=1,
        stop=None,
        temperature=0.5,
    )
    message = response.choices[0].text
    return message

def main():
    while True:
        message = input("You: ")
        response_message = chat_with_gpt3(message)
        print(f"Bot: {response_message}")

if __name__ == "__main__":
    main()

最后执行 python3 chat.py,即可实现交互问答:
截屏2023-02-02 21.54.27.png

第二部分

首先还是要申请OpenAI的apikey,方法上面说了;
然后这个vps也必须是海外的嗷,因为我们要用bot;

apt update
apt install pip vim -y
pip install openai aiogram 

下一步就是新建main.py,内容如下:

import openai
from aiogram import Bot, types
from aiogram.dispatcher import Dispatcher
from aiogram.utils import executor

token = '这里是你的bot token'
openai.api_key = '这里是你的api-key'

bot = Bot(token)
dp = Dispatcher(bot)

@dp.message_handler()
async def send(message : types.Message):
    response = openai.Completion.create(
    model="text-davinci-003",
    prompt=message.text,
    temperature=0.9,
    max_tokens=1000,
    top_p=1.0,
    frequency_penalty=0.0,
    presence_penalty=0.6,
    stop=["You:"]
)
    await message.answer(response['choices'][0]['text'])

executor.start_polling(dp, skip_updates=True)

最后,就是执行 python3 main.py,提示:Updates were skipped successfully.就可以到你的bot当中,跟他聊一下!

截屏2023-02-02 20.58.06.png

小结

切记:不要暴露API和token!!

我在上面用例当中引用的text-davinci-003模型,虽然快,但是有点傻:
截屏2023-02-02 22.43.26.png

×

大神本人

  • 2 帖子
  • 0 粉丝
  • 0 关注

作者动态

ChatGPT革命已经开始:一个新时代正拉开序幕!
TG Bot接入OpenAI API,用命令行也能与AI对话
❯
返回顶部
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分

今日签到

连续签到

  • {{item.credit}}
  • 连续{{item.count}}天
查看所有
我的优惠劵
  • ¥优惠劵
    使用时效:无法使用
    使用时效:

    之前

    使用时效:永久有效
    优惠劵ID:
    ×
    限制以下商品使用: 限制以下商品分类使用: 不限制使用:
    [{{ct.name}}]
    所有商品和商品类型均可使用
没有优惠劵可用!

购物车
  • ×
    删除
购物车空空如也!

清空购物车 前往结算
您有新的私信
没有新私信
写新私信 查看全部

跨境人的流量操盘阵地,
秉持真诚,利他,分享,向上成长的理念,
希望用我们的内容,帮助更多跨境行业的人受益,
一起为中国品牌助力出海!

合作

  • 工厂合作
  • 商务合作
  • 用户反馈

快速访问

  • 加入优联荟
  • 积分赚取
  • 积分兑换
  • 跨境交流区
公众号
小助理
公众号
小助理

粤ICP备2022048187号

Copyright © 2022 顾小北和他的朋友们

首页专题认证
搜索菜单我的