Skip to content

v0.2.0

Pre-release
Pre-release

Choose a tag to compare

@qmuntal qmuntal released this 20 Oct 15:58
· 25 commits to main since this release
Immutable release. Only release title and notes can be modified.
1b11938

Microsoft Agent Framework for Go v0.2.0

Embeddings, vector search, and memory for Go agents.

v0.2.0 introduces provider-independent embedding generation and vector storage, making it easier to build retrieval-augmented generation (RAG) and agents that recall relevant conversations across sessions. Start with an in-memory store, or connect to Azure AI Search or Azure Cosmos DB using the same core vector-data contracts.

Embeddings with consistent Go APIs

The new embedding package provides:

  • Typed generation contracts with ordered batch results, numeric and binary vector representations, JSON serialization, model metadata, and token usage.
  • Convenience helpers for generating a single embedding, retrieving its vector, and pairing batch inputs with their generated embeddings.
  • Request-level configuration for model selection, vector dimensions, and provider-specific options.
  • Built-in OpenAI and Microsoft Foundry generators that produce float32 embeddings.
  • Opt-in OpenTelemetry instrumentation for embedding spans, operation duration, and input-token metrics. Raw inputs and vectors are never captured by the wrapper.

See OpenAI embeddings, Foundry embeddings, and embedding telemetry. Added in #1292.

Vector stores: local and Azure-backed

The new vectordata package introduces shared contracts for typed and dynamic collections, record schemas, CRUD operations, batch helpers, portable filters, and vector search. Hybrid keyword/vector search is available through an optional connector capability.

Connector Highlights
In-memory In-process storage for testing and prototyping; exact vector search using cosine, dot-product, or Euclidean metrics; batch embedding generation; JSON snapshot export and import.
Azure AI Search Vector and full-text/vector hybrid search, HNSW or flat indexes, and Microsoft Entra ID or API-key authentication.
Azure Cosmos DB for NoSQL Vector and full-text/vector hybrid search, DiskANN/Flat/QuantizedFlat indexes, and custom or hierarchical partition keys.

Added in #1293, #1297, and #1304.

Retrieval and vector-backed conversation memory

  • Text-search context provider: Retrieve knowledge before each agent run, or expose an on-demand search tool. Supports source names and links, citation instructions, custom result formatting, and optional recent-message context for automatic queries.
  • Chat-history memory provider: Store conversations in a vector store and retrieve related messages automatically or through an on-demand tool. Scope storage and retrieval by application, agent, user, and session. Persistence depends on the configured store.
  • Memory examples: Recall user preferences across independent sessions, or keep a bounded recent history while retrieving older messages from vector-store overflow.

Added in #1286 and #1297.

Examples to get started

  • RAG walkthroughs: in-memory vector search, Qdrant-backed retrieval, a custom text-search source, Foundry service-side file search, and Neo4j graph retrieval.
  • Azure AI Search and Azure Cosmos DB: runnable examples of the new Azure connectors.

Qdrant and Neo4j are demonstrated as sample integrations, not built-in vectordata connectors.

Reusable agent harness

The new agent harness assembles common agent capabilities through harness.AgentConfig. Pass the resulting configuration to an existing provider constructor; the harness reuses the normal agent lifecycle and tool-execution loop.

  • Composed defaults: Session-backed Todo tools, plan/execute modes, file memory, skill discovery, tool approvals, history, message injection, and hosted web search where supported.
  • Persistent, session-isolated file memory: Each session receives its own working folder. Memory survives provider cleanup and is excluded from default skill discovery and resource access.
  • Configuration and overrides: Disable individual components or customize their settings while retaining caller-supplied tools, middleware, history, and explicit history-conflict settings. History persistence is enabled for each model call.
  • Agent, tool, and model tracing: OpenTelemetry instrumentation covers supported model adapters, including model identifiers, usage, duration, and errors, without capturing prompt contents or tool arguments/results.

Model-call tracing is now enabled by default when the OpenTelemetry middleware is installed, including for ordinary agents outside the harness. Set DisableModelTracing to retain agent/tool-only tracing. Applications remain responsible for configuring telemetry providers and exporters.

See the composite harness example. Added in #1288, #1290, and #1302.

Install or upgrade

After the v0.2.0 tag is published:

go get github.com/microsoft/agent-framework-go@v0.2.0

Requires Go 1.26 or later. Microsoft Agent Framework for Go remains in public preview, and APIs may continue to evolve.