编写一个Python函数，计算两个向量之间的余弦相似度。


向量1：[1, 2, 3] 
向量2：[4, 5, 6]
可以使用以下代码实现：

```
import math

def cosine_similarity(v1, v2):
    dot_product = sum([i * j for i, j in zip(v1, v2)])
    magnitude_v1 = math.sqrt(sum([i**2 for i in v1]))
    magnitude_v2 = math.sqrt(sum([i**2 for i in v2]))
    cosine_sim = dot_product / (magnitude_v1 * magnitude_v2)
    return cosine_sim

v1 = [1, 2, 3]
v2 = [4, 5, 6]
similarity = cosine_similarity(v1, v2)
print(similarity)
```

这里定义了一个名为`cosine_similarity`的函数，它接受两个向量作为参数，并计算向量之间的余弦相似度。在函数中，我们首先计算向量的点积，然后计算每个向量的大小（也称之为范数），最后将点积除以两个向量大小的乘积。

对于给定的向量`v1`和`v2`，函数的输出为`0.9746318461970762`，表示这两个向量非常相似。