OADS - OpenAI 自生成开发工作室
使用 OpenAI 代理生成游戏和程序。基于 Microsoft Autogen 构建。
⚠️ 开发进行中
目前的代码可以工作,但:
- 存在且将会存在重大的变更:
- 始终检查隐藏的
.env.jsonc
文件,确保其与最新的env.sample.jsonc
结构匹配。- 通过
poetry install
始终更新依赖项。- 需要优化很多内容以大幅减少 token 使用:缓存、逐步处理、会话拆分、更好的提示词。
- 代码需要一些清理工作。
- Microsoft Autogen 还处于早期阶段,存在一些错误。
- 许多硬编码的内容可以通过配置文件进行自定义。
- 我最初将只专注于少数编程语言。
为什么是这个项目?
有一些了不起的项目在做类似的事情,但我希望找到一种方法来解决雄心勃勃的程序生成问题。
入门
先决条件
你需要一个 OpenAI API 密钥或者一个 Azure OpenAI API 密钥。
不要依赖 GPT-3.5
,无论是 turbo
还是标准版本,去生成除“示例”程序以外的任何内容。
如果你目标是更复杂的应用程序,GPT-4
是必须的,最好是 GPT-4-32k
。
使用 OpenAI API 可能会很快用完你的 token 限额。 对于更广泛的项目,推荐使用 Azure OpenAI API。
如果你有雄心勃勃的目标,请注意成本!始终监控 token 的使用情况和代理在做什么。 虽然人工智能可以是一个强大的工具,但它不一定比雇佣真正的开发人员便宜——至少现在还没有 🙄。
Anaconda
1/3 安装
conda create -n autogen python=3.10
conda activate autogen
pip install poetry
poetry install
cp env.sample.jsonc env.jsonc
2/3 配置
编辑你的 env.json
来添加你的 API 密钥并自定义你的安装。
3/3 运行
只需:
make run
OADS 将自动生成程序源代码在 ./project
目录中。
你可以通过以下命令清理:
make clean
开源 LLMs
重要:函数将无法工作。
1/2 运行文本生成网络界面
根据我的测试,Autogen 似乎可以与任何支持 文本生成网络界面 的开源 LLM 一起工作。
你只需在 web UI 的“会话”选项卡中启用 openai
扩展:
如果是远程服务器,确保你的 5001
端口是开放的或已绑定,因为这是 OpenAI 类 API 将展示的地方。
我个人将当前模型部署在 RunPod(无关联)上,并使用 thebloke/cuda11.8.0-ubuntu22.04-oneclick:latest
镜像,尽管我认为它在 llama.cpp & co 上似乎有些过时。
2/2 设置 OADS
"models": [
// (例如)`Open-Orca/Mistral-7B-OpenOrca` 的自定义部署
// 使用“文本生成网络界面”并启用 `OpenAI` 扩展:
// https://github.com/oobabooga/text-generation-webui/tree/main/extensions/openai#an-openedai-api-openai-like
// 无论你使用什么模型,只要它兼容 OpenAI API 规范即可。
{
"model": "Open-Orca/LlongOrca-13B-16k",
"api_base": "http://localhost:5001", // 或你的远程服务器 URL
"api_key": "sk-111111111111111111111111111111111111111111111111",
"api_type": "open_ai"
}
],