Convert text into high-dimensional vectors using OpenAI Embedding models, supporting knowledge base retrieval, semantic search, text similarity calculation, and more
APIYI provides industry-leading text embedding capabilities, using OpenAI’s Embedding models to convert text into high-dimensional vector representations. This is the core technology for building intelligent knowledge bases, semantic search, and RAG (Retrieval-Augmented Generation) systems, featuring ultra-high concurrency and extremely low cost.
Text Embedding Core Capabilities
Convert text into numerical vectors, capture semantic information, and enable efficient semantic retrieval, similarity calculation, and intelligent recommendations.
from openai import OpenAIclient = OpenAI( api_key="YOUR_API_KEY", base_url="https://api.apiyi.com/v1")def batch_get_embeddings(texts, model="text-embedding-3-small"): """Batch get text vectors""" response = client.embeddings.create( input=texts, model=model ) return [item.embedding for item in response.data]# Batch processingtexts = [ "Machine learning is the core technology of AI", "Deep learning drives the development of AI", "Natural language processing enables machines to understand human language", "Computer vision enables machines to see images"]embeddings = batch_get_embeddings(texts)print(f"Successfully vectorized {len(embeddings)} texts")
from openai import OpenAIimport numpy as npclient = OpenAI( api_key="YOUR_API_KEY", base_url="https://api.apiyi.com/v1")class RAGSystem: """Simple RAG system implementation""" def __init__(self): self.knowledge_base = [] self.embeddings = [] def add_knowledge(self, documents): """Add knowledge to knowledge base""" response = client.embeddings.create( input=documents, model="text-embedding-3-small" ) embeddings = [item.embedding for item in response.data] self.knowledge_base.extend(documents) self.embeddings.extend(embeddings) def retrieve(self, query, top_k=3): """Retrieve relevant documents""" response = client.embeddings.create( input=query, model="text-embedding-3-small" ) query_embedding = response.data[0].embedding # Calculate similarity similarities = [ np.dot(query_embedding, doc_emb) / ( np.linalg.norm(query_embedding) * np.linalg.norm(doc_emb) ) for doc_emb in self.embeddings ] # Get most relevant documents top_indices = np.argsort(similarities)[::-1][:top_k] return [self.knowledge_base[i] for i in top_indices] def generate_answer(self, question): """Generate answer""" relevant_docs = self.retrieve(question, top_k=3) context = "\n".join(relevant_docs) prompt = f"""Answer the question based on the following knowledge:Knowledge base content:{context}Question: {question}Please provide an accurate answer based on the above knowledge:""" response = client.chat.completions.create( model="gpt-4o-mini", messages=[ {"role": "user", "content": prompt} ], temperature=0.3 ) return response.choices[0].message.content# Usage examplerag = RAGSystem()knowledge = [ "GPT-4 is a large language model developed by OpenAI with powerful understanding and generation capabilities.", "Claude is an AI assistant developed by Anthropic, focusing on safety and helpfulness.", "Gemini is a multimodal AI model developed by Google, supporting text, images, and video.", "LLaMA is an open-source large language model series developed by Meta."]rag.add_knowledge(knowledge)question = "Who developed GPT-4?"answer = rag.generate_answer(question)print(f"Question: {question}")print(f"Answer: {answer}")
Pro Tip: Embedding is the foundational capability for building intelligent applications. Recommend starting with text-embedding-3-small, which achieves the best balance between performance and cost. For enterprise applications, recommend using it with professional vector databases (e.g., Pinecone, Milvus).