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.16.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.16-py3-none-any.whl (26.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ChatGPTWeb-0.0.16.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.16.tar.gz
Algorithm Hash digest
SHA256 9b3c193ea6123dbf31fcfddee1c46661e786939928df88849f08612a72475ae8
MD5 25ecb74671228eea014769bfb4120fbb
BLAKE2b-256 c36a9654ea118d4f50e684a7bece467b56bd7b06691c6bd0a6b207f7415ca215

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ChatGPTWeb-0.0.16-py3-none-any.whl
  • Upload date:
  • Size: 26.9 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.16-py3-none-any.whl
Algorithm Hash digest
SHA256 8ce40ee976effa5df1507b0be5fb285cfdb319fdd39523ffab6801af4b4da61a
MD5 e12fe1e902df3c52f3366fbebf056f9d
BLAKE2b-256 380b799e70ed2a1d0aca2ffae7bc3abab86a708a5ec6df7d125b5180079b948f

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