Skip to main content

Interact with ChatGPT in terminal via chattool

Project description

AskChat

通过命令行运行的 ChatGPT 交互工具,随时随地调用 ChatGPT。

终端调用
hello
Jupyter Lab
jupyter

安装及配置

pip install askchat --upgrade

配置环境变量:

export OPENAI_API_KEY="your-api-key"
export OPENAI_API_BASE="https://api.openai.com/v1"
export OPENAI_API_BASE_URL="https://api.openai.com"
export OPENAI_API_MODEL="gpt-3.5-turbo"

注:OPENAI_API_BASE 变量优先于 OPENAI_API_BASE_URL 变量,二者选一即可。

使用方法

使用环境变量,进行简单的问答:

ask hello world

除此之外,可使用 askchat 进行更灵活的对话,使用 askenv 管理环境配置。

AskChat

askchat 支持 API 调试,对话管理等功能。

使用示例

1. API 调试
debug
2. 获取可用模型列表
validmodels
3. 多轮对话,保存对话,加载对话等
chatlog
4. 指定参数,使用不同的模型和 API
para-models

对话管理

用户保存、加载、删除和列出对话历史记录,以及继续之前的对话。

参数 示例 解释
-c askchat -c <message> 继续上一次的对话
--regenerate askchat -r 重新生成上一次对话的最后回复
--load askchat -l <file> 加载历史对话
--print askchat -p [<file>] 打印上次或指定的对话历史
--save askchat -s <file> 将当前对话历史保存到文件
--delete askchat -d <file> 删除指定的对话历史文件
--list askchat --list 列出所有保存的对话历史文件

所有对话保存在 ~/.askchat/,最近一次对话保存在 ~/.askchat/_last_chat.json

模型参数

askchat 的默认参数,这些参数用于直接与 ChatGPT 交互或者配置 API 的连接信息。

参数 示例 解释
<message> askchat hello 最简单的对话
--model -m gpt-3.5-turbo 指定使用的模型名称
--base-url -b https://api.example.com 设置 Base URL (不包含 /v1)
--api-base --api-base https://api.example.com/v1 设置 Base URL
--api-key -a sk-xxxxxxx 提供 OpenAI API 密钥
--option -o top_p 1 temperature 0.5 设置请求参数
--use-env -u prod 使用指定配置文件加载环境变量,详见 AskEnv

注:一些模型 API,比如智谱,使用 /v4 作为 API 的基础路径,这时得用 --api-base 参数。

其他参数

辅助功能,如生成配置文件、调试日志、打印模型列表和显示版本信息等,使用 --help 查看所有支持的参数。

参数 示例 解释
--generate-config askchat --generate-config 生成配置文件,保存在 ~/.askchat/.env
--print-url askchat hello --print-url 打印实际请求的 URL
--debug askchat --debug 打印调试日志
--valid-models askchat --valid-models 打印包含 "gpt" 名称的模型列表
--all-valid-models askchat --all-valid-models 打印所有的模型
--version askchat -v askchat 的版本信息

注:--all-valid-models 会打印所有可用模型,包括 Embedding, dalle-3, tts 等,使用 --valid-models 可以过滤掉这些。

AskEnv

askenv 用于管理不同的环境配置,包括创建、激活、删除等操作,便于在不同的渠道间切换。

示例

1. 创建渠道
askenv
2. 编辑渠道
editenv

基本用法

  1. 创建一个新的环境配置,使用 new 命令。

    askenv new <name> [-a API_KEY] [-b BASE_URL] [--api-base API_BASE] [-m MODEL]
    

    或者用 askchat --generate-config 从环境变量生成默认配置:

    askchat --generate-config
    
  2. 激活某个环境,将其设置为当前使用的配置。

    askenv use <name>
    
  3. 删除指定的环境配置文件。

    askenv delete <name>
    askenv delete --default
    
  4. 列出当前所有可用环境。

    askenv list
    
  5. 显示指定环境的配置信息,如果没有指定环境名称,则显示默认环境的配置。

    askenv show [name]
    
  6. 将当前激活的环境配置保存为指定名称的配置文件。

    askenv save <name>
    
  7. 更新指定或默认环境配置的一项或多项设置。

    askenv config [name] [-a API_KEY] [-b BASE_URL] [--api-base API_BASE] [-m MODEL]
    

问题和反馈

使用过程中有任何问题或建议,欢迎提交 Issue

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

askchat-2.0.1.tar.gz (1.4 MB view details)

Uploaded Source

Built Distribution

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

askchat-2.0.1-py3-none-any.whl (11.5 kB view details)

Uploaded Python 3

File details

Details for the file askchat-2.0.1.tar.gz.

File metadata

  • Download URL: askchat-2.0.1.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.18

File hashes

Hashes for askchat-2.0.1.tar.gz
Algorithm Hash digest
SHA256 3323a9194e35905eebf25f8d8c68bf33931097e73dc0e9bcc2aa9d811432944d
MD5 33999e1bdf619549b83fb1598ef549f0
BLAKE2b-256 abb271477629042f133fce37349652a95bdcb6d40bd566e93a494ef12b4f9e22

See more details on using hashes here.

File details

Details for the file askchat-2.0.1-py3-none-any.whl.

File metadata

  • Download URL: askchat-2.0.1-py3-none-any.whl
  • Upload date:
  • Size: 11.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.18

File hashes

Hashes for askchat-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 131bfe1c0a32ce6f381d5ae26ec62ff43bdbafd94881ece7b2b624b0b6533c25
MD5 dde887d43064e5aadc3df34322eb202b
BLAKE2b-256 e2cda8a4096f5f294de413eaec700f94c85bb37c3c23cfe1fef049d34d94a4c1

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