AskChat
本篇介绍一个超实用的 Python 包,让你随时随地调用大模型:
- 命令行敲代码遇到问题,随时 ask 模型告诉你答案
- 用 Jupyter-Notebook 写代码,随时 ask 模型生成代码
pip install askchat
一键安装启动。
功能持续更新中,欢迎随时分享你的创意和建议!如果觉得有意思,别忘了给 GitHub 仓库 AskChat 点个赞~
终端调用:
Jupyter-Notebook 调用
安装及配置
通过 pip
命令安装:
pip install askchat
设置环境变量:
export OPENAI_API_KEY="your-api-key"
export OPENAI_API_BASE="https://api.openai.com/v1"
export OPENAI_API_MODEL="gpt-3.5-turbo"
还可以通过 askchat --generate-config
生成配置文件,并在 ~/.askchat/.env
中设置变量。
现在大部分模型都支持使用 OpenAI 风格的 API 密钥。如果你对这部分不熟悉,可以参考之前写的博客文章:
基本用法
配置好变量后,即可在终端进行问答:
askchat hello world
如果有多个 API 渠道,可以用 askenv
来管理和切换不同 API 渠道。
AskChat
askchat
支持对话调试,多轮问答,查看模型列表,对话管理等功能。
使用示例
![debug](https://img-blog.csdnimg.cn/img_convert/02b018576afbd66b48eaf5a5c658b17c.gif)
![validmodels](https://img-blog.csdnimg.cn/img_convert/25e3346081561b45a7e03df3859b4716.gif)
![chatlog](https://img-blog.csdnimg.cn/img_convert/0709506d042853aadb48196008e2ede4.gif)
![para-models](https://img-blog.csdnimg.cn/img_convert/f7941f666a14619a31c4347549c97bdc.gif)
AskEnv
askenv
用于管理不同的环境配置,包括创建、激活、删除等操作,便于在不同的渠道间切换。
示例
![askenv](https://img-blog.csdnimg.cn/img_convert/bc81a97b056f9ae6939b5a70948f5d99.gif)
![editenv](https://img-blog.csdnimg.cn/img_convert/26e6375b452ed90f31ba3893db5ca057.gif)
基本用法
-
创建一个新的环境配置,使用
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]
其他用法
对话管理
用户保存、加载、删除和列出对话历史记录,以及继续之前的对话。
参数 | 示例 | 解释 |
---|---|---|
-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 中 |
--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
可以过滤掉这些。
问题和反馈
使用过程中有任何问题或建议,欢迎提交 Issue。