Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

# ChromaDB.AgentFramework.Sample

[Microsoft Agent Framework](https://learn.microsoft.com/agent-framework/) samples that use [Chroma](https://www.trychroma.com/) as the vector store through [ChromaDotNet.VectorData](https://www.nuget.org/packages/ChromaDotNet.VectorData).
[Microsoft Agent Framework](https://learn.microsoft.com/agent-framework/) samples that use [Chroma](https://www.trychroma.com/) as the vector store through [CommunityToolkit.VectorData.Chroma](https://www.nuget.org/packages/CommunityToolkit.VectorData.Chroma). It is the Chroma provider of the [AI Community Toolkit](https://github.com/CommunityToolkit/AI).

They follow the form of the [Agent Framework .NET samples](https://github.com/microsoft/agent-framework/tree/main/dotnet/samples/02-agents). Chroma takes the place of the vector store that the original sample uses. Each sample also comes in a variant with models that run locally in Ollama.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
<ItemGroup>
<PackageReference Include="Azure.AI.OpenAI" Version="2.1.0" />
<PackageReference Include="Azure.Identity" Version="1.21.0" />
<PackageReference Include="ChromaDotNet.VectorData" Version="0.4.3" />
<PackageReference Include="CommunityToolkit.VectorData.Chroma" Version="1.0.0-preview" />
<PackageReference Include="Microsoft.Agents.AI.Foundry" Version="1.23.0-preview.260928.1" />
</ItemGroup>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
using Azure.AI.Projects;
using Azure.Identity;
using ChromaDB.Client;
using ChromaDB.VectorData;
using CommunityToolkit.VectorData.Chroma;
using Microsoft.Agents.AI;
using Microsoft.Extensions.AI;
using Microsoft.Extensions.VectorData;
Expand Down
2 changes: 1 addition & 1 deletion samples/AgentWithMemory_Step10_MemoryUsingChroma/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Agent with Memory Using Chroma

This sample persists chat history in [Chroma](https://www.trychroma.com/) and recalls relevant messages in a new agent session. It uses `ChatHistoryMemoryProvider` with `ChromaVectorStore` from [ChromaDotNet.VectorData](https://www.nuget.org/packages/ChromaDotNet.VectorData).
This sample persists chat history in [Chroma](https://www.trychroma.com/) and recalls relevant messages in a new agent session. It uses `ChatHistoryMemoryProvider` with `ChromaVectorStore` from [CommunityToolkit.VectorData.Chroma](https://www.nuget.org/packages/CommunityToolkit.VectorData.Chroma).

## Features Demonstrated

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="ChromaDotNet.VectorData" Version="0.4.3" />
<PackageReference Include="CommunityToolkit.VectorData.Chroma" Version="1.0.0-preview" />
<PackageReference Include="Microsoft.Agents.AI" Version="1.23.0" />
<PackageReference Include="OllamaSharp" Version="5.5.0" />
</ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
// The agent can then use chat history from prior conversations to inform responses in new conversations.

using ChromaDB.Client;
using ChromaDB.VectorData;
using CommunityToolkit.VectorData.Chroma;
using Microsoft.Agents.AI;
using Microsoft.Extensions.AI;
using Microsoft.Extensions.VectorData;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

This sample is [Agent with Memory Using Chroma](../AgentWithMemory_Step10_MemoryUsingChroma/) with models that run locally in [Ollama](https://ollama.com/) instead of Microsoft Foundry.

It persists chat history in [Chroma](https://www.trychroma.com/) and recalls relevant messages in a new agent session. It uses `ChatHistoryMemoryProvider` with `ChromaVectorStore` from [ChromaDotNet.VectorData](https://www.nuget.org/packages/ChromaDotNet.VectorData).
It persists chat history in [Chroma](https://www.trychroma.com/) and recalls relevant messages in a new agent session. It uses `ChatHistoryMemoryProvider` with `ChromaVectorStore` from [CommunityToolkit.VectorData.Chroma](https://www.nuget.org/packages/CommunityToolkit.VectorData.Chroma).

## Features Demonstrated

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
<ItemGroup>
<PackageReference Include="Azure.AI.OpenAI" Version="2.1.0" />
<PackageReference Include="Azure.Identity" Version="1.21.0" />
<PackageReference Include="ChromaDotNet.VectorData" Version="0.4.3" />
<PackageReference Include="CommunityToolkit.VectorData.Chroma" Version="1.0.0-preview" />
<PackageReference Include="Microsoft.Agents.AI.Foundry" Version="1.23.0-preview.260928.1" />
</ItemGroup>

Expand Down
2 changes: 1 addition & 1 deletion samples/AgentWithRAG_Step06_ChromaRAG/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
using Azure.AI.Projects;
using Azure.Identity;
using ChromaDB.Client;
using ChromaDB.VectorData;
using CommunityToolkit.VectorData.Chroma;
using Microsoft.Agents.AI;
using Microsoft.Extensions.AI;
using Microsoft.Extensions.VectorData;
Expand Down
2 changes: 1 addition & 1 deletion samples/AgentWithRAG_Step06_ChromaRAG/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Agent Framework Retrieval Augmented Generation (RAG) with Chroma and a custom schema

This sample demonstrates how to create and run an agent that uses Retrieval Augmented Generation (RAG) with [Chroma](https://www.trychroma.com/) as the vector store. It connects to Chroma through `ChromaVectorStore` from [ChromaDotNet.VectorData](https://www.nuget.org/packages/ChromaDotNet.VectorData).
This sample demonstrates how to create and run an agent that uses Retrieval Augmented Generation (RAG) with [Chroma](https://www.trychroma.com/) as the vector store. It connects to Chroma through `ChromaVectorStore` from [CommunityToolkit.VectorData.Chroma](https://www.nuget.org/packages/CommunityToolkit.VectorData.Chroma).
It also uses a custom schema for the documents stored in the vector store.

## Prerequisites
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="ChromaDotNet.VectorData" Version="0.4.3" />
<PackageReference Include="CommunityToolkit.VectorData.Chroma" Version="1.0.0-preview" />
<PackageReference Include="Microsoft.Agents.AI" Version="1.23.0" />
<PackageReference Include="OllamaSharp" Version="5.5.0" />
</ItemGroup>
Expand Down
2 changes: 1 addition & 1 deletion samples/AgentWithRAG_Step06_ChromaRAG_Ollama/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
// The TextSearchProvider runs a search against the vector store before each model invocation and injects the results into the model context.

using ChromaDB.Client;
using ChromaDB.VectorData;
using CommunityToolkit.VectorData.Chroma;
using Microsoft.Agents.AI;
using Microsoft.Extensions.AI;
using Microsoft.Extensions.VectorData;
Expand Down
2 changes: 1 addition & 1 deletion samples/AgentWithRAG_Step06_ChromaRAG_Ollama/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

This sample is [RAG with Chroma and a custom schema](../AgentWithRAG_Step06_ChromaRAG/) with models that run locally in [Ollama](https://ollama.com/) instead of Microsoft Foundry.

It demonstrates how to create and run an agent that uses Retrieval Augmented Generation (RAG) with [Chroma](https://www.trychroma.com/) as the vector store. It connects to Chroma through `ChromaVectorStore` from [ChromaDotNet.VectorData](https://www.nuget.org/packages/ChromaDotNet.VectorData).
It demonstrates how to create and run an agent that uses Retrieval Augmented Generation (RAG) with [Chroma](https://www.trychroma.com/) as the vector store. It connects to Chroma through `ChromaVectorStore` from [CommunityToolkit.VectorData.Chroma](https://www.nuget.org/packages/CommunityToolkit.VectorData.Chroma).
It also uses a custom schema for the documents.

## Prerequisites
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
<ItemGroup>
<PackageReference Include="Azure.AI.OpenAI" Version="2.1.0" />
<PackageReference Include="Azure.Identity" Version="1.21.0" />
<PackageReference Include="ChromaDotNet.VectorData" Version="0.4.3" />
<PackageReference Include="CommunityToolkit.VectorData.Chroma" Version="1.0.0-preview" />
<PackageReference Include="Microsoft.Agents.AI.Foundry" Version="1.23.0-preview.260928.1" />
</ItemGroup>

Expand Down
2 changes: 1 addition & 1 deletion samples/AgentWithRAG_Step07_ChromaBasicTextRAG/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
using Azure.AI.Projects;
using Azure.Identity;
using ChromaDB.Client;
using ChromaDB.VectorData;
using CommunityToolkit.VectorData.Chroma;
using Microsoft.Agents.AI;
using Microsoft.Agents.AI.Samples;
using Microsoft.Extensions.AI;
Expand Down
2 changes: 1 addition & 1 deletion samples/AgentWithRAG_Step07_ChromaBasicTextRAG/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Agent Framework Retrieval Augmented Generation (RAG) with Chroma and the TextSearchStore

This sample demonstrates how to create and run an agent that uses Retrieval Augmented Generation (RAG) with [Chroma](https://www.trychroma.com/) as the vector store. It connects to Chroma through `ChromaVectorStore` from [ChromaDotNet.VectorData](https://www.nuget.org/packages/ChromaDotNet.VectorData).
This sample demonstrates how to create and run an agent that uses Retrieval Augmented Generation (RAG) with [Chroma](https://www.trychroma.com/) as the vector store. It connects to Chroma through `ChromaVectorStore` from [CommunityToolkit.VectorData.Chroma](https://www.nuget.org/packages/CommunityToolkit.VectorData.Chroma).
The documents are stored by the `TextSearchStore` from the [Agent Framework sample](https://github.com/microsoft/agent-framework/tree/main/dotnet/samples/02-agents/AgentWithRAG/AgentWithRAG_Step01_BasicTextRAG), copied here unchanged. It is a sample store implementation that hardcodes a storage schema. It writes and reads the records as dictionaries.

## Prerequisites
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="ChromaDotNet.VectorData" Version="0.4.3" />
<PackageReference Include="CommunityToolkit.VectorData.Chroma" Version="1.0.0-preview" />
<PackageReference Include="Microsoft.Agents.AI" Version="1.23.0" />
<PackageReference Include="OllamaSharp" Version="5.5.0" />
</ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
// The TextSearchStore is a sample store implementation that hardcodes a storage schema and uses the vector store to store and retrieve documents.

using ChromaDB.Client;
using ChromaDB.VectorData;
using CommunityToolkit.VectorData.Chroma;
using Microsoft.Agents.AI;
using Microsoft.Agents.AI.Samples;
using Microsoft.Extensions.AI;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

This sample is [RAG with Chroma and the TextSearchStore](../AgentWithRAG_Step07_ChromaBasicTextRAG/) with models that run locally in [Ollama](https://ollama.com/) instead of Microsoft Foundry.

It demonstrates how to create and run an agent that uses Retrieval Augmented Generation (RAG) with [Chroma](https://www.trychroma.com/) as the vector store. It connects to Chroma through `ChromaVectorStore` from [ChromaDotNet.VectorData](https://www.nuget.org/packages/ChromaDotNet.VectorData).
It demonstrates how to create and run an agent that uses Retrieval Augmented Generation (RAG) with [Chroma](https://www.trychroma.com/) as the vector store. It connects to Chroma through `ChromaVectorStore` from [CommunityToolkit.VectorData.Chroma](https://www.nuget.org/packages/CommunityToolkit.VectorData.Chroma).
The documents are stored by the `TextSearchStore` from that sample.

## Prerequisites
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
using ChromaDB.Client;
using ChromaDB.VectorData;
using CommunityToolkit.VectorData.Chroma;
using Microsoft.Agents.AI;
using Microsoft.Agents.AI.Samples;
using Microsoft.Extensions.AI;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

<ItemGroup>
<PackageReference Include="ChromaDotNet.Testcontainers" Version="0.1.7" />
<PackageReference Include="ChromaDotNet.VectorData" Version="0.4.3" />
<PackageReference Include="CommunityToolkit.VectorData.Chroma" Version="1.0.0-preview" />
<PackageReference Include="Microsoft.Agents.AI" Version="1.23.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.7.0" />
<PackageReference Include="xunit.v3" Version="3.2.2" />
Expand Down
2 changes: 1 addition & 1 deletion test/ChromaDB.AgentFramework.Sample.Tests/ChromaFixture.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
using ChromaDB.Client;
using ChromaDB.VectorData;
using CommunityToolkit.VectorData.Chroma;
using Testcontainers.Chroma;

namespace ChromaDB.AgentFramework.Sample.Tests;
Expand Down
Loading