您现在的位置是:首页 >其他 >如何使用OpenAI进行embedding句子后,输入新句子比较网站首页其他
如何使用OpenAI进行embedding句子后,输入新句子比较
简介如何使用OpenAI进行embedding句子后,输入新句子比较
import openai
import numpy as np
from sklearn.metrics.pairwise import cosine_similarity
# Set up OpenAI API credentials
openai.api_key = 'YOUR_API_KEY'
response=openai.Embedding.create(
model="text-embedding-ada-002",
input="The food was delicious and the waiter..."
)
print(response)
# Define the sentences to be embedded and sorted
sentences = [
"How to use ChatGPT for sentence embedding?",
"What are the applications of sentence embedding?",
"Can you provide examples of sentence embedding?",
"What is the best approach for sentence embedding?"
]
# Define a new sentence for similarity comparison
new_sentence = "How does sentence embedding work?"
# Preprocess and generate the embeddings
embeddings = []
for sentence in sentences:
response = openai.Embedding.create(
model="text-embedding-ada-002",
input=sentence
)
embedding = response.data[0].embedding
embeddings.append(embedding)
# Convert embeddings to numpy array
embeddings = np.array(embeddings)
# Calculate pairwise cosine similarity
similarity_matrix = cosine_similarity(embeddings)
# Sort sentences based on similarity to the first sentence
sorted_indices = np.argsort(similarity_matrix[:, 0])[::-1]
sorted_sentences = [sentences[i] for i in sorted_indices]
response = openai.Embedding.create(
model="text-embedding-ada-002",
input=new_sentence
)
new_embedding = response.data[0].embedding
# Calculate cosine similarity of the new embedding with existing embeddings
similarity_scores = cosine_similarity([new_embedding], embeddings)[0]
# Sort the indices based on similarity scores
sorted_indices = np.argsort(similarity_scores)[::-1]
# Retrieve the most similar sentence
most_similar_sentence = sentences[sorted_indices[0]]
# Print the sorted sentences and the most similar sentence
print("Sorted Sentences:")
for sentence in sorted_sentences:
print(sentence)
print("
Most Similar Sentence:")
print(most_similar_sentence)
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。





U8W/U8W-Mini使用与常见问题解决
QT多线程的5种用法,通过使用线程解决UI主界面的耗时操作代码,防止界面卡死。...
stm32使用HAL库配置串口中断收发数据(保姆级教程)
分享几个国内免费的ChatGPT镜像网址(亲测有效)
Allegro16.6差分等长设置及走线总结