通过快速入门熟悉 RAG
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
本快速入门演示了如何使用 RAG API。
深入探索
如需查看包含此代码示例的详细文档,请参阅以下内容:
代码示例
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["很难理解","hardToUnderstand","thumb-down"],["信息或示例代码不正确","incorrectInformationOrSampleCode","thumb-down"],["没有我需要的信息/示例","missingTheInformationSamplesINeed","thumb-down"],["翻译问题","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],[],[],[],null,["# Use the quickstart to get familiar with RAG\n\nThis quickstart demonstrates how to use the RAG API.\n\nExplore further\n---------------\n\n\nFor detailed documentation that includes this code sample, see the following:\n\n- [RAG quickstart for Python](/vertex-ai/generative-ai/docs/rag-engine/rag-quickstart)\n\nCode sample\n-----------\n\n### Python\n\n\nBefore trying this sample, follow the Python setup instructions in the\n[Vertex AI quickstart using\nclient libraries](/vertex-ai/docs/start/client-libraries).\n\n\nFor more information, see the\n[Vertex AI Python API\nreference documentation](/python/docs/reference/aiplatform/latest).\n\n\nTo authenticate to Vertex AI, set up Application Default Credentials.\nFor more information, see\n\n[Set up authentication for a local development environment](/docs/authentication/set-up-adc-local-dev-environment).\n\n from vertexai import rag\n from vertexai.generative_models import https://cloud.google.com/python/docs/reference/vertexai/latest/vertexai.preview.generative_models.GenerativeModel.html, https://cloud.google.com/python/docs/reference/vertexai/latest/vertexai.preview.generative_models.Tool.html\n import https://cloud.google.com/python/docs/reference/vertexai/latest/\n\n # Create a RAG Corpus, Import Files, and Generate a response\n\n # TODO(developer): Update and un-comment below lines\n # PROJECT_ID = \"your-project-id\"\n # display_name = \"test_corpus\"\n # paths = [\"https://drive.google.com/file/d/123\", \"gs://my_bucket/my_files_dir\"] # Supports Google Cloud Storage and Google Drive Links\n\n # Initialize Vertex AI API once per session\n https://cloud.google.com/python/docs/reference/vertexai/latest/.init(project=PROJECT_ID, location=\"us-central1\")\n\n # Create RagCorpus\n # Configure embedding model, for example \"text-embedding-005\".\n embedding_model_config = rag.RagEmbeddingModelConfig(\n vertex_prediction_endpoint=rag.VertexPredictionEndpoint(\n publisher_model=\"publishers/google/models/text-embedding-005\"\n )\n )\n\n rag_corpus = rag.create_corpus(\n display_name=display_name,\n backend_config=rag.RagVectorDbConfig(\n rag_embedding_model_config=embedding_model_config\n ),\n )\n\n # Import Files to the RagCorpus\n rag.import_files(\n rag_corpus.name,\n paths,\n # Optional\n transformation_config=rag.TransformationConfig(\n chunking_config=rag.ChunkingConfig(\n chunk_size=512,\n chunk_overlap=100,\n ),\n ),\n max_embedding_requests_per_min=1000, # Optional\n )\n\n # Direct context retrieval\n rag_retrieval_config = rag.RagRetrievalConfig(\n top_k=3, # Optional\n filter=rag.Filter(vector_distance_threshold=0.5), # Optional\n )\n response = rag.retrieval_query(\n rag_resources=[\n rag.RagResource(\n rag_corpus=rag_corpus.name,\n # Optional: supply IDs from `rag.list_files()`.\n # rag_file_ids=[\"rag-file-1\", \"rag-file-2\", ...],\n )\n ],\n text=\"What is RAG and why it is helpful?\",\n rag_retrieval_config=rag_retrieval_config,\n )\n print(response)\n\n # Enhance generation\n # Create a RAG retrieval tool\n rag_retrieval_tool = https://cloud.google.com/python/docs/reference/vertexai/latest/vertexai.preview.generative_models.Tool.html.from_retrieval(\n retrieval=rag.Retrieval(\n source=rag.VertexRagStore(\n rag_resources=[\n rag.RagResource(\n rag_corpus=rag_corpus.name, # Currently only 1 corpus is allowed.\n # Optional: supply IDs from `rag.list_files()`.\n # rag_file_ids=[\"rag-file-1\", \"rag-file-2\", ...],\n )\n ],\n rag_retrieval_config=rag_retrieval_config,\n ),\n )\n )\n\n # Create a Gemini model instance\n rag_model = GenerativeModel(\n model_name=\"gemini-2.0-flash-001\", tools=[rag_retrieval_tool]\n )\n\n # Generate response\n response = rag_model.https://cloud.google.com/python/docs/reference/vertexai/latest/vertexai.preview.generative_models.GenerativeModel.html#vertexai_preview_generative_models_GenerativeModel_generate_content(\"What is RAG and why it is helpful?\")\n print(response.text)\n # Example response:\n # RAG stands for Retrieval-Augmented Generation.\n # It's a technique used in AI to enhance the quality of responses\n # ...\n\nWhat's next\n-----------\n\n\nTo search and filter code samples for other Google Cloud products, see the\n[Google Cloud sample browser](/docs/samples?product=generativeaionvertexai)."]]