blackantt 发表于 2024-4-12 18:23:27

windows11下wsl2里的FreeGPT35 安装使用命令 有啥不同?

原安装说明在此, https://github.com/missuo/FreeGPT35

如果我在windows11的wsl2里装,命令是那几条?从windows11上又怎么访问呢?从windows11 的python api里怎么访问呢?

isdkz 发表于 2024-4-12 18:23:28

wsl本身就是虚拟机,而你发的那个项目时docker部署项目,docker也是虚拟容器技术,所以最好不要在虚拟机里面跑虚拟机

你应该去看原项目:https://github.com/PawanOsman/ChatGPT

在 wsl 中的安装命令:
git clone https://github.com/PawanOsman/ChatGPT.git
npm config set registry https://registry.npmmirror.com
cd ChatGPT
bash start.sh


如果出现DOS 不支持 UNC 路径作为当前目录的报错,看 https://6xyun.cn/article/157

api 调用方法:
from openai import OpenAI

client = OpenAI(
    base_url = 'http://localhost:3040/v1',
    api_key = "anything"      # API 密钥随便填
)

def chat(question):
    response = client.chat.completions.create(
    model="gpt-3.5-turbo",
    messages=[
      {"role": "system", "content": "You are a helpful assistant."},
      {"role": "user", "content": question}
    ]
    )
    reply = response.choices.message.content
    return reply

question = "你好"
reply = chat(question)


print("你:", question)
print("GPT:", reply)

blackantt 发表于 2024-4-13 13:37:02

本帖最后由 blackantt 于 2024-4-13 13:43 编辑

isdkz 发表于 2024-4-13 09:28
wsl本身就是虚拟机,而你发的那个项目时docker部署项目,docker也是虚拟容器技术,所以最好不要在虚拟机里 ...


“wsl本身就是虚拟机,而你发的那个项目时docker部署项目,docker也是虚拟容器技术,所以最好不要在虚拟机里”这句话,怎么理解?
1. 那我是不是应该在win11下装docker-desktop,在docker-desktop里就可以按 https://github.com/missuo/FreeGPT35 的教程来走了?
2. win11下安装docker-desktop后,docker-desktop也要调用wsl还是 docker-desktop 跟wsl没关系?

isdkz 发表于 2024-4-13 14:21:42

blackantt 发表于 2024-4-13 13:37
“wsl本身就是虚拟机,而你发的那个项目时docker部署项目,docker也是虚拟容器技术,所以最好不要在 ...

docker是一种虚拟化技术,而 wsl 也是基于虚拟化技术的,两者没有太大的联系,你非要在 docker 里面跑这个项目的话,可以直接在 windows 上安装 docker,

虽然现在的技术在虚拟机里面跑虚拟机是可行的,但是完全没必要,这样会造成资源的浪费

blackantt 发表于 2024-4-13 19:19:13

https://github.com/PawanOsman/ChatGPT在你的api程序里是正常的。但直接
用 http://localhost:3040/v1或者http://localhost:3040/v1/chat/completions
浏览器都返回 :
美观输出:
{"status":false,"error":{"message":"The requested endpoint (GET /v1/chat/completions) was not found. please make sure to use \"http://localhost:3040/v1\" as the base URL.","type":"invalid_request_error"},"support":"https://discord.pawan.krd"}

blackantt 发表于 2024-4-13 19:20:19

本帖最后由 blackantt 于 2024-4-13 19:27 编辑

isdkz 发表于 2024-4-12 18:23
wsl本身就是虚拟机,而你发的那个项目时docker部署项目,docker也是虚拟容器技术,所以最好不要在虚拟机里 ...


用https://github.com/PawanOsman/ChatGPT ,在docker-desktop里安装, 在api程序里调用是正常的。但直接
用 http://localhost:3040/v1或者http://localhost:3040/v1/chat/completions
浏览器都返回 :
美观输出:
{"status":false,"error":{"message":"The requested endpoint (GET /v1/chat/completions) was not found. please make sure to use \"http://localhost:3040/v1\" as the base URL.","type":"invalid_request_error"},"support":"https://discord.pawan.krd"}

1. 浏览器里是哪方面的问题呢?
2.Base URL: http://localhost:3040/v1和   ChatCompletion Endpoint: http://localhost:3040/v1/chat/completions有啥区别呢?

isdkz 发表于 2024-4-13 19:55:37

本帖最后由 isdkz 于 2024-4-13 19:57 编辑

blackantt 发表于 2024-4-13 19:20
用https://github.com/PawanOsman/ChatGPT ,在docker-desktop里安装, 在api程序里调用是正常的。 ...

你直接在浏览器访问肯定不行了,对http资源的访问不止有 url,还有请求方法和请求头的不同,而你的浏览器能输入的只有一个url而已,openai的 api 调用方法可以查看:https://platform.openai.com/docs/api-reference

base url只不过是作为一个 url 拼接的基底罢了,而在openai库中会根据你调用的方法来用 base_url 拼接出完整的 api url

而 endpoint 就已经是一个完整的api调用 url 了

blackantt 发表于 2024-4-13 21:33:45

isdkz 发表于 2024-4-13 19:55
你直接在浏览器访问肯定不行了,对http资源的访问不止有 url,还有请求方法和请求头的不同,而你的浏览 ...

感谢,第一次见到这种东西。都被搞糊涂了

isdkz 发表于 2024-4-13 21:55:01

blackantt 发表于 2024-4-13 21:33
感谢,第一次见到这种东西。都被搞糊涂了

通常测试api都用postman这个软件,或者用 apifox,我更推荐后者
页: [1]
查看完整版本: windows11下wsl2里的FreeGPT35 安装使用命令 有啥不同?