Skip to content

Recombee

Nuget package dotnet License: MIT Discord

Features 🔥

  • Fully generated C# SDK based on official Recombee OpenAPI specification using AutoSDK
  • Same day update to support new features
  • Updated and supported automatically if there are no breaking changes
  • All modern .NET features - nullability, trimming, NativeAOT, etc.
  • Support .Net Framework/.Net Standard 2.0

Usage

1
2
3
using Recombee;

using var client = new RecombeeClient(apiKey);

Recommendations

Example showing how to get personalized item recommendations for a user.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
// Create an authenticated client
using var client = new RecombeeClient(apiKey);
var databaseId = GetDatabaseId();

// Get personalized recommendations for a user
var response = await client.Recommendations.CreateByDatabaseIdRecommsUsersByUserIdItemsAsync(
    databaseId: databaseId,
    userId: "test-user-1",
    count: 5,
    cascadeCreate: true,
    returnProperties: true);

// The response contains a recommendation ID and list of recommended items

Example showing how to search items with personalized full-text search.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
// Create an authenticated client
using var client = new RecombeeClient(apiKey);
var databaseId = GetDatabaseId();

// Search items with personalized full-text search
var response = await client.Search.CreateByDatabaseIdSearchUsersByUserIdItemsAsync(
    databaseId: databaseId,
    userId: "test-user-1",
    searchQuery: "laptop",
    count: 5,
    cascadeCreate: true,
    returnProperties: true);

// The response contains a recommendation ID and ranked search results

MEAI Tools

Example showing how to use Recombee as MEAI AIFunction tools with any IChatClient.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
// Create an authenticated client
using var client = new RecombeeClient(apiKey);
var databaseId = GetDatabaseId();

// Create AIFunction tools for use with any IChatClient
var recommendTool = client.AsRecommendItemsTool(databaseId);
var searchTool = client.AsSearchItemsTool(databaseId);
var interactionTool = client.AsAddInteractionTool(databaseId);
var listItemsTool = client.AsListItemsTool(databaseId);

// Verify tools are created with correct names

Support

Priority place for bugs: https://github.com/tryAGI/Recombee/issues
Priority place for ideas and general questions: https://github.com/tryAGI/Recombee/discussions
Discord: https://discord.gg/Ca2xhfBf3v

Acknowledgments

JetBrains logo

This project is supported by JetBrains through the Open Source Support Program.