当前位置:AIGC资讯 > AIGC > 正文

如何部署一个chat copilot服务

微软提供了前后端代码,允许在本地部署一个chat copilot服务,这样就可以通过用脚本发请求的方式自动去提问和截取回答。

其实部署服务的过程挺简单的,按照这个教程一步一步走就可以,以下以linux为例

首先clone chat copilot的repo到本地
git clone https://github.com/microsoft/chat-copilot.git
cd chat-copilot
2. 进入部署脚本文件夹,运行安装依赖的脚本,这里会安装前后端的一些依赖,.net之类的

cd ./scripts/
./install-apt.sh
3. 配置Openai apikey,在本地起copilot chat服务得用到自己的apikey

./configure.sh --aiservice OpenAI --apikey {YOUR_OPENAI_API_KEY}
4. 配置好之后就可以起服务了,这里要注意如果是第一次启动yarn会安装一些包文件,会费一点时间。而且由于包没安装完后端暂时起不来,找不到服务会退出,等一会再重新跑一遍这个命令就好了。

./start.sh
启动正常的话这时浏览器会自动弹出一个chat页面:


到这里服务就起好了,

接下来就是如何发请求,后端服务的端口在40443,所以请求要发到这个端口里去,请求的格式如下所示:

import requests
def send_request():
    url = "https://localhost:40443/chats/{chatId}/messages"  # Replace with the actual chatId
    headers = {
        "accept": "*/*",
        "Content-Type": "application/json",
    }
    data = {
        "input": "{YOUR_QUESTION}",  # Replace with the your question
        "variables": [
            {
                "key": "chatId",
                "value": "{chatId}"  # Replace with the actual chatId
            },
            {
                "key": "messageType",
                "value": "0"
            }
        ]
    }

    response = requests.post(url, headers=headers, json=data, verify=False)

    if response.status_code == 200:
        print("Request sent successfully!")
        response_str = response.json()["value"]
        print(response_str)
    else:
        print(f"Failed to send request. Status code: {response.status_code}")

# send request
send_request()
这里有两处要替换chatId,chatId在起服务的时候命令行里能看到一串类似

https://localhost:40443/chats/53f94298-90d4-4d02-90cd-53332cc2ec7a/messages
这样的地址,其中的53f94298-90d4-4d02-90cd-53332cc2ec7a这个uuid就是chatId。

同时把自己的问题替换到Input里就可以发请求了 。


AI工具的定位
AI工具始终定位就是最强的辅助工具,最重要的还是使用者本身。

AI来了,啥啥啥要失业了,啥啥啥要被AI替代了。

类似于此类的标题相比各位都见多了。但是至此也没见AI工具替代了身边这些岗位的工作。倒是有不少人借此开课、贩卖账号,赚到了一桶金。

AI懂得真多,什么都懂,就是不懂我。

AI工具可以帮助自己,比如学习某个新框架,可以迅速了解其概况、常用功能、使用场景,还可以让AI帮忙写个演示代码,复制到本地调试研究。

说到这里吐个槽,现在的搜索引擎质量真是太拉了,连我这样老司机都能被骗。现在我要是想学习某个新知识,第一个要做的就是找收藏几个这方面大V的博客或者GitHub,不然下次搜索知识点保不齐就会迷路。

AI工具也有类似问题,有时候会给出一些错误答案。对于新手来说不容易识别,比如给Demo的时候用了过期的API,或者使用的根本不存在的API,着实让人头疼的。甚至会凭借自己臆断给出答案,也让人猝不及防,所以我每次让AI写个功能,第一次时间都会先自测一波。

如何度过新手村
AI确实已经形成了趋势,未来应该还会有更广阔的应用场景。如果AI侵入了测试领域,大概率是要改变一些行业现象。而作为普通打工人的我们,最棘手的还是如何成功AI时代的幸存者。我个人总结了一下3点,仅供参考。

拥抱AI工具。这一点是必须的,AI不仅可以帮助我们完成部分工作。更重要的AI可以帮助我们快速提升自己实力,去掌握那些AI尚未具备的能力,解决AI无法解决的事情。所以拥抱AI是第一步,要接触最新的工具,了解其功能,尝试使用,学习使用技巧。
自我提升。万变不离其宗,但是提升方向应该要往AI方向偏一偏。但是对于编程语言而言,核心的内容总归是那么多,如果不是天赋异禀,还是按部就班持续学习。
保持怀疑。如果只是让AI解决重复工作,我们可以放心,毕竟产出通常不会出问题,及时不正确,也能够被检查出来。若是让AI帮助探索未知领域,一定做保持怀疑精神,对于AI完成的工作,要做最后一步检查。
PS:最近对知识体系这个词颇有感触,比如我自己,这些年基本都在Java圈子里晃悠,所学所用皆是于此。对于新框架和工具包的学习和掌握速度相比刚才开始有了很大提升。如果你想要进行AI实践,不妨以知识体系为题,让AI帮助自己建立知识体系,然后查漏补缺,构建核心竞争力。

更新时间 2024-01-17