Notas prácticas: Agentes RAG de voz observable: Seguimiento de los agentes RAG de extremo a extremo con MLflow y Qdrant
Guía paso a paso operativa de las notas prácticas: Agentes RAG con voz observable: seguimiento end-to-end de los agentes RAG con MLflow y Qdrant: contratos, verificaciones y espacios de código listos para usar por los equipos.
Las notas siguientes reconstruyen un camino práctico para abordar “Observable Voice RAG Agents: Tracing RAG Agents End-to-End with MLflow and Qdrant”. Se da énfasis en los contratos, las verificaciones y los marcadores de posición para código reutilizable, en lugar de en un enfoque motivacional. Al trabajar en la sección de Resumen, anote primero el contrato: las entradas requeridas, la señal de éxito y qué ocurre en caso de un fallo parcial. Esa lista de verificación ayuda a mantener honestas las futuras modificaciones de código. Prefiera unidades pequeñas y probables sobre scripts extensos. Cuando un paso falla, el fallo debe indicar una única responsabilidad y no un proceso complicado.
La arquitectura
La arquitectura funciona mejor cuando se trata como una superficie medible. Capture un caso exitoso ejemplar, un caso de fallo y la nota de reversión antes de ampliar el alcance. Considere esta etapa como un contrato entre las entradas y las salidas validadas. Asigne nombres a los artefactos, defina verificaciones de éxito y rechace las completaciones parciales silenciosas. Separe la política de fragmentación de la política de recuperación; cambiar una no debe obligar a reescribir la otra cuando cambian las métricas de calidad.
La implementación
La implementación funciona mejor cuando se trata como una superficie medible. Capture un registro exitoso, un caso de fallo y la nota de reversión antes de ampliar el alcance. Registre los tiempos y el costo de tokens o consultas junto con los resultados funcionales. Tener visibilidad del costo desde el principio evita facturas inesperadas cuando el proceso pasa de la fase de demostración a entornos compartidos. Separe la política de fragmentación de la política de recuperación; cambiar una no debe obligar a reescribir la otra cuando cambian las métricas de calidad.
.
├── __init__.py
├── .env
├── agent_with_langfuse_observability.py
└── agent_with_mlflow_observability.py
# Cartesia (STT + TTS)
CARTESIA_API_KEY=
# OpenAI
OPENAI_API_KEY=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
# LiveKit local dev server (default dev credentials)
LIVEKIT_URL=ws://localhost:7880
LIVEKIT_API_KEY=devkey
LIVEKIT_API_SECRET=secret
# langfuse
LANGFUSE_SECRET_KEY=
LANGFUSE_PUBLIC_KEY=
LANGFUSE_HOST=http://172.20.10.8:3000
# mlflow
OTEL_EXPORTER_OTLP_ENDPOINT=http://0.0.0.0:5000
OTEL_EXPORTER_OTLP_HEADERS=x-mlflow-experiment-id=0
OTEL_SERVICE_NAME=livekit-voice-agent
import os
import logging
from livekit.agents import JobContext, JobProcess, WorkerOptions, cli, function_tool
from livekit.agents.voice import Agent, AgentSession
from livekit.agents.telemetry import set_tracer_provider
from livekit.plugins import openai, silero, cartesia
from opentelemetry import trace
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import BatchSpanProcessor
from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
from opentelemetry.sdk.resources import Resource, SERVICE_NAME
from dotenv import load_dotenv, find_dotenv
from llama_index.core import VectorStoreIndex, Settings, SimpleDirectoryReader, StorageContext
from llama_index.vector_stores.qdrant import QdrantVectorStore
from llama_index.embeddings.ollama import OllamaEmbedding
from llama_index.llms.ollama import Ollama
from qdrant_client import QdrantClient, AsyncQdrantClient
load_dotenv(find_dotenv())
# configs
Settings.embed_model = OllamaEmbedding(model_name="embeddinggemma:latest")
Settings.llm = Ollama(model="gemma3:latest")
# creates a persistant index to disk
client = QdrantClient(url="http://localhost:6333", api_key="th3s3cr3tk3y")
aclient = AsyncQdrantClient(url="http://localhost:6333", api_key="th3s3cr3tk3y")
# create our vector store with hybrid indexing enabled
vector_store = QdrantVectorStore(
"mortgage",
client=client,
aclient=aclient
)
# create the index reference to vector store
index = VectorStoreIndex.from_vector_store(vector_store=vector_store)
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger("voice-agent")
@function_tool()
async def query_info(query: str) -> str:
"""Get more information about a specific topic"""
print(f"query: {query}")
retriever = index.as_retriever(similarity_top_k=20)
nodes_with_scores = retriever.retrieve(query)
context = ""
for node in nodes_with_scores:
print(f"Query result: {node.text}")
context = context + node.text + ". \n"
return context
def configure_mlflow_tracing():
"""Configure OpenTelemetry to send traces to MLflow."""
if not os.getenv("OTEL_EXPORTER_OTLP_ENDPOINT"):
logger.warning("OTEL_EXPORTER_OTLP_ENDPOINT not set, tracing disabled")
return None
service_name = os.getenv("OTEL_SERVICE_NAME", "livekit-voice-agent")
resource = Resource.create({SERVICE_NAME: service_name})
provider = TracerProvider(resource=resource)
provider.add_span_processor(BatchSpanProcessor(OTLPSpanExporter()))
# Set both global and LiveKit tracer provider
trace.set_tracer_provider(provider)
set_tracer_provider(provider)
logger.info("MLflow tracing configured successfully!")
return provider
async def entrypoint(ctx: JobContext) -> None:
"""Main entrypoint for the agent."""
logger.info(f"Agent starting for room: {ctx.room.name}")
# Connect to the room
await ctx.connect()
# Create the voice agent with all components
agent = Agent(
instructions=(
"You are a helpful mortgage voice assistant. Your interface "
"with users will be voice. You should use short and concise "
"responses, and avoiding usage of unpronouncable punctuation."
"Always use your tools to get the realtime information."
"If you dont find any information politely respond the same to user."
"Never answer anything other than mortgage subject and reject politely."
"Keep your responses concise and conversational since you're speaking out loud."
"Be friendly and helpful."
),
stt=cartesia.STT(), # Speech-to-Text
llm=openai.LLM(model="gpt-4o-mini"), # Language Model
# voice-id: 9626c31c-bec5-4cca-baa8-f8ba9e84c8bc, f786b574-daa5-4673-aa0c-cbe3e8534c02, 630ed21c-2c5c-41cf-9d82-10a7fd668370
tts=cartesia.TTS(model="sonic-3", voice="630ed21c-2c5c-41cf-9d82-10a7fd668370"), # Text-to-Speech
vad=silero.VAD.load(),
tools=[query_info]
)
# Create and start the agent session
session = AgentSession()
await session.start(agent, room=ctx.room)
logger.info("Agent session started! Ready for conversation.")
def prewarm(proc: JobProcess) -> None:
"""Prewarm function to load models before handling requests."""
# Configure tracing before anything else
configure_mlflow_tracing()
# Preload Silero VAD model for faster startup
proc.userdata["vad"] = silero.VAD.load()
logger.info("Prewarmed VAD model")
if __name__ == "__main__":
cli.run_app(
WorkerOptions(
entrypoint_fnc=entrypoint,
prewarm_fnc=prewarm,
)
)
¿Cómo ejecutarlo?
¿Cómo ejecutarlo? Funciona mejor cuando se trata como una superficie medible. Capture un registro ideal, un caso de fallo y la nota de reversión antes de ampliar el alcance. Mantenga la configuración fuera del código de la aplicación. Los archivos de entorno, los almacenes de datos confidenciales y las banderas de funcionalidad deben estar en un lugar donde los operadores puedan auditarlos sin tener que leer todo el sistema. Separe la política de particionamiento de la política de recuperación. Cambiar una no debe obligar a reescribir la otra cuando cambian las métricas de calidad. ¿Cómo ejecutarlo? Funciona mejor cuando se trata como una superficie medible. Capture un registro ideal, un caso de fallo y la nota de reversión antes de ampliar el alcance. Prefiera unidades pequeñas y probables sobre scripts extensos. Cuando un paso falla, el fallo debe apuntar a una única responsabilidad en lugar de a un proceso complicado.
livekit-server --dev
LIVEKIT_URL=ws://localhost:7880
LIVEKIT_API_KEY=devkey
LIVEKIT_API_SECRET=secret
python voice_agent.py console
Resultados del experimento
Para los resultados del experimento, defina las entradas, el responsable de la etapa y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar la etapa a partir de un punto de control conocido sin tener que adivinar el estado oculto. Trate esta fase como un contrato entre las entradas y los resultados validados. Asigne nombres a los artefactos, defina verificaciones de éxito y rechace las completaciones parciales silenciosas. Cite los pasajes que realmente sustentan la respuesta. Sin citaciones, los operadores no pueden distinguir entre alucinaciones y lagunas en el indexado.
╭─ ~/Pavans/Workshops/s2s_agents/livekit_observability on main !3 ?84 ···························································· ✔ s2s_agents base at 08:15:41 AM
╰─ python agent_with_mlflow_observability.py console
/Users/pavanmantha/Pavans/Workshops/s2s_agents/livekit_observability/agent_with_mlflow_observability.py:30: UserWarning: Api key is used with an insecure connection.
client = QdrantClient(url="http://localhost:6333", api_key="th3s3cr3tk3y")
/Users/pavanmantha/Pavans/Workshops/s2s_agents/livekit_observability/agent_with_mlflow_observability.py:31: UserWarning: Api key is used with an insecure connection.
aclient = AsyncQdrantClient(url="http://localhost:6333", api_key="th3s3cr3tk3y")
Agents Starting console mode 🚀
DEBUG:asyncio:Using selector: KqueueSelector
08:15:55.965 DEBUG asyncio Using selector: KqueueSelector
INFO:livekit.agents:starting worker
08:15:55.967 INFO livekit.agents starting worker {"version": "1.6.7", "rtc-version": "1.1.13"}
INFO:livekit.agents:plugin registered
INFO livekit.agents plugin registered {"plugin": "livekit.plugins.openai", "version": "1.6.7"}
INFO:livekit.agents:plugin registered
08:15:55.968 INFO livekit.agents plugin registered {"plugin": "livekit.plugins.silero", "version": "1.6.7"}
INFO:livekit.agents:plugin registered
INFO livekit.agents plugin registered {"plugin": "livekit.plugins.cartesia", "version": "1.6.7"}
INFO:livekit.agents:HTTP server listening on :63907
08:15:55.969 INFO livekit.agents HTTP server listening on :63907
/Users/pavanmantha/Pavans/Workshops/s2s_agents/.venv/lib/python3.12/site-packages/jwt/api_jwt.py:147: InsecureKeyLengthWarning: The HMAC key is 6 bytes long, which is below the minimum recommended length of 32 bytes for SHA256. See RFC 7518 Section 3.2.
return self._jws.encode(
WARNING:livekit.agents:no warmed process available for job, waiting for one to be created
08:15:55.985 WARNING livekit.agents no warmed process available for job, waiting for one to be created {"job_id": "mock-job-dfd2d7a8afa9"}
INFO:livekit.agents:initializing job runner
08:15:55.986 INFO livekit.agents initializing job runner {"tid": 27303873}
INFO:voice-agent:MLflow tracing configured successfully!
08:15:55.988 INFO voice-agent MLflow tracing configured successfully!
INFO:voice-agent:Prewarmed VAD model
08:15:56.059 INFO voice-agent Prewarmed VAD model
DEBUG:asyncio:Using selector: KqueueSelector
INFO:livekit.agents:job runner initialized
08:15:56.060 DEBUG asyncio Using selector: KqueueSelector
INFO livekit.agents job runner initialized {"tid": 27303873, "elapsed_time": 0.07}
INFO:voice-agent:Agent starting for room: console
08:15:56.078 INFO voice-agent Agent starting for room: console
MacBook Pro Microphone ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁
08:15:56.469 DEBUG livekit.agents http_session(): creating a new httpclient ctx
/Users/pavanmantha/Pavans/Workshops/s2s_agents/.venv/lib/python3.12/site-packages/jwt/api_jwt.py:147: InsecureKeyLengthWarning: The HMAC key is 6 bytes long, which is below the minimum
recommended length of 32 bytes for SHA256. See RFC 7518 Section 3.2.
return self._jws.encode(
MacBook Pro Microphone ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁
08:15:56.513 DEBUG livekit.agents using audio io: `Console` -> `AgentSession` -> `TranscriptSynchronizer` -> `AudioSinkProxy` -> `Console`
MacBook Pro Microphone ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁
08:15:56.514 DEBUG livekit.agents using transcript io: `AgentSession` -> `TranscriptSynchronizer`
MacBook Pro Microphone ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁
08:15:56.515 INFO voice-agent Agent session started! Ready for conversation.
MacBook Pro Microphone ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁
08:15:56.673 DEBUG livekit.….cartesia Established new Cartesia STT WebSocket connection {"cartesia_request_id": "55dd9277-c7ff-4aaf-994f-c5e234200b90"}
MacBook Pro Microphone ▁ ▁ ▁ ▂ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁
08:15:56.687 DEBUG livekit.….cartesia Established new Cartesia TTS WebSocket connection {"cartesia_request_id": "b0e833e0-1838-4282-a812-5e1d0c3eaa45"}
MacBook Pro Microphone ▁ ▁ ▁ ▆ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁
08:15:56.744 WARNING livekit.agents cloud turn detector failed (message='Invalid response status (401 Unauthorized)', status_code=401, retryable=False); falling back to local mini
model
MacBook Pro Microphone ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁
08:16:04.410 DEBUG livekit.agents received user preflight transcript {"user_transcript": "What does FHA section 223 F of housing act provide for?", "language": "en"}
MacBook Pro Microphone ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁
08:16:04.633 DEBUG livekit.agents received user transcript
{"user_transcript": "What does FHA section 223 F of housing act provide for?", "language": "en", "transcript_delay": 1.0138118267059326}
MacBook Pro Microphone ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁
08:16:04.636 DEBUG livekit.agents eot prediction
{"probability": 0.7253056168556213, "unlikely_threshold": 0.36, "endpointing_delay": 0.3, "language": "en", "trigger": "stt", "from_cache": true}
MacBook Pro Microphone ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁
08:16:04.639 DEBUG livekit.agents user turn committed
{"last_speaking_time": 1786848363.619498, "last_final_transcript_time": 1786848364.63628, "speech_start_time": 1786848358.330898, "delay_completed":
false, "source": "stt", "end_of_turn_probability": 0.7253056168556213, "unlikely_threshold": 0.36}
MacBook Pro Microphone ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁
08:16:04.643 DEBUG livekit.agents using preemptive generation {"preemptive_lead_time": 0.22996997833251953}
MacBook Pro Microphone ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁
08:16:04.646 DEBUG livekit.agents conversation_item_added {"role": "user", "text": "What does FHA section 223 F of housing act provide for?"}
MacBook Pro Microphone ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁
08:16:05.943 DEBUG livekit.agents executing tool {"function": "query_info", "arguments": "{\"query\": \"FHA section 223 F of housing act\"}", "speech_id": "speech_c521790e881a"}
query: FHA section 223 F of housing act
MacBook Pro Microphone ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁
? for shortcuts DEBUG:llama_index.core.indices.utils:> Top 20 nodes:
> [Node d8308013-6aa4-4c16-8389-6f50d2669512] [Similarity score: 0.634752] Section 223(a)(7) (Refinancing of FHA-Insured Mortgages). Section 223(a)(7) of the Housing Act pe...
> [Node 32cfb8da-d14d-427e-9bfa-308fb4f2a9cc] [Similarity score: 0.586968] Sections 213 and 213(i) of the Housing Act provides for FHA insurance of mortgage loans on cooper...
> [Node 9381a6ec-23c0-4278-8e1b-7401d60e1001] [Similarity score: 0.551707] Such projects may have been financed originally with conventional or FHA-insured mortgage loans.
...
> [Node 786cec8d-0e08-4cff-b00a-94e1b61e98dc] [Similarity score: 0.499063] Section 236 of the Housing Act combines governmental mortgage insurance on multifamily housing pr...
> [Node 1f472f42-614b-45a8-86a1-138e21a89922] [Similarity score: 0.483326] Mortgage Loans insured under the programs described in the related Offering Circular Supplement h...
> [Node 03d4c561-aa8c-4033-b8c7-fa3c28a89cf9] [Similarity score: 0.388449] Each Ginnie Mae Project Loan Certificate will provide for the payment to the registered holder of...
> [Node f7927814-6be4-472b-9c96-51389a9ba8b5] [Similarity score: 0.370135] ---
### 📄 Page 78
**Weighted Average Remaining Period from Issuance** — With respect to designa...
> [Node 3b62d0f1-a471-455b-ba2a-ed31950b2b5b] [Similarity score: 0.361758] A corporation will not be treated as an instrumentality of the United States or any state or poli...
> [Node fcc56c3d-1f91-4004-beb4-19985b765d5e] [Similarity score: 0.354325] **Prepayment Penalty End Date** — With respect to any multifamily Mortgage Loan, the date as of w...
> [Node 86415b5d-c93a-42d2-b185-0ecaea1150f3] [Similarity score: 0.348899] If the prepayment rate on the Mortgage Loans decreases during a period of rising interest rates, ...
> [Node 59725d69-37a2-4ee7-a016-9cc9d0ac9dba] [Similarity score: 0.347137] ---
### 📄 Page 20
### Section 538 Guarantee Program
The Section 538 Guaranteed Rural Rental Ho...
> [Node 6acc230f-5014-4423-8258-22269b50b418] [Similarity score: 0.344156] If any of these representations and warranties are untrue with respect to any Trust MBS, the Spon...
> [Node 3a9de742-ca46-4570-8dcd-45e33c6b3792] [Similarity score: 0.342905] 00 exceeds (b) the product of (i) the original principal amount of the Ginnie Mae Project Loan Ce...
> [Node fe0dd607-31e3-4533-b902-1ce1a38002db] [Similarity score: 0.337367] Certain Trust MBS may be based on and backed by Mortgage Loans secured by a mark-to-market projec...
> [Node 02720481-a4c1-4377-8745-9d432d75621a] [Similarity score: 0.334485] The original maturity of a Ginnie Mae Construction Loan Certificate is at least 200% of the const...
> [Node 8143abb0-2e8a-4a4c-b401-6a64d3fc47cc] [Similarity score: 0.331362] The Trust Asset Depository or its nominees, as registered holder (on behalf of the Trustee) of th...
> [Node 2893b0c6-b1d0-40b8-9102-4f77eca8822c] [Similarity score: 0.329946] Any transfer of a Mortgaged Property is subject to HUD review and approval under the terms of HUD...
> [Node 1f830d75-a35d-422a-a0f8-84fa1a7f283f] [Similarity score: 0.327878] An election will be made to treat each Trust or certain assets of each Trust as one or more real ...
08:16:06.202 DEBUG llama_in…ces.utils > Top 20 nodes:
> [Node d8308013-6aa4-4c16-8389-6f50d2669512] [Similarity score: 0.634752] Section 223(a)(7) (Refinancing of FHA-Insured
Mortgages). Section 223(a)(7) of the Housing Act pe...
> [Node 32cfb8da-d14d-427e-9bfa-308fb4f2a9cc] [Similarity score: 0.586968] Sections 213 and 213(i) of the Housing Act provides
for FHA insurance of mortgage loans on cooper...
> [Node 9381a6ec-23c0-4278-8e1b-7401d60e1001] [Similarity score: 0.551707] Such projects may have been financed originally with
conventional or FHA-insured mortgage loans.
...
> [Node 786cec8d-0e08-4cff-b00a-94e1b61e98dc] [Similarity score: 0.499063] Section 236 of the Housing Act combines governmental
mortgage insurance on multifamily housing pr...
> [Node 1f472f42-614b-45a8-86a1-138e21a89922] [Similarity score: 0.483326] Mortgage Loans insured under the programs described
in the related Offering Circular Supplement h...
> [Node 03d4c561-aa8c-4033-b8c7-fa3c28a89cf9] [Similarity score: 0.388449] Each Ginnie Mae Project Loan Certificate will provide
for the payment to the registered holder of...
> [Node f7927814-6be4-472b-9c96-51389a9ba8b5] [Similarity score: 0.370135] ---
### 📄 Page 78
**Weighted Average Remaining Period from Issuance** — With respect to designa...
> [Node 3b62d0f1-a471-455b-ba2a-ed31950b2b5b] [Similarity score: 0.361758] A corporation will not be treated as an
instrumentality of the United States or any state or poli...
> [Node fcc56c3d-1f91-4004-beb4-19985b765d5e] [Similarity score: 0.354325] **Prepayment Penalty End Date** — With respect to any
multifamily Mortgage Loan, the date as of w...
> [Node 86415b5d-c93a-42d2-b185-0ecaea1150f3] [Similarity score: 0.348899] If the prepayment rate on the Mortgage Loans
decreases during a period of rising interest rates, ...
> [Node 59725d69-37a2-4ee7-a016-9cc9d0ac9dba] [Similarity score: 0.347137] ---
### 📄 Page 20
### Section 538 Guarantee Program
The Section 538 Guaranteed Rural Rental Ho...
> [Node 6acc230f-5014-4423-8258-22269b50b418] [Similarity score: 0.344156] If any of these representations and warranties are
untrue with respect to any Trust MBS, the Spon...
> [Node 3a9de742-ca46-4570-8dcd-45e33c6b3792] [Similarity score: 0.342905] 00 exceeds (b) the product of (i) the original
principal amount of the Ginnie Mae Project Loan Ce...
> [Node fe0dd607-31e3-4533-b902-1ce1a38002db] [Similarity score: 0.337367] Certain Trust MBS may be based on and backed by
Mortgage Loans secured by a mark-to-market projec...
> [Node 02720481-a4c1-4377-8745-9d432d75621a] [Similarity score: 0.334485] The original maturity of a Ginnie Mae Construction
Loan Certificate is at least 200% of the const...
> [Node 8143abb0-2e8a-4a4c-b401-6a64d3fc47cc] [Similarity score: 0.331362] The Trust Asset Depository or its nominees, as
registered holder (on behalf of the Trustee) of th...
> [Node 2893b0c6-b1d0-40b8-9102-4f77eca8822c] [Similarity score: 0.329946] Any transfer of a Mortgaged Property is subject to
HUD review and approval under the terms of HUD...
> [Node 1f830d75-a35d-422a-a0f8-84fa1a7f283f] [Similarity score: 0.327878] An election will be made to treat each Trust or
certain assets of each Trust as one or more real ...
> [Node 16478aeb-8d79-4294-9011-918e57601e17] [Similarity score: 0.326987] The Information Agent identified in the Offering
Circular Supplement will post the Class Factors,...
> [Node b933dd07-7423-4f11-bcd2-6c6ec1062ccc] [Similarity score: 0.323226] At any time following the final endorsement of a
Mortgage Loan and upon satisfaction of the prere...
Query result: Section 223(a)(7) (Refinancing of FHA-Insured Mortgages). Section 223(a)(7) of the Housing Act permits FHA to refinance existing insured mortgage loans under any section or
title of the Housing Act. Such refinancing results in prepayment of the existing insured mortgage. The new, refinanced mortgage loan is limited to the original principal amount of the
existing mortgage loan and the unexpired term of the existing mortgage loan plus 12 years.
Section 223(d)(Operating Loss Loans). Section 223(d) of the Housing Act provides for FHA insurance of separate loans that cover (1) operating losses during the first 2 years after completion
or (2) up to 80% of the unreimbursed cash contributions by the project owner during any period of up to two years within the first 10 years after date of completion of the project. The
project must be secured by an existing HUD-insured first mortgage loan.
Section 223(f) (Purchase or Refinancing of Existing Projects). Section 223(f) of the Housing Act provides for federal insurance of mortgage loans originated by FHA-approved lenders in
connection with the purchase or refinancing of existing multifamily housing complexes, hospitals and nursing homes that do not require substantial rehabilitation. The principal objective of
the Section 223(f) program is to permit the refinancing of mortgage loans to provide for a lower debt service or the purchase of existing properties in order to preserve an adequate supply of
affordable rental housing. Such projects may have been financed originally with conventional or FHA-insured mortgage loans.
Section 231 (Mortgage Insurance for Rental Housing for the Elderly). Section 231 of the Housing Act provides for insurance of mortgage loans to facilitate the construction and substantial
rehabilitation of multifamily rental housing for elderly (62 or older) or disabled persons. The mortgage insurance may be used to finance the construction and substantial rehabilitation of
detached, semi-detached, walk-up or elevator type rental housing designed specifically for elderly or disabled individuals consisting of 8 or more dwelling units. Section 231 was designed to
increase the supply of rental housing specifically for the use and occupancy of elderly and/or disabled persons.
Section 232 (Mortgage Insurance for Nursing Homes, Immediate Care Facilities and Board and Care Homes).
Query result: Sections 213 and 213(i) of the Housing Act provides for FHA insurance of mortgage loans on cooperative housing projects. Sections 213 and 213(i) mortgage insurance enables
nonprofit cooperative ownership housing corporations or trusts to develop or sponsor housing projects that will be operated as cooperatives. By using Sections 213 and 213(i) insurance,
investors can construct or rehabilitate multifamily housing that will be sold to such nonprofit corporations or trusts.
Section 220 (Urban Renewal Mortgage Insurance). Section 220 of the Housing Act provides for federal insurance of mortgage loans on multifamily rental projects located in federally aided urban
renewal areas or in areas having a local redevelopment or urban renewal plan certified by FHA. The mortgage loans may finance the rehabilitation of existing salvable housing (including the
refinancing of existing loans) or new construction in targeted areas. The purpose of Section 220 is to encourage quality rental housing in urban areas targeted for overall revitalization.
---
### 📄 Page 19
Section 221(d) (Housing for Moderate Income and Displaced Families). Sections 221(d)(3) and 221(d)(4) of the Housing Act provide for mortgage insurance to assist private industry in the
construction or substantial rehabilitation of rental and cooperative housing for low- and moderate-income families and families that have been displaced as a result of urban renewal,
governmental actions or disaster.
Section 223(a)(7) (Refinancing of FHA-Insured Mortgages). Section 223(a)(7) of the Housing Act permits FHA to refinance existing insured mortgage loans under any section or title of the
Housing Act. Such refinancing results in prepayment of the existing insured mortgage. The new, refinanced mortgage loan is limited to the original principal amount of the existing mortgage
loan and the unexpired term of the existing mortgage loan plus 12 years.
Section 223(d)(Operating Loss Loans). Section 223(d) of the Housing Act provides for FHA insurance of separate loans that cover (1) operating losses during the first 2 years after completion
or (2) up to 80% of the unreimbursed cash contributions by the project owner during any period of up to two years within the first 10 years after date of completion of the project. The
project must be secured by an existing HUD-insured first mortgage loan.
Query result: Such projects may have been financed originally with conventional or FHA-insured mortgage loans.
Section 231 (Mortgage Insurance for Rental Housing for the Elderly). Section 231 of the Housing Act provides for insurance of mortgage loans to facilitate the construction and substantial
rehabilitation of multifamily rental housing for elderly (62 or older) or disabled persons. The mortgage insurance may be used to finance the construction and substantial rehabilitation of
detached, semi-detached, walk-up or elevator type rental housing designed specifically for elderly or disabled individuals consisting of 8 or more dwelling units. Section 231 was designed to
increase the supply of rental housing specifically for the use and occupancy of elderly and/or disabled persons.
Section 232 (Mortgage Insurance for Nursing Homes, Immediate Care Facilities and Board and Care Homes). Section 232 of the Housing Act provides for FHA insurance of private construction
mortgage loans to finance new or rehabilitated nursing homes, intermediate care facilities, board and care homes, assisted living for the frail or elderly or allowable combinations thereof,
including equipment to be used in their operation. Section 232 also provides for supplemental loans to finance the purchase and installation of fire safety equipment in these facilities.
Section 236 (Mortgage Insurance for Subsidized Rental Housing Projects). Section 236 of the Housing Act combines governmental mortgage insurance on multifamily housing projects with
supplemental payments to reduce the project owners' monthly debt service payments. The supplemental payments are paid directly to the mortgagee of the project for the purpose of reducing the
interest payment due from the project owner. The objective of these supplemental payments is to reduce rental payments required of low-income and elderly residents. To qualify for rental
assistance under Section 236, tenants' annual income must be less than 80 percent of the median income of the area. Originations under Section 236 are no longer active, although refinancings
under Section 223(a)(7) are authorized.
Section 241 (Supplemental Loans for Multifamily Projects). Sections 241, and 241(a) and 241(f) of the Housing Act provide for FHA insurance to finance property improvements, energy-conserving
improvements, supplemental increases or additions to any FHA-insured multifamily loan.
Query result: Section 236 of the Housing Act combines governmental mortgage insurance on multifamily housing projects with supplemental payments to reduce the project owners' monthly debt
service payments. The supplemental payments are paid directly to the mortgagee of the project for the purpose of reducing the interest payment due from the project owner. The objective of
these supplemental payments is to reduce rental payments required of low-income and elderly residents. To qualify for rental assistance under Section 236, tenants' annual income must be less
than 80 percent of the median income of the area. Originations under Section 236 are no longer active, although refinancings under Section 223(a)(7) are authorized.
Section 241 (Supplemental Loans for Multifamily Projects). Sections 241, and 241(a) and 241(f) of the Housing Act provide for FHA insurance to finance property improvements, energy-conserving
improvements, supplemental increases or additions to any FHA-insured multifamily loan. The overall purpose of the Section 241 loan program is to provide a project with a means to remain
competitive, to extend its economic life and to finance the replacement of obsolete equipment without the refinancing of the existing mortgage.
---
### 📄 Page 20
### Section 538 Guarantee Program
The Section 538 Guaranteed Rural Rental Housing Program is under the United States Department of Agriculture Rural Development. The authorizing statute is Title V of the Housing Act. Rural
Development operates a broad range of programs that were formerly administered by the Farmers Home Administration to support affordable housing and community development in rural areas.
Section 538 was established pursuant to Title V of the Housing Act. Section 538 is designed to increase the supply of affordable rural rental housing, through the use of loan guarantees that
encourage partnerships between Rural Development, private lenders and public agencies. Mortgage loans are provided by Rural Development-approved multifamily lenders, including state and local
housing agencies. The Mortgage Loans guaranteed under the program will have the maturity and amortization features as Rural Development may approve.
Query result: Mortgage Loans insured under the programs described in the related Offering Circular Supplement have such maturities and amortization features as the FHA may approve. Generally
the minimum mortgage loan term is at least ten years, and the maximum mortgage loan term does not exceed the lesser of 40 years and 75% of the estimated remaining economic life of the
improvements on the Mortgaged Property.
Tenant eligibility for FHA-insured projects generally is not restricted by income, except for projects as to which rental subsidies are made available with respect to some of or all the units
therein or to specified tenants.
The principal characteristics of the Mortgage Loans underlying the Ginnie Mae Multifamily Certificates in a particular Trust, and the FHA Programs under which each Mortgage Loan is insured,
are described below. The FHA Programs under which each Mortgage Loan in a Series is insured will be listed under "Terms Sheets – Certain Characteristics of the Ginnie Mae Multifamily
Certificates and the Related Mortgage Loans Underlying the Trust Assets" in the related Offering Circular Supplement.
Section 207 (Mortgage Insurance for Multifamily Housing). Section 207 of the Housing Act provides for federal insurance of mortgage loans originated by FHA-approved lenders in connection with
the construction or substantial rehabilitation of multifamily housing projects, which includes manufactured home parks.
Section 213(i) (Cooperative Housing Projects). Sections 213 and 213(i) of the Housing Act provides for FHA insurance of mortgage loans on cooperative housing projects. Sections 213 and 213(i)
mortgage insurance enables nonprofit cooperative ownership housing corporations or trusts to develop or sponsor housing projects that will be operated as cooperatives. By using Sections 213
and 213(i) insurance, investors can construct or rehabilitate multifamily housing that will be sold to such nonprofit corporations or trusts.
Section 220 (Urban Renewal Mortgage Insurance). Section 220 of the Housing Act provides for federal insurance of mortgage loans on multifamily rental projects located in federally aided urban
renewal areas or in areas having a local redevelopment or urban renewal plan certified by FHA. The mortgage loans may finance the rehabilitation of existing salvable housing (including the
refinancing of existing loans) or new construction in targeted areas. The purpose of Section 220 is to encourage quality rental housing in urban areas targeted for overall revitalization.
Query result: Each Ginnie Mae Project Loan Certificate will provide for the payment to the registered holder of that Ginnie Mae Project Loan Certificate of monthly payments of principal and
interest equal to the aggregate amount of
---
### 📄 Page 18
the scheduled monthly principal and interest payments on the Mortgage Loans underlying that Ginnie Mae Project Loan Certificate, less applicable servicing and guaranty fees. In addition, such
payments will include any prepayments and other unscheduled recoveries of principal of, and any Prepayment Penalties on, an underlying Mortgage Loan to the extent received by the Ginnie Mae
Issuer during the month preceding the month of the payment.
The related Offering Circular Supplement will describe certain characteristics of the Ginnie Mae Project Loan Certificates and the underlying Mortgage Loans.
### FHA Insurance Programs
The FHA is an organizational unit within the U.S. Department of Housing and Urban Development. FHA was established to encourage improvement in housing standards and conditions, to provide an
adequate home financing system by insuring housing mortgages and credit and to exert a stabilizing influence on the mortgage market.
FHA multifamily insurance programs generally are designed to assist private and public mortgagors in obtaining insured financing for the construction, purchase or rehabilitation of
multifamily housing pursuant to the Housing Act or, with respect to a risk sharing pilot program, the Housing and Community Development Act of 1992, as amended. Mortgage Loans are provided by
FHA-approved institutions, which include mortgage banks, commercial banks, savings and loan associations, trust companies, insurance companies, pension funds, state and local housing finance
agencies and certain other approved entities.
Mortgage Loans insured under the programs described in the related Offering Circular Supplement have such maturities and amortization features as the FHA may approve. Generally the minimum
mortgage loan term is at least ten years, and the maximum mortgage loan term does not exceed the lesser of 40 years and 75% of the estimated remaining economic life of the improvements on the
Mortgaged Property.
Tenant eligibility for FHA-insured projects generally is not restricted by income, except for projects as to which rental subsidies are made available with respect to some of or all the units
therein or to specified tenants.
The principal characteristics of the Mortgage Loans underlying the Ginnie Mae Multifamily Certificates in a particular Trust, and the FHA Programs under which each Mortgage Loan is insured,
are described below.
Query result: ---
### 📄 Page 78
**Weighted Average Remaining Period from Issuance** — With respect to designated Ginnie Mae Multifamily Certificates and a Cut-off Date, the average, expressed in months, of the remaining
period from issuance, as of the Cut-off Date, of all the Mortgage Loans underlying the Ginnie Mae Multifamily Certificates, weighted on the basis of the respective current principal balances
of those Mortgage Loans after giving effect to all payments of principal due on or before the Cut-off Date. For purposes of this definition "issuance" means the later of (a) one month prior
to the first interest rate payment date after the most recent FHA endorsement and (b) the Cut-off Date of the related Ginnie Mae Multifamily Certificate, unless otherwise indicated in the
Offering Circular Supplement.
**Weighted Average Remaining Prepayment Penalty Period** — With respect to designated Ginnie Mae Multifamily Certificates and a Cut-off Date, the average, expressed in months, of the
remaining periods during which Prepayment Penalties will be payable, as of the Cut-off Date, of all the Mortgage Loans underlying the Ginnie Mae Multifamily Certificates, weighted on the
basis of the respective current principal balances of those Mortgage Loans after giving effect to all payments of principal due on or before the related Cut-off Date.
---
### 📄 Page 79
## THIS PAGE INTENTIONALLY LEFT BLANK
Query result: A corporation will not be treated as an instrumentality of the United States or any state or political subdivision thereof if all of its activities are subject to tax and, with
the exception of Freddie Mac, a majority of its board of directors is not selected by that governmental unit.
**Distribution Amount** — With respect to each Series (or, if the Series is segregated into Security Groups, each Security Group) and each Distribution Date, the sum of the Principal
Distribution Amount (less principal, if any, payable to the Trustee as a Trustee Fee), the Interest Distribution Amount and the Accrual Amount(s), if any, for the Series (or Security Group).
---
### 📄 Page 59
**Distribution Date** — The date specified in the Trust Agreement or MX Trust Agreement, as applicable, relating to each Series (or Security Group) upon which distributions are required to be
made to Holders of Securities of such Series (or Security Group).
**Double REMIC Series** — A Series that provides for an Issuing REMIC and one or more Pooling REMICs.
**Effective Range** — With respect to any PAC, Scheduled or TAC Class or Component, the range of constant prepayment rates for which such Class or Component adheres to its schedule of
Scheduled Principal Balances.
**Eligible Certificates** — Any Ginnie Mae Securities, as well as any Fannie Mae Securities or Freddie Mac Securities that are held in book-entry form.
ERISA ................................................. The Employee Retirement Income Security Act of 1974, as amended.
**Excess Class** — A Class that receives any principal and interest paid on the underlying Trust Assets in excess of the amount of the prescribed principal and interest required to be paid on
all Classes in the Series.
Fannie Mae.......................................... The Federal National Mortgage Association.
**Fannie Mae Securities** — Any securities previously issued and guaranteed by Fannie Mae that evidence beneficial ownership interests in Ginnie Mae Multifamily Certificates.
**Fedwire Book-Entry System** — The book-entry system for securities operated and maintained by the U.S. Federal Reserve Banks.
FHA .................................................... The Federal Housing Administration.
FHLB of San Francisco....................... The Federal Home Loan Bank of San Francisco.
**Final Data Statement** — With respect to each Series, the final list of Trust Assets to be included in the related Trust.
Query result: **Prepayment Penalty End Date** — With respect to any multifamily Mortgage Loan, the date as of which any such Mortgage Loan would no longer be subject to the payment of any
Prepayment Penalties.
**Principal Distribution Amount** — With respect to each Series (or if the Series is segregated into Security Groups, each Security Group) and each Distribution Date, the sum of (I) with
respect to each Ginnie Mae Multifamily Certificate (other than any Ginnie Mae Project Loan Certificate issued as a result of a conversion of the Ginnie Mae Construction Loan Certificate since
the preceding Distribution Date), the amount by which (a) the product of (i) the original principal amount of that Ginnie Mae Multifamily Certificate and (ii) the Certificate Factor,
Corrected Certificate Factor or Calculated Certificate Factor, as applicable, for the preceding Distribution Date exceeds (b) the product of (i) the original principal amount of the Ginnie
Mae Multifamily Certificate and (ii) the
---
### 📄 Page 68
Certificate Factor, Corrected Certificate Factor or Calculated Certificate Factor, as applicable, for the current Distribution Date; (II) with respect to each Ginnie Mae Project Loan
Certificate issued as a result of a conversion of a Ginnie Mae Construction Loan Certificate since the preceding Distribution Date, the sum of (1) the amount by which (a) the product of (i)
the original principal amount of the Ginnie Mae Project Loan Certificate and (ii) 1.00 exceeds (b) the product of (i) the original principal amount of the Ginnie Mae Project Loan Certificate
and (ii) the Certificate Factor, Corrected Certificate Factor or Calculated Certificate Factor, as applicable, for the current Distribution Date and (2) any amounts received by the Trust from
the Ginnie Mae Issuer from the related P&I Custodial Account on the date of conversion of a Ginnie Mae Construction Loan Certificate to a Ginnie Mae Project Loan Certificate; (III) with
respect to each Ginnie Mae Construction Loan Certificate that has been liquidated since the preceding Distribution Date, any proceeds received by the Trust from the Ginnie Mae Issuer with
respect to any liquidation, exclusive of any amounts distributed pursuant to (I) above; (IV) with respect to each Underlying Certificate, Underlying Callable Security or Underlying SMBS
Security,
Query result: If the prepayment rate on the Mortgage Loans decreases during a period of rising interest rates, investors may receive declining principal distributions when those investors
otherwise may have been able to reinvest at higher interest rates than the Interest Rates of the applicable Classes of Securities.
### Payment Delay
Distributions of interest on the Securities on any Distribution Date will include interest accrued thereon through the Accounting Date, which for Fixed Rate Classes and Delay Classes is the
last day of the month preceding the month in which such Distribution Date occurs. The effective yield to the Holders of such Securities will be lower than the yield otherwise produced by the
applicable Interest Rate and purchase price because interest will not be distributed on such Securities that are Book-Entry Securities until the Distribution Date in the month following the
month in which such interest accrues on the Trust Assets, and interest will not be distributed on Certificated Securities until the Business Day after such Distribution Date.
---
### 📄 Page 22
### Assumability of Mortgage Loans
Mortgage Loans do not contain "due-on-sale" clauses restricting sale or other transfer of the related Mortgaged Properties. Any transfer of a Mortgaged Property is subject to HUD review and
approval under the terms of HUD's Regulatory Agreement with the owner, which is incorporated by reference into the mortgage.
### Weighted Average Life
The Weighted Average Life of a security refers to the average amount of time that will elapse from the date of its issuance until each dollar of principal of that security will be repaid to
the investor. As a result, any projection of the Weighted Average Life of and yield on any Class of the Securities must include an assumption about the anticipated timing and amount of
payments on those Securities, which will depend upon the rate of prepayments of the Mortgage Loans, including optional borrower prepayments and prepayments resulting from liquidation of
defaulted Mortgage Loans. In general, prepayments of principal and defaults on the Mortgage Loans will shorten the Weighted Average Life and term to maturity of each related Class of
Securities.
Query result: ---
### 📄 Page 20
### Section 538 Guarantee Program
The Section 538 Guaranteed Rural Rental Housing Program is under the United States Department of Agriculture Rural Development. The authorizing statute is Title V of the Housing Act. Rural
Development operates a broad range of programs that were formerly administered by the Farmers Home Administration to support affordable housing and community development in rural areas.
Section 538 was established pursuant to Title V of the Housing Act. Section 538 is designed to increase the supply of affordable rural rental housing, through the use of loan guarantees that
encourage partnerships between Rural Development, private lenders and public agencies. Mortgage loans are provided by Rural Development-approved multifamily lenders, including state and local
housing agencies. The Mortgage Loans guaranteed under the program will have the maturity and amortization features as Rural Development may approve.
Tenant eligibility for Section 538 guaranteed projects is restricted to persons with income not in excess of 115% of the area median income
Under Section 515 of Title V of the Housing Act, Rural Development is authorized to make direct loans secured by multifamily properties with respect to which the tenants may include very
low-, low- and moderate-income families, elderly persons and persons with handicaps and disabilities. Under Section 538, Rural Development subsequently may guarantee new loans, secured by the
same properties, made to revitalize the properties.
## UNDERLYING CERTIFICATES
If so specified in the related Offering Circular Supplement, the Trust Assets for a Series of Securities may include one or more Underlying Certificates. Any such Underlying Certificate will
evidence a direct or indirect beneficial ownership interest in a separate pool of Ginnie Mae Multifamily Certificates and will have been issued and guaranteed as described in the Underlying
Certificate Disclosure Document. Each Offering Circular Supplement will include a general description of the characteristics of each Underlying Certificate. In the event that any issue arises
under the trust agreement that governs the Underlying Trust, which requires a vote of the holders of Underlying Certificates, the Trustee will vote the Underlying Certificates in accordance
with the Trust Agreement.
Investors in any Security representing an interest in one or more Underlying Certificates are urged to review, in particular, the related Underlying Certificate Disclosure Documents, which
may be obtained from the Information Agent as described in the related Offering Circular Supplement.
Query result: If any of these representations and warranties are untrue with respect to any Trust MBS, the Sponsor, at its option, may (a) cure the breach, (b) substitute another Ginnie Mae
Multifamily Certificate for the affected Trust MBS, or (c) with Ginnie Mae's consent, repurchase the affected Trust MBS from the Trust, in each case only to the extent permitted under the
Trust Agreement and REMIC Provisions.
The Mortgage Loans underlying each Trust MBS will consist of Mortgage Loans secured by mortgages on real properties that are either residences housing five families or more or nursing
facilities (collectively, "Mortgaged Properties").
---
### 📄 Page 16
Each multifamily Mortgage Loan underlying any Trust MBS (other than a Trust MBS issued under the Small Loan Program (as defined below under "The Ginnie Mae Project Loan Certificates")) bears
interest at a Mortgage Rate that is 0.25% to 0.50% per annum greater than the related Certificate Rate, unless Ginnie Mae has given its prior consent to a spread in excess of 0.50% per annum.
Under the Small Loan Program, the Mortgage Rate on the Mortgage Loans backing the Trust MBS is required to be at least 0.50% greater than the Certificate Rate, but there is no maximum limit
on this percentage. Certain Trust MBS may be based on and backed by Mortgage Loans secured by a mark-to-market project developed under HUD's Office of Multifamily Housing Assistance
Restructuring Processing Procedures (the "RX Program"). The Mortgage Rate of Mortgage Loans underlying any such Trust MBS is required to be at least 0.50% greater than the Certificate Rate of
the related Trust MBS.
Each Ginnie Mae Issuer will perform the routine functions required for servicing of Trust MBS and related Mortgage Loans for which it is responsible, including mortgagor billings, receipt and
posting of payments, payment of property taxes and hazard insurance premiums, remittance, collections and customer service. Each Ginnie Mae Issuer will be obligated under its Certificate
Guaranty Agreements with Ginnie Mae to service the Mortgage Loans in accordance with FHA requirements and with generally accepted practices in the mortgage lending industry.
Query result: 00 exceeds (b) the product of (i) the original principal amount of the Ginnie Mae Project Loan Certificate and (ii) the Certificate Factor, Corrected Certificate Factor or
Calculated Certificate Factor, as applicable, for the current Distribution Date and (2) any amounts received by the Trust from the Ginnie Mae Issuer from the related P&I Custodial Account on
the date of conversion of a Ginnie Mae Construction Loan Certificate to a Ginnie Mae Project Loan Certificate; (III) with respect to each Ginnie Mae Construction Loan Certificate that has
been liquidated since the preceding Distribution Date, any proceeds received by the Trust from the Ginnie Mae Issuer with respect to any liquidation, exclusive of any amounts distributed
pursuant to (I) above; (IV) with respect to each Underlying Certificate, Underlying Callable Security or Underlying SMBS Security, the amount by which (a) the product of (i) the original
principal amount of that Underlying Certificate, Underlying Callable Security or Underlying SMBS Security, and (ii) the Underlying Certificate Factor (or Certificate Factor) for the preceding
Distribution Date exceeds (b) the product of (i) the original principal amount of the Underlying Certificate, Underlying Callable Security or Underlying SMBS Security, and (ii) the Underlying
Certificate Factor (or Certificate Factor) for the current Distribution Date; provided however, that the amount calculated pursuant to clause (IV) is subject to adjustment pursuant to the
applicable Trust Agreement in the event that Underlying Certificate Factors (or Certificate Factors) are unavailable in respect of any Distribution Date. (For the first Distribution Date, the
product in clause (I)(a) and (IV)(a) above shall be the principal amount of the Ginnie Mae Multifamily Certificate as of the Closing Date.) The sum of the amounts so calculated for each
Ginnie Mae Multifamily Certificate conveyed to a Trust for a Series (or, if the Series is segregated into Security Groups, for each Ginnie Mae Multifamily Certificate included in the related
Trust Asset Group) is the Principal Distribution Amount for that Series (or Security Group(s)).
When preceded by a group or subgroup designation (e.g., the "Group 2 Principal Distribution Amount" or the "Subgroup 2A Principal Distribution Amount"), such amount for the specified Trust
Asset Group or Subgroup.
Query result: Certain Trust MBS may be based on and backed by Mortgage Loans secured by a mark-to-market project developed under HUD's Office of Multifamily Housing Assistance Restructuring
Processing Procedures (the "RX Program"). The Mortgage Rate of Mortgage Loans underlying any such Trust MBS is required to be at least 0.50% greater than the Certificate Rate of the related
Trust MBS.
Each Ginnie Mae Issuer will perform the routine functions required for servicing of Trust MBS and related Mortgage Loans for which it is responsible, including mortgagor billings, receipt and
posting of payments, payment of property taxes and hazard insurance premiums, remittance, collections and customer service. Each Ginnie Mae Issuer will be obligated under its Certificate
Guaranty Agreements with Ginnie Mae to service the Mortgage Loans in accordance with FHA requirements and with generally accepted practices in the mortgage lending industry. Each Ginnie Mae
Issuer's responsibilities with respect to its Mortgage Loans will include:
(a) collection of all principal and interest payments, Prepayment Penalties, if any, and payments made by the borrower or borrowers toward escrows established for taxes and insurance
premiums;
(b) maintenance of necessary hazard insurance policies;
(c) institution of all actions necessary to foreclose on, or take other appropriate action with respect to, loans in default; and
(d) collection of insurance and guaranty benefits.
The Trust Asset Depository or its nominees, as registered holder (on behalf of the Trustee) of the related Trust MBS, will have the right to proceed directly against Ginnie Mae under the
terms of the related Trust MBS for any amounts that are not paid when due.
Ginnie Mae Multifamily Certificates are issued under the Ginnie Mae I Program.
### The Ginnie Mae Construction Loan Certificates
Each Ginnie Mae Construction Loan Certificate is based on and backed by a single Mortgage Loan secured by a multifamily project under construction and insured by FHA pursuant to an FHA
Insurance Program described in the related Offering Circular Supplement. Ginnie Mae Construction Loan Certificates are generally issued monthly by the related Ginnie Mae Issuer as
construction progresses on the related multifamily project and as advances are insured by FHA.
Query result: The original maturity of a Ginnie Mae Construction Loan Certificate is at least 200% of the construction period for the multifamily project anticipated by FHA. The stated
maturity of a Ginnie Mae Construction Loan Certificate may be extended after issuance at the request of the related Ginnie Mae Issuer with the prior written approval of Ginnie Mae. Prior to
approving any extension request, Ginnie Mae requires that the Contracted Security Purchaser, the entity bound under contract with the related Ginnie Mae issuer to purchase all of the Ginnie
Mae Construction Loan Certificates relating to a particular project, consent to the extension of the maturity date. Upon the maturity of any Ginnie Mae Construction Loan Certificate, the
related Ginnie Mae Issuer must retire the Ginnie Mae Construction Loan Certificate by the payment of cash to the holders provided that (i) no extension has been granted and (ii) the Ginnie
Mae Construction Loan Certificate has failed to convert prior to that time. In addition if
---
### 📄 Page 17
the underlying Mortgage Loan is liquidated prior to maturity, the related Ginnie Mae Issuer must retire the Ginnie Mae Construction Loan Certificates by the payment of cash to the holders.
Each Ginnie Mae Construction Loan Certificate will provide for the payment to the holder of that Ginnie Mae Construction Loan Certificate of monthly payments of interest equal to a pro rata
share of the interest payments on the underlying Mortgage Loan, less applicable servicing and guaranty fees. Holders of Ginnie Mae Construction Loan Certificates are not entitled to receive
any payments of principal collected on the Mortgage Loan as long as the Ginnie Mae Construction Loan Certificates are outstanding. During such period, any prepayments and other recoveries of
principal (other than proceeds from the liquidation of the related Mortgage Loan) or any Prepayment Penalties on the underlying Mortgage Loan received by the Ginnie Mae Issuer will be
deposited into a non-interest bearing escrow account (the "P&I Custodial Account").
Query result: The Trust Asset Depository or its nominees, as registered holder (on behalf of the Trustee) of the related Trust MBS, will have the right to proceed directly against Ginnie Mae
under the terms of the related Trust MBS for any amounts that are not paid when due.
Ginnie Mae Multifamily Certificates are issued under the Ginnie Mae I Program.
### The Ginnie Mae Construction Loan Certificates
Each Ginnie Mae Construction Loan Certificate is based on and backed by a single Mortgage Loan secured by a multifamily project under construction and insured by FHA pursuant to an FHA
Insurance Program described in the related Offering Circular Supplement. Ginnie Mae Construction Loan Certificates are generally issued monthly by the related Ginnie Mae Issuer as
construction progresses on the related multifamily project and as advances are insured by FHA. Prior to the issuance of Ginnie Mae Construction Loan Certificates, the Ginnie Mae Issuer must
provide Ginnie Mae with supporting documentation regarding advances and disbursements on the Mortgage Loan and must satisfy the prerequisites for issuance as described in Chapter 32 of the
Ginnie Mae Mortgage-Backed Securities Guide (the "MBS Guide"). Each Ginnie Mae Construction Loan Certificate upon conversion will be redeemed for a pro rata share of a Ginnie Mae Project Loan
Certificate.
The original maturity of a Ginnie Mae Construction Loan Certificate is at least 200% of the construction period for the multifamily project anticipated by FHA. The stated maturity of a Ginnie
Mae Construction Loan Certificate may be extended after issuance at the request of the related Ginnie Mae Issuer with the prior written approval of Ginnie Mae. Prior to approving any
extension request, Ginnie Mae requires that the Contracted Security Purchaser, the entity bound under contract with the related Ginnie Mae issuer to purchase all of the Ginnie Mae
Construction Loan Certificates relating to a particular project, consent to the extension of the maturity date. Upon the maturity of any Ginnie Mae Construction Loan Certificate, the related
Ginnie Mae Issuer must retire the Ginnie Mae Construction Loan Certificate by the payment of cash to the holders provided that (i) no extension has been granted and (ii) the Ginnie Mae
Construction Loan Certificate has failed to convert prior to that time.
Query result: Any transfer of a Mortgaged Property is subject to HUD review and approval under the terms of HUD's Regulatory Agreement with the owner, which is incorporated by reference into
the mortgage.
### Weighted Average Life
The Weighted Average Life of a security refers to the average amount of time that will elapse from the date of its issuance until each dollar of principal of that security will be repaid to
the investor. As a result, any projection of the Weighted Average Life of and yield on any Class of the Securities must include an assumption about the anticipated timing and amount of
payments on those Securities, which will depend upon the rate of prepayments of the Mortgage Loans, including optional borrower prepayments and prepayments resulting from liquidation of
defaulted Mortgage Loans. In general, prepayments of principal and defaults on the Mortgage Loans will shorten the Weighted Average Life and term to maturity of each related Class of
Securities.
The Weighted Average Life of a Class is determined by (a) multiplying the amount of the net reduction, if any, of the Class Principal Balance (or Class Notional Balance) of such Class from
one Distribution Date to the next Distribution Date by the number of years from the Closing Date to such next Distribution Date, (b) summing the results and (c) dividing the sum by the
aggregate amount of the net reductions in Class Principal Balance (or Class Notional Balance) of such Class referred to in clause (a).
The Weighted Average Lives of the Securities will be influenced by, among other things, the rate at which principal is paid on the Mortgage Loans (or, in the case of a Security Group, on the
Mortgage Loans underlying the related Trust Asset Group). In general, the Weighted Average Lives of the Securities will be shortened if the rate of prepayments of principal of the Mortgage
Loans increases. However, the Weighted Average Lives will depend upon a variety of other factors, including the timing of changes in such rate of principal prepayments. Accordingly, no
assurance can be given as to the Weighted Average Life of any Class. Further, to the extent the prices of the Securities represent discounts or premiums to their respective original principal
balances, variability in the Weighted Average Lives of such Classes could result in variability in the related yields to maturity.
Query result: An election will be made to treat each Trust or certain assets of each Trust as one or more real estate mortgage investment conduits for United States federal income tax
purposes. See "Certain United States Federal Income Tax Consequences" in this Multifamily Base Offering Circular.
---
> **THE GOVERNMENT NATIONAL MORTGAGE ASSOCIATION GUARANTEES THE TIMELY PAYMENT OF PRINCIPAL AND INTEREST ON THE SECURITIES. THE GINNIE MAE GUARANTY IS BACKED BY THE FULL FAITH AND CREDIT OF
THE UNITED STATES OF AMERICA. GINNIE MAE DOES NOT GUARANTEE THE PAYMENT OF PREPAYMENT PENALTIES. THE SECURITIES ARE EXEMPT FROM THE REGISTRATION REQUIREMENTS OF THE SECURITIES ACT OF 1933 AND
CONSTITUTE EXEMPTED SECURITIES UNDER THE SECURITIES EXCHANGE ACT OF 1934.**
---
*Offers of the Securities may be made through one or more different methods, including offerings through the Sponsor, as more fully described in the related Offering Circular Supplement. This
Multifamily Base Offering Circular may not be used to consummate sales of Securities unless you have received the related Offering Circular Supplement.*
**The date of this Multifamily Base Offering Circular is July 1, 2023.
Query result: The Information Agent identified in the Offering Circular Supplement will post the Class Factors, along with the Interest Rate for each Class, on ginniemae.gov.
For any Distribution Date, investors can calculate the amount of principal to be distributed on any Class (other than an Accrual Class or Partial Accrual Class) by multiplying the Original
Class Principal Balance of that Class by the difference between its Class Factors for the preceding and current months. The amount of interest to be distributed on any Class (other than an
Accrual Class or Partial Accrual Class) on each Distribution Date will equal 30 days' interest at the Interest Rate for that Class on its Class Principal Balance (or Class Notional Balance)
as determined by its Class Factor for the preceding month. Based on the Class Factors and Interest Rates published each month, investors in an Accrual Class or Partial Accrual Class can
calculate the total amount of principal and interest to be distributed to (or interest to be added to the Class Principal Balance of) that Class.
Prepayment Penalties received by the Trustee with respect to a Ginnie Mae Multifamily Certificate will be distributed, along with the related prepayment, on the Distribution Date, immediately
following the Trustee's actual receipt of the Prepayment Penalties, to Holders of one or more Classes of Securities in accordance with provisions set forth in the related Offering Circular
Supplement. A distribution of Prepayment Penalties will not decrease the Class Principal Balance of any Class receiving such a distribution.
### Method of Distributions
Distributions of principal and interest (or, where applicable, of principal only or interest only) and related Prepayment Penalties, if any, on a Series (or, if the Series is segregated into
Security Groups, on a Security Group) will be made on each Distribution Date for that Series (or Security Group) (or, with respect to Certificated Securities, the Business Day following the
Distribution Date) to the Persons in whose names the Securities are registered on the related Record Date.
Query result: At any time following the final endorsement of a Mortgage Loan and upon satisfaction of the prerequisites for conversion outlined in Chapter 32 of the MBS Guide, Ginnie Mae
Construction Loan Certificates shall be redeemed for Ginnie Mae Project Loan Certificates. The principal amount of the Ginnie Mae Project Loan Certificates may be less than or equal to the
amount of advances that have been disbursed and insured on the Mortgage Loan underlying the related Ginnie Mae Construction Loan Certificates. Any difference between the principal balance of
the Ginnie Mae Construction Loan Certificates and the principal balance of the Ginnie Mae Project Loan Certificates issued at conversion will be disbursed to the holders of the Ginnie Mae
Construction Loan Certificates as principal upon conversion. To the extent the underlying Mortgage Loan begins to amortize prior to the conversion of the Ginnie Mae Construction Loan
Certificates to Ginnie Mae Project Loan Certificate, the related Ginnie Mae Issuer will be required to pay, at its option, any such prepayments (i) on the date of the conversion of the Ginnie
Mae Construction Loan Certificates or (ii) on the Ginnie Mae Certificate Payment Date of the Ginnie Mae Project Loan Certificate following conversion.
The related Offering Circular Supplement will describe certain characteristics of the Ginnie Mae Construction Loan Certificates and the underlying Mortgage Loans.
Although the Trust may receive principal payments, unscheduled recoveries of principal and Prepayment Penalties, if any, in connection with the liquidation of a Mortgage Loan or following
conversion of a Ginnie Mae Construction Loan Certificate prior to the Ginnie Mae Certificate Payment Date, the Trust will not distribute any such amounts until the Distribution Date
immediately following receipt of such amounts. The Holders of the Securities will not be entitled to receive any interest on such amounts, and the related WACR will be reduced accordingly.
### The Ginnie Mae Project Loan Certificates
All Ginnie Mae Project Loan Certificates issued prior to August 1, 1997 will have an original term to maturity of not more than 40 years and will be based on and backed by one multifamily
Mortgage Loan. Ginnie Mae Project Loan Certificates issued after August 1, 1997, may be based on or backed by more than one multi-family Mortgage Loan.
MacBook Pro Microphone ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁
08:16:06.249 DEBUG livekit.agents tools execution completed {"speech_id": "speech_c521790e881a"}
MacBook Pro Microphone ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁
08:16:07.884 DEBUG livekit.agents aec warmup active, disabling interruptions for 3.00s
MacBook Pro Microphone ▁ ▁ ▁ ▁ ▃ ▅ ▄ ▃ ▁ ▂ ▁ ▁ ▁ ▁ end_of_turn: 1020ms · turn_completed_cb: 0.00ms · llm_ttft: 1249ms · tts_ttfb: 133ms ─ e2e: 4264ms
08:16:10.890 DEBUG livekit.agents aec warmup expired, re-enabling interruptions
MacBook Pro Microphone ▁ ▁ ▁ ▆ ▂ ▆ ▁ ▃ ▁ ▁ ▁ ▁ ▁ ▁ end_of_turn: 1020ms · turn_completed_cb: 0.00ms · llm_ttft: 1249ms · tts_ttfb: 133ms ─ e2e: 4264ms
08:16:23.004 DEBUG livekit.agents conversation_item_added
{"role": "assistant", "text": "FHA Section 223(f) allows for federal insurance of mortgage loans to purchase or refinance existing multifamily housing
that doesn't require substantial rehabilitation. It aims to provide lower debt service or support affordable rental housing."}
MacBook Pro Microphone ▁ ▁ ▁ ▃ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ end_of_turn: 1020ms · turn_completed_cb: 0.00ms · llm_ttft: 1249ms · tts_ttfb: 133ms ─ e2e: 4264ms
? for shortcuts
La conclusión
Para concluir, defina las entradas, el responsable de la tarea y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar la tarea desde un punto de control conocido sin tener que adivinar el estado oculto. Registre los tiempos de ejecución y el costo en tokens o consultas junto con los resultados funcionales. La visibilidad temprana de los costos evita facturas inesperadas cuando la tarea pasa de un entorno de demostración a uno compartido. Cite los pasajes que realmente sustentan la respuesta; sin citas, los operadores no pueden distinguir entre alucinaciones y lagunas en el indexado.
Conclusión
En conclusión, defina las entradas, el responsable de la tarea y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar la tarea a partir de un punto de control conocido sin tener que adivinar el estado oculto. Guarde la configuración fuera del código de la aplicación. Los archivos de entorno, los almacenes de datos confidenciales y las banderas de funcionalidad deben encontrarse en un lugar donde los operadores puedan auditarlos sin necesidad de leer todo el sistema. Cite los pasajes que realmente sustentan la respuesta. Sin citaciones, los operadores no pueden distinguir entre alucinaciones y lagunas en el indexado. En conclusión, defina las entradas, el responsable de la tarea y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar la tarea a partir de un punto de control conocido sin tener que adivinar el estado oculto. Prefiera unidades pequeñas y verificables en lugar de scripts extensos. Cuando una tarea falla, el error debe indicar una única responsabilidad y no un proceso complicado.
Lista de verificación operativa
Para la lista de verificación operativa, defina las entradas, el responsable de cada paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido sin tener que adivinar el estado oculto.
Documente tanto la ruta óptima como la ruta de recuperación. Las intentonas, los controles humanos y el manejo de mensajes no entregados forman parte del producto, no son algo que se añade posteriormente.
Cite los pasajes que realmente sustentan la respuesta. Sin citas, los operadores no pueden distinguir entre alucinaciones y fallos en el indexado.
Establezca puntos de control después de los pasos costosos. La función de reanudación no debe volver a facturar la misma llamada al LLM cuando un operador intente nuevamente un nodo posterior.
Fije las versiones de las dependencias y registre el resumen de la imagen que se utilizó para la demostración. La reproducibilidad es mejor que el conocimiento basado en prácticas internas.
Registra los tiempos de ejecución y el costo de los tokens o consultas junto con los resultados funcionales. Ver la información sobre costos desde el principio evita facturas inesperadas cuando se pasa de entornos de demostración a entornos compartidos.
Antes de promocionar la solución, congela las versiones, guarda una transcripción de referencia para el camino crítico y confirma los pasos para revertir cambios. Los entornos compartidos requieren límites de uso, verificaciones de asignación y un responsable claro para la rotación de credenciales secretas. Prefiere una fiabilidad sencilla a demostraciones ingeniosas pero puntuales.
Nota para el lote 61404a6b0791: mantén las claves del proveedor fuera del repositorio, establece un límite para los tokens por sesión y almacena las transcripciones junto a los archivos de prueba para que los cambios en el modelo posterior sigan siendo comparables.
La nota de fortalecimiento 0 funciona mejor cuando se trata como una superficie medible. Capture una transcripción exitosa, un caso de fallo y la nota de reversión antes de ampliar el alcance. Documente tanto el camino óptimo como el de recuperación juntos. Las reintentos, los controles humanos y el manejo de mensajes no entregados forman parte del producto, no son mejoras posteriores.
Detalle de fortalecimiento 0/713: mida el tiempo de ejecución, la clase del error y el consumo de tokens para esta nota, y luego decida si mantener el cambio basándose en un conjunto fijo de preguntas en lugar de anécdotas.
Para la nota de fortalecimiento 1, defina las entradas, el responsable de cada paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido sin tener que adivinar el estado oculto. Trate esta etapa como un contrato entre las entradas y los resultados validados. Asigne nombres a los artefactos, defina verificaciones de éxito y rechace las completaciones parciales silenciosas.
Detalle de fortalecimiento 1/713: mida el tiempo de ejecución, la clase del error y el consumo de tokens para esta nota, y luego decida si mantener el cambio basándose en un conjunto fijo de preguntas en lugar de en anécdotas.
Al trabajar en la nota de fortalecimiento 2, anote primero el contrato: las entradas requeridas, la señal de éxito y qué ocurre en caso de fallo parcial. Esa lista de verificación mantiene honestas las futuras modificaciones del código. Mantenga la configuración fuera del código de la aplicación. Los archivos de entorno, los almacenes de secretos y las banderas de funcionalidad deben estar en un lugar donde los operadores puedan auditarlos sin tener que leer todo el grafo.
Detalle de fortalecimiento 2/713: mida el tiempo de ejecución, la clase del error y el consumo de tokens para esta nota, y luego decida si mantener el cambio basándose en un conjunto fijo de preguntas en lugar de en anécdotas.