在FreeBSD14.2下安装MiniConda python3.12 ,以便安装运行Auto-Coder

以前曾经在FreeBSD13下面安装成功Miniconda,现在准备在FreeBSD14.2下安装MiniConda python3.12 ,以便安装运行Auto-Coder。以前安装MiniConda文档参考:

安装Miniconda@FreeBSD13_miniconda feiyaozhuangzai root shang-CSDN博客

开始安装

先走的弯路(可略过)

尝试安装linux-miniconda-installer 再安装MiniConda

sudo pkg install linux-miniconda-installer

安装上了这两个包

	auto-admin: 0.8.1
	linux-miniconda-installer: 0.1.0_2

发现linux-miniconda-installer还是那个需要python3.8环境的老包,不能用,放弃这个方法。

FreeBSD里安装MiniConda常规操作

到清华下载安装包

地址:Index of /anaconda/miniconda/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py312_25.3.1-1-Linux-x86_64.sh

设置FreeBSD平台对Linux的支持

以下指令需要用root账户操作

kldload linux64
sysrc linux_enable="YES"
service linux start

给下载的安装包设置执行权限

chmod 755 download/Miniconda3-py312_25.3.1-1-Linux-x86_64.sh

执行安装

./download/Miniconda3-py312_25.3.1-1-Linux-x86_64.sh

 有两处提示,说环境不太符合,不用管它,回答Yes即可。其它设置按照提示操作即可。

也尝试过使用sh进行安装,但是有报错,所以不要用下面这种方法安装:

# -u是覆盖安装
sh download/Miniconda3-py312_25.3.1-1-Linux-x86_64.sh -u

FreeBSD下手动Linux兼容模式安装 

如果已经配置好FreeBSD兼容Linux模式,也就是已经在/compat/linux 目录放置了linux系统,那么还可以用linux里的sh命令来启动安装:

# -u是覆盖安装
/compat/linux/bin/bash download/Miniconda3-py312_25.3.1-1-Linux-x86_64.sh -u

激活环境并安装Auto-Coder

比如安装到fbpy312目录

激活

source fbpy312/bin/activate.csh

安装Auto-Coder

因为在FreeBSD系统的python里无法安装ray,导致无法安装Auto-Coder。所以才用安装MiniConda的方法来达到可以安装Auto-Coder的目的。

pip install auto-coder

运行Auto-Coder

~/autowork]$ auto-coder.chat

在FreeBSD下运行Auto-Coder成功!这样我们的目的也就实现了!

测试Auto-Coder

让Auto-Coder生成项目

prompt1

使用 byzerllm 以及 fastapi 库开发一个Google 翻译API, 开发完
成后,给出启动服务的命令以及测试用的 curl 指令, 其中可用模型名称为 v3_chat。

AI返回

│ 已完成基于 byzerllm 和 fastapi 的 Google 翻译 API 开发。项目包含以下内容:          │
│                                                                                     │
│  1 requirements.txt:包含依赖 fastapi、uvicorn、byzerllm。                          │
│  2 main.py:实现 /translate 接口,调用 v3_chat 模型进行翻译。                       │
│  3 README.txt:给出服务启动命令和 curl 测试指令。                                   │
│                                                                                     │
│ 使用方法:                                                                          │
│                                                                                     │
│  • 安装依赖:pip install -r requirements.txt                                        │
│  • 启动服务:uvicorn main:app --host 0.0.0.0 --port 8000                            │
│  • 测试接口(示例,将中文翻译为英文): curl -X POST                                │
│    "http://localhost:8000/translate" -H "Content-Type: application/json" -d         │
│    '{"text": "今天天气很好。", "source_lang": "中文", "target_lang": "英文"}'       │
│                                                                                     │
│ 服务已具备完整功能,可直接部署和调用。                                         

因为没有 v3_chat这个模型,所以测试失败。

prompt2

使用 g4f 以及 fastapi 库开发一个Google 翻译API, 开发完
成后,给出启动服务的命令以及测试用的 curl 指令, 其中可用模型名称为 gpt-4o。

这个任务完成的很好

│ Google 翻译 API 已基于 g4f(gpt-4o)与 FastAPI 实现。                               │
│                                                                                     │
│ 【服务启动命令】                                                                    │
│                                                                                     │
│                                                                                     │
│  uvicorn main:app --host 0.0.0.0 --port 8000                                        │
│                                                                                     │
│                                                                                     │
│ 【示例 curl 测试命令】 将英文 "Hello, how are you?" 从英文翻译为中文:              │
│                                                                                     │
│                                                                                     │
│  curl -X POST "http://localhost:8000/translate" \                                   │
│    -H "Content-Type: application/json" \                                            │
│    -d '{"text": "Hello, how are you?", "source_lang": "English", "target_lang":     │
│  "Chinese"}'                                                                        │
│                                                                                     │
│                                                                                     │
│ 【说明】                                                                            │
│                                                                                     │
│  • POST /translate,参数为                                                          │
│    text(待翻译文本)、source_lang(源语言)、target_lang(目标语言)。             │
│  • 返回格式为:{"result": "翻译内容"}                                               │
│  • 可根据需要更换 source_lang、target_lang 实现不同语言互译。                       │
 

测试成功

先启动了服务:

uvicorn main:app --host 0.0.0.0 --port 8000 

然后使用curl进行测试

curl -X POST "http://localhost:8000/translate" -H "Content-Type: application/json" -d '{"text": "Hello, how are you?", "source_lang": "English", "target_lang": "Chinese"}' 

测试输出:

curl -X POST "http://localhost:8000/translate" -H "Content-Type: application/json" -d '{"text": "Hello, how are you?", "source_lang": "English", "target_lang": "Chinese"}' 
{"result":"你好,你好吗?"}

非常好,果然翻译成功了!

而上面的这个项目,只是耗费了Auto-Coder几分钟时间,真是又快又好啊!

调试

报错ImportError: cannot import name 'ChatModel' from 'byzerllm'

    self.loaded_app = import_from_string(self.app)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/skywalk/minipy312/lib/python3.12/site-packages/uvicorn/importer.py", line 19, in import_from_string
    module = importlib.import_module(module_str)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/skywalk/minipy312/lib/python3.12/importlib/__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 999, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/usr/home/skywalk/autowork/main.py", line 4, in <module>
    from byzerllm import ChatModel
ImportError: cannot import name 'ChatModel' from 'byzerllm' (/home/skywalk/minipy312/lib/python3.12/site-packages/byzerllm/__init__.py)

第一次生成的项目报错,后来是导入了byzer-llm友好库,才完成的,导入指令

/lib /add byzer-llm

具体参考: 

Auto-Coder配置大模型智友库(llm frendly repo 大模型友好库)-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值