通过命令行运行的 ChatGPT 交互工具,随时随地调用 ChatGPT。
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
支持 API 调试,对话管理等功能。
用户保存、加载、删除和列出对话历史记录,以及继续之前的对话。
参数 | 示例 | 解释 |
---|---|---|
-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
用于管理不同的环境配置,包括创建、激活、删除等操作,便于在不同的渠道间切换。
-
创建一个新的环境配置,使用
new
命令。askenv new <name> [-a API_KEY] [-b BASE_URL] [--api-base API_BASE] [-m MODEL]
或者用
askchat --generate-config
从环境变量生成默认配置:askchat --generate-config
-
激活某个环境,将其设置为当前使用的配置。
askenv use <name>
-
删除指定的环境配置文件。
askenv delete <name> askenv delete --default
-
列出当前所有可用环境。
askenv list
-
显示指定环境的配置信息,如果没有指定环境名称,则显示默认环境的配置。
askenv show [name]
-
将当前激活的环境配置保存为指定名称的配置文件。
askenv save <name>
-
更新指定或默认环境配置的一项或多项设置。
askenv config [name] [-a API_KEY] [-b BASE_URL] [--api-base API_BASE] [-m MODEL]
使用过程中有任何问题或建议,欢迎提交 Issue。