2024-05-13 20:50:01 +00:00
|
|
|
import os
|
|
|
|
os.environ["OPENAI_API_KEY"]= "sk-PRJ811XeKzEy20Ug3dA98a34Af8b40B5816dE15503D33599"
|
|
|
|
os.environ["OPENAI_BASE_URL"]= "http://154.9.28.247:3000/v1/"
|
|
|
|
|
|
|
|
from openai import OpenAI
|
|
|
|
client = OpenAI()
|
|
|
|
|
|
|
|
from sklearn.metrics.pairwise import cosine_similarity
|
|
|
|
|
2024-05-14 05:04:54 +00:00
|
|
|
def main(scale):
|
2024-05-13 20:50:01 +00:00
|
|
|
|
|
|
|
item=[]
|
|
|
|
vec=[]
|
|
|
|
|
2024-05-14 05:04:54 +00:00
|
|
|
for i in scale:
|
2024-05-13 20:50:01 +00:00
|
|
|
item.append(i)
|
2024-05-14 05:04:54 +00:00
|
|
|
vec.append(client.embeddings.create(
|
|
|
|
input=scale[i], model="text-embedding-3-small" # nomic-embed-text text-embedding-3-small
|
|
|
|
).data[0].embedding)
|
2024-05-13 20:50:01 +00:00
|
|
|
|
|
|
|
simi=cosine_similarity(vec)
|
|
|
|
|
|
|
|
que=[]
|
|
|
|
|
|
|
|
for i,v in enumerate(simi):
|
|
|
|
for j in range(0,i):
|
2024-05-14 05:04:54 +00:00
|
|
|
que.append({"from":item[j], "to":item[i], "similarity":simi[i][j]})
|
2024-05-13 20:50:01 +00:00
|
|
|
|
2024-05-14 05:04:54 +00:00
|
|
|
return sorted(que, key = lambda t : t["similarity"], reverse=True)
|