0%

趁着618搞活动,以极低的价格买了一个云服务器。想着折腾点什么。发现可以自己搭一个git服务器。

开始的时候我试着装了装Gitlab。因为Gitlab CE版本是开源免费的,而且看到有些企业也在用。装上去运行后发现2核2G的云服务器直接卡死了,连ssh都登录不了。

后来又发现了gitea。这是一个轻量的git服务器。虽然没有gitlab那么多功能,但占用内存极少。在2核2G的云服务器上运行甚是欢快。

下面记录了安装和折腾过程。enjoy~~

阅读全文 »

最近有人问了我一个C语言中使用指针时遇到的问题。下面是一个简化后的代码示例。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>

int fix_var = 90;

void update_ptr(int *a) {
int* temp = a;
a = &fix_var;

printf("adress of temp: %d \n", temp);
printf("adress of a(in function): %d \n", a);
}

int main() {
int *a = NULL;

update_ptr(a);

printf("adress of a: %d \n", a);
return 0;
}
阅读全文 »

这里介绍两个可以免费使用GPU的地方。

百度飞桨AI Studio

百度飞桨AI Studio提供的BML Codelab环境可以免费使用GPU。并且百度飞桨AI Studio中也开源了很多项目。只需要运行感兴趣的项目就会自动将该项目fork到自己的项目列表中。后面可在个人中心“我的项目”中查看。每天运行项目获得免费的GPU使用时长。

运行环境时会跳出可选的运行环境。

每日运行项目即送8点算力,可使用高级GPU V100 16GB算力运行16小时

另外一点要注意,当天运行项目自动领取的算力点数有效期只有一天。

阅读全文 »

在回答一个具体问题之前,模型对问题进行详细的推理是很重要的。有时,模型可能会因为急于得出结论而犯推理错误,所以我们可以仔细设计prompt,要求在模型提供最终答案之前进行一系列相关的推理步骤,这样它就可以更长时间、更有条理地思考这个问题。

而像这样要求模型分步骤推理一个问题的策略被称为思考链推理

阅读全文 »

本篇文章介绍如何检测模型的输出。

之前我们介绍过如何通过Moderation接口检测用户的输入,以避免让模型接受到违规的或者不合适的输入。现在我们同样也可以使用Moderation接口来检测模型输出的内容。

检测输出内容是否有害

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
final_response_to_customer = f"""
The SmartX ProPhone has a 6.1-inch display, 128GB storage, \
12MP dual camera, and 5G. The FotoSnap DSLR Camera \
has a 24.2MP sensor, 1080p video, 3-inch LCD, and \
interchangeable lenses. We have a variety of TVs, including \
the CineView 4K TV with a 55-inch display, 4K resolution, \
HDR, and smart TV features. We also have the SoundMax \
Home Theater system with 5.1 channel, 1000W output, wireless \
subwoofer, and Bluetooth. Do you have any specific questions \
about these products or any other products we offer?
"""
response = openai.Moderation.create(
input=final_response_to_customer
)
moderation_output = response["results"][0]
print(moderation_output)
阅读全文 »

之前的文章展示了如何使用大语言模型构建应用程序,从评估输入、处理输入到在向用户显示输出之前进行最终输出检查。

在构建了这样一个系统之后,怎么知道它是如何工作的呢?甚至在部署系统并让用户使用时,如何跟踪系统的运行情况,找出不足之处,并继续提高系统答案的质量呢?

这篇文章将与大家分享一些评估大语言模型输出的最佳实践。

阅读全文 »

本篇文章介绍如何通过将多个提示词结合起来,将复杂的任务分割成一系列更简单的子任务。

对于一个复杂的任务,我们可以通过一个复杂的提示词,让模型进行思维链推理,从而一步一步处理复杂任务。另一方面,我们也可以将一个复杂任务分成多个子任务,每个子任务都由一个单独的prompt去驱动模型处理。这样组织prompt的形式成为链式提示。

那么在什么情况下,我们需要将一个复杂任务拆分成多个子任务来处理呢?

阅读全文 »

对于一个机器人问答系统,用户的提问多种多样。为了更好的应对用户的提问,将用户的提问进行分类,然后根据不同的提问类别针对性地回答问题。这样系统会显得更智能。

在篇文章中,我们将重点关注如何对用户的输入进行分类。这对于确保系统的质量和安全性非常重要。对于需要处理具有大量独立指令集的任务,首先对问题类型进行分类,然后根据分类结果确定使用哪些指令,这对整个问答系统是非常有益的。

阅读全文 »

当我们要构建一个对话机器人的时候,常常需要检测用户的输入是否有违规。用户是否输入了一些暴力,色情的内容,这对维护系统正规使用至关重要。下面将介绍一些方法来检测用户的输入是否违规。

OpenAI Moderation API

OpenAI 提供了免费的Moderation API来帮助使用者去检测用户的输入是否有违规现象。

OpenAI将违规内容划分了多个类别,如上图所示有hate, hate/threatening, self-harm, sexual, sexual/minors, violence, violence/graphic。下面我们看看几个使用Moderation API的例子。

阅读全文 »

在本篇文章中,我们将综合前面文章中所有知识,创建一个端到端的客户服务助理示例。我们将经历以下步骤:

首先,我们将通过Moderation API检查输入是否违规。

其次,如果没有,我们将提取产品列表。

第三,如果找到产品信息,我们将尝试查找它们。

第四,我们用模型回答用户的问题。

第五,我们将通过Moderation API对答案进行审核。如果回答没有违规,我们可以把它返回给用户。

第六,对模型的回答进行质量评估

阅读全文 »