Spaces:
Runtime error
Runtime error
| import json | |
| import os | |
| import numpy as np | |
| import openai | |
| import requests | |
| from scipy.spatial.distance import cosine | |
| def get_embedding_from_api(word, model="vicuna-7b-v1.1"): | |
| if "ada" in model: | |
| resp = openai.Embedding.create( | |
| model=model, | |
| input=word, | |
| ) | |
| embedding = np.array(resp["data"][0]["embedding"]) | |
| return embedding | |
| url = "http://localhost:8000/v1/embeddings" | |
| headers = {"Content-Type": "application/json"} | |
| data = json.dumps({"model": model, "input": word}) | |
| response = requests.post(url, headers=headers, data=data) | |
| if response.status_code == 200: | |
| embedding = np.array(response.json()["data"][0]["embedding"]) | |
| return embedding | |
| else: | |
| print(f"Error: {response.status_code} - {response.text}") | |
| return None | |
| def cosine_similarity(vec1, vec2): | |
| return 1 - cosine(vec1, vec2) | |
| def print_cosine_similarity(embeddings, texts): | |
| for i in range(len(texts)): | |
| for j in range(i + 1, len(texts)): | |
| sim = cosine_similarity(embeddings[texts[i]], embeddings[texts[j]]) | |
| print(f"Cosine similarity between '{texts[i]}' and '{texts[j]}': {sim:.2f}") | |
| texts = [ | |
| "The quick brown fox", | |
| "The quick brown dog", | |
| "The fast brown fox", | |
| "A completely different sentence", | |
| ] | |
| embeddings = {} | |
| for text in texts: | |
| embeddings[text] = get_embedding_from_api(text) | |
| print("Vicuna-7B:") | |
| print_cosine_similarity(embeddings, texts) | |
| for text in texts: | |
| embeddings[text] = get_embedding_from_api(text, model="text-similarity-ada-001") | |
| print("text-similarity-ada-001:") | |
| print_cosine_similarity(embeddings, texts) | |
| for text in texts: | |
| embeddings[text] = get_embedding_from_api(text, model="text-embedding-ada-002") | |
| print("text-embedding-ada-002:") | |
| print_cosine_similarity(embeddings, texts) | |