smalltalk
smalltalk 是一个基于 tinystruct 的项目,提供即时消息功能,允许用户发送文本并分享图片、文档等内容。同时,它还允许你通过命令行界面 (CLI) 或 Web 界面与由 OpenAI 开发的语言模型 ChatGPT 进行交互。
安装
- 从 GitHub 下载项目,点击“Clone or download”按钮,然后选择“Download ZIP”。
- 将下载的 ZIP 文件解压到你的本地机器上。
- 如果你习惯使用 git,可以执行以下命令来代替以上步骤:
git clone https://github.com/tinystruct/smalltalk.git
- 首先,你需要按照这个 教程 在电脑上安装 Java 开发工具包 (JDK 11+)。如果你选择手动下载并安装,请在这个 OpenJDK Archive 中查看。如果你有像 Eclipse 或 IntelliJ IDEA 这样的 Java 开发环境,这会更好,但不是必须的。
如果你的当前环境使用的是 JDK 8,你可以执行以下命令快速升级:
bin/openjdk-upgrade
- 将解压/克隆的项目导入你的 Java 开发环境中。
- 打开
src/main/resources/application.properties
文件,用你自己的密钥更新openai.api_key
,或者设置环境变量OPENAI_API_KEY
为你自己的密钥。 - 这是安装的最后一步:
./mvnw compile
使用
你可以通过不同的方式运行 smalltalk:
CLI 模式
- 打开终端并导航到项目的根目录。
- 要以 CLI 模式运行,执行以下命令:
bin/dispatcher --version
要查看可用命令,运行以下命令:
bin/dispatcher --help
要与 ChatGPT 互动,使用 chat 命令,例如:
bin/dispatcher chat
Web 模式
- 在 servlet 容器或 HTTP 服务器中运行项目:
- 要在 servlet 容器中运行,首先需要编译项目:
然后你可以通过运行以下命令在 tomcat 服务器上运行它:
sudo bin/dispatcher start --import org.tinystruct.system.TomcatServer --server-port 777
或者通过运行以下命令在 netty HTTP 服务器上运行它:
sudo bin/dispatcher start --import org.tinystruct.system.NettyHttpServer --server-port 777
- 要在 Docker 容器中运行,你可以使用以下命令:
docker run -d -p 777:777 -e "OPENAI_API_KEY=[YOUR-OPENAI-API-KEY]" -e "STABILITY_API_KEY=[YOUR-STABILITY-API-KEY]" m0ver/smalltalk
- 通过在网页浏览器中访问 http://localhost:777/?q=talk 来访问应用程序。
- 如果你想与 ChatGPT 对话,请在设置话题时在话题中输入 @ChatGPT。
演示
一个不使用 websocket 并支持任何网页浏览器的 comet 技术演示:
https://tinystruct.herokuapp.com/?q=talk
故障排除
- 如果你在项目的安装或使用过程中遇到任何问题,请查阅项目文档或构建文件,了解如何设置和运行项目。
- 如果仍有问题,请在 GitHub 上打开一个问题,或联系项目维护人员寻求帮助。
贡献
我们欢迎对 smalltalk 项目的贡献。如果你有兴趣参与,请阅读 CONTRIBUTING.md 文件,了解项目的开发流程和编码标准。
致谢
smalltalk 使用 OpenAI API 与 ChatGPT 语言模型进行交互。我们感谢 OpenAI 为社区提供了这个强大的工具。
许可证
根据 Apache 许可证 2.0 版(以下简称“许可证”)授权,你只能根据许可证使用此文件。 你可以在以下网址获得许可证副本:
http://www.apache.org/licenses/LICENSE-2.0
除非适用法律要求或书面同意,否则根据许可证分发的软件是按“原样”分发的,没有任何明示或暗示的担保。 请参阅许可证了解管理权限和限制。