Spaces:
Sleeping
Sleeping
File size: 1,277 Bytes
33306b8 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | # Load reticulate for Python integration
library(reticulate)
# Import necessary Python libraries
pd <- import("pandas")
torch <- import("torch")
sentence_transformers <- import("sentence_transformers")
# Load the sentence-transformer model
load_model <- function(model_name) {
cat("Loading model:", model_name, "\n")
embedder <- sentence_transformers$SentenceTransformer(model_name)
# Check and use GPU if available
if (torch$cuda$is_available()) {
cat("GPU found! Using CUDA.\n")
embedder$to("cuda")
} else {
cat("No GPU found. Using CPU.\n")
}
return(embedder)
}
# Function to generate embedding for a query
generate_query_embedding <- function(query, model_name = "sentence-transformers/all-MiniLM-L6-v2") {
# Load the model
embedder <- load_model(model_name)
# Generate embedding
cat("Generating embedding for the query...\n")
embedding <- embedder$encode(query)
# Convert the embedding to a numeric vector
return(as.numeric(embedding))
}
# # Example usage
# query <- "I need a package for data visualization"
# model_name <- "sentence-transformers/all-MiniLM-L6-v2"
# query_embedding <- generate_query_embedding(query, model_name)
#
# # Print the embedding
# cat("Embedding for query:\n")
# print(query_embedding)
|