Skip to main content

a ChatGPT API,no web ui

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
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:")
    chat.data.conversation_id,chat.data.p_msg_id = c_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 = 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.5.tar.gz (22.1 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.5-py3-none-any.whl (21.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for ChatGPTWeb-0.0.5.tar.gz
Algorithm Hash digest
SHA256 97588bacb7ba39df1258f6a9dd3eb6e091204cfcd6ac00144c665b19f300ff6b
MD5 00d039e48165f61d7ee023613b4c401c
BLAKE2b-256 5e172a42210ebd04b478e91c4a373f1ce4102291606e6e19748ffe2883dbe4ac

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for ChatGPTWeb-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 1118f3032fa29c6715915edf96ee8aa6c095e006fd43f655bcf4d7c263cfa6a8
MD5 fe3b692709adfc47688a1ad81ea11e57
BLAKE2b-256 e61baffeb3368bb5be7486e6783d7ddadbe06fb0aaa59494587fc4de7cdd8c90

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