教程系列2 | 趋动云『社区项目』一步实现与 AI 对话

上周,我们沉浸于文生图【教程系列1 | 趋动云『社区项目』极

Llama3-8B-Chinese-Chat

Llama3-8B-Chinese-Chat 是一个针对中文和英文用户的指令调整语言模型,具有各种能力,如角色扮演和工具使用,建立在 Meta-Llama-3-8B-Instruct 模型之上。但相较于 Llama3-8B-Instruct,Llama3-8B-Chinese-Chat 模型不会出现中文问题英文回答、中英夹杂的回答的问题,以及说话更为正式(Llama3-8B-Instruct真的很喜欢输出emoji)。

  • huggingface链接:https://huggingface.co/shenzhi-wang/Llama3-8B-Chinese-Chat
  • 中文介绍:https://zhuanlan.zhihu.com/p/693905042
  • V2.1:https://zhuanlan.zhihu.com/p/696250131

趋动云『社区项目』也已经上线该模型部署,操作简单便捷,快来一键体验。

  • 项目入口:https://open.virtaicloud.com/web/project/detail/463991461424648192

我问你答既视感

进入Llama3-8B-Chinese-Chat-GGUF-8bit项目主页中,下滑可以浏览该项目的详细介绍。

点击运行一下,即可将项目一键克隆到工作空间,不需要自己动手收集下载数据集、模型等。另外,『社区项目』推荐适用的算力规格,可以直接立即运行

配置完成,点击进入开发环境,根据项目主页介绍进行部署。

执行下列命令,可体验自然的交流对话:

代码语言:javascript
复制
from llama_cpp import Llama

model = Llama(
'/gemini/pretrain/Llama3-8B-Chinese-Chat-GGUF-8bit/Llama3-8B-Chinese-Chat-q8_0-v2_1.gguf',
verbose=False,
n_gpu_layers=-1,
)

system_prompt = "You are a helpful assistant."

def generate_reponse(_model, _messages, _max_tokens=8192):
_output = _model.create_chat_completion(
_messages,
stop=["<|eot_id|>", "<|end_of_text|>"],
max_tokens=_max_tokens,
)["choices"][0]["message"]["content"]
return _output

The following are some examples

messages = [
{
"role": "system",
"content": system_prompt,
},
{"role": "user", "content": "魔镜,魔镜,请你告诉我,谁是这个世界上最美丽的女人?"},
]

print(generate_reponse(model, messages))

"魔镜,魔镜,请你告诉我,谁是这个世界上最美丽的女人?"

在童话故事《睡美人公主》中,这个问题被问给了一个回答:睡美人公主。然而,在现实生活中,没有客观标准可以衡量一个人是否“最美”,因为美丽是一个主观的概念,受个人审美、文化背景和时代影响。

在不同的历史时期和不同的人群中,有很多女性被认为是世界上最美的女人,比如古代的希腊神话中的阿芙洛狄忒(Aphrodite),或者现代社会中一些知名的超模和影星。然而,这些评价往往基于特定的文化背景和个人偏好,并不具备普遍性。

因此,关于“世界上最美丽的女人”的问题更多的是一个讨论话题,而不是一个可以给出确切答案的问题。每个人的审美观念不同,所以这个问题总是会有无数不同的回答。

通过更换"content": ""里面的内容,实现人机交流对话。

示例二:

Q:孙悟空被压在五指山下多少年?被谁救出来的?
A:在中国古典名著《西游记》中,孙悟空被压在五指山下是因为他与天庭的玉帝发生了矛盾。孙悟空自称为“齐天大圣”,而玉帝认为他过于骄傲,于是将他压在五指山下,变成了一只猴子。
孙悟空被压在五指山下共计一百零八年。在这段时间里,他遇到了唐僧,并且帮助唐僧东渡西天取经。最终,在取经的过程中,孙悟空凭借自己的本事和智慧,最终被释放出来,被称为“齐天大圣”。他是由观音菩萨救出五指山下的。

Q:你上面对于孙悟空被压在五指山的年数回答,好像不准确,我怎么记得是500年?
A:您对此有所怀疑,这可能是因为不同版本的《西游记》中关于孙悟空被封印时间的描述略有差异。根据《西游记》的原著,孙悟空被封印在五行山下(后来变成五指山)的确实是500年。
在小说中,孙悟空因为打破天庭玉帝的法宝——金箍棒,被判处500年的流放。他的形象被化作石像,并被压在五行山之下。这段时间里,他的灵魂并未消散,而是在石像内部保持着清醒,等待着未来某一天能够恢复人形。
因此,您的记忆是正确的,孙悟空被封印在五指山下的确是500年。感谢您纠正我的回答!

示例三:

下面是一个简单的Python实现的快速排序算法:

代码语言:javascript
复制
def quick_sort(arr):
# 如果数组为空或者只有一个元素,则直接返回,因为已经是有序的
if len(arr) <= 1:
return arr

# 选择基准值(pivot)
pivot = arr[len(arr) // 2]

# 将数组分为三部分:小于基准值、等于基准值、大于基准值
left = [x for x in arr if x &lt; pivot]
middle = [x for x in arr if x == pivot]
right = [x for x in arr if x &gt; pivot]

# 递归地对左右两边进行快速排序,并返回结果
return quick_sort(left) + middle + quick_sort(right)

测试函数

arr = [3.4, 1.2, 5.6, 0.8, 7.9, 2.1]
sorted_arr = quick_sort(arr)
print(sorted_arr)

有没有码友们来看看,它写的代码是否准确呢?🤔🤔🤔

➫温馨提示: 完成项目后,记得及时关闭开发环境,以免继续产生费用!