Skip to main content

ChatGPT API

Project description

ChatGPT

ChatGPT api,not openai api,no web ui

一个不怎么使用网页的ChatGPT api PyPi

待填坑

  • 网页api对话构成
  • 多人格预设与切换
  • 聊天记录存储与导出
  • 自定义人设
  • 重置聊天或回到某一时刻
  • 多账号并发
  • GPT4
  • 代码过于混乱等优化
  • 抽空完善readme

安装/Install

Ubuntu & Windows

pip install ChatGPTWeb

sudo playwright install-deps

playwright install firefox

MsgData() 数据类型

from ChatGPTWeb.config import MsgData

class MsgData(): 
    status: bool = False,
    msg_type: typing.Optional[typing.Literal["old_session","back_loop","new_session"]] = "new_session",
    msg_send: str = "hi",
    # your msg 
    msg_recv: str = "",
    # gpt's msg
    conversation_id: str = "",
    p_msg_id: str = "",
    # p_msg_id : the message's parent_message_id in this conversation id / 这个会话里某条消息的 parent_message_id
    next_msg_id: str = "",
    post_data: str = ""

# 使用/Used
just simple to use

简单使用

### copy __main__.py or this code to start / 复制 __main__.py 或者以下code来开始
```bash
from ChatGPTWeb.ChatGPTWeb import chatgpt
from ChatGPTWeb.config import Personality,MsgData
import asyncio
import aioconsole

session_token=""

personality_definition = Personality(
    [
        {
            "name":"猪咪",
            'value':'咩~ '
            },
        {
            "name":"cat",
            "value":"you are a cat"
        }
        ])

chat = chatgpt(session_token=session_token,log_status=False,personality=personality_definition)

async def main():
    
    c_id = await aioconsole.ainput("your conversation_id if you have:")
    p_id = await aioconsole.ainput("your parent_message_id if you have:")
    data:MsgData = MsgData(conversation_id=c_id,p_msg_id=p_id)
    while 1:
        print("\n------------------------------")
        data.msg_send = await aioconsole.ainput("input:")
        print("------------------------------\n")
        if data.msg_send == "quit":
            break
        elif data.msg_send == "re":
            data.msg_type = "back_loop"
            data.p_msg_id = await aioconsole.ainput("your parent_message_id if you go back:")
        elif data.msg_send == "reset":
            data = await chat.back_init_personality(data)
            print(f"ChatGPT:{data.msg_recv}")
            continue
        elif data.msg_send == "init_personality":
            data.msg_send = "your ..."
            data = await chat.init_personality(data)
            print(f"ChatGPT:{data.msg_recv}")
            continue
        elif data.msg_send == "history":
            print(await chat.show_chat_history(data))
            continue
        data = await chat.continue_chat(data)
        print(f"ChatGPT:{data.msg_recv}")
        
        
loop = asyncio.get_event_loop()
loop.run_until_complete(main())           
    

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ChatGPTWeb-0.0.15.tar.gz (25.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ChatGPTWeb-0.0.15-py3-none-any.whl (26.8 kB view details)

Uploaded Python 3

File details

Details for the file ChatGPTWeb-0.0.15.tar.gz.

File metadata

  • Download URL: ChatGPTWeb-0.0.15.tar.gz
  • Upload date:
  • Size: 25.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for ChatGPTWeb-0.0.15.tar.gz
Algorithm Hash digest
SHA256 f3dc7cc5539193eedc9122fb25400b6d07ffde753900cc54be92288f1ad0612e
MD5 623d57501071e571b4f495fc8a443d84
BLAKE2b-256 02346ca30dbebe92a50cbdc83cc1328606ef969cc318766deaedcb5bf7d955bb

See more details on using hashes here.

File details

Details for the file ChatGPTWeb-0.0.15-py3-none-any.whl.

File metadata

  • Download URL: ChatGPTWeb-0.0.15-py3-none-any.whl
  • Upload date:
  • Size: 26.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for ChatGPTWeb-0.0.15-py3-none-any.whl
Algorithm Hash digest
SHA256 3b9fdc9304536221e7af3739ddac367fed3364fb9c1b22f88621e5bb1bb37f85
MD5 0ebd5ef1279f52de1d6d88b0709c65c7
BLAKE2b-256 fe8887026974f7d600b59d4d0313359b2ae305c6d996e8fda0eb3e878c012f1c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page