Skip to content

cheshire-cat-ai/api-client-csharp

Repository files navigation

CheshireCatApi - the C# library for the 😸 Cheshire-Cat API

Customizable AI architecture

This C# SDK is automatically generated by the OpenAPI Generator project:

  • API version: 0.0.5
  • SDK version: 1.0.0
  • Build package: org.openapitools.codegen.languages.CSharpClientCodegen

Frameworks supported

Dependencies

The DLLs included in the package may not be the latest version. We recommend using NuGet to obtain the latest version of the packages:

Install-Package RestSharp
Install-Package Newtonsoft.Json
Install-Package JsonSubTypes
Install-Package System.ComponentModel.Annotations

NOTE: RestSharp versions greater than 105.1.0 have a bug which causes file uploads to fail. See RestSharp#742. NOTE: RestSharp for .Net Core creates a new socket for each api call, which can lead to a socket exhaustion problem. See RestSharp#1406.

Installation

Run the following command to generate the DLL

  • [Mac/Linux] /bin/sh build.sh
  • [Windows] build.bat

Then include the DLL (under the bin folder) in the C# project, and use the namespaces:

using CheshireCatApi.Api;
using CheshireCatApi.Client;
using CheshireCatApi.Model;

Packaging

A .nuspec is included with the project. You can follow the Nuget quickstart to create and publish packages.

This .nuspec uses placeholders from the .csproj, so build the .csproj directly:

nuget pack -Build -OutputDirectory out CheshireCatApi.csproj

Then, publish to a local feed or other host and consume the new package via Nuget as usual.

Usage

To use the API client with a HTTP proxy, setup a System.Net.WebProxy

Configuration c = new Configuration();
System.Net.WebProxy webProxy = new System.Net.WebProxy("http://myProxyUrl:80/");
webProxy.Credentials = System.Net.CredentialCache.DefaultCredentials;
c.Proxy = webProxy;

Getting Started

using System.Collections.Generic;
using System.Diagnostics;
using CheshireCatApi.Api;
using CheshireCatApi.Client;
using CheshireCatApi.Model;

namespace Example
{
    public class Example
    {
        public static void Main()
        {

            Configuration config = new Configuration();
            config.BasePath = "http://localhost";
            var apiInstance = new EmbedderApi(config);
            var languageEmbedderName = "languageEmbedderName_example";  // string | 

            try
            {
                // Get Embedder Settings
                Setting result = apiInstance.GetEmbedderSettings(languageEmbedderName);
                Debug.WriteLine(result);
            }
            catch (ApiException e)
            {
                Debug.Print("Exception when calling EmbedderApi.GetEmbedderSettings: " + e.Message );
                Debug.Print("Status Code: "+ e.ErrorCode);
                Debug.Print(e.StackTrace);
            }

        }
    }
}

Documentation for API Endpoints

All URIs are relative to http://localhost

Class Method HTTP request Description
EmbedderApi GetEmbedderSettings GET /embedder/settings/{languageEmbedderName} Get Embedder Settings
EmbedderApi GetEmbeddersSettings GET /embedder/settings Get Embedders Settings
EmbedderApi UpsertEmbedderSetting PUT /embedder/settings/{languageEmbedderName} Upsert Embedder Setting
LargeLanguageModelApi GetLlmSettings GET /llm/settings/{languageModelName} Get Llm Settings
LargeLanguageModelApi GetLlmsSettings GET /llm/settings Get LLMs Settings
LargeLanguageModelApi UpsertLlmSetting PUT /llm/settings/{languageModelName} Upsert LLM Setting
MemoryApi DeletePointInMemory DELETE /memory/collections/{collection_id}/points/{memory_id} Delete Point In Memory
MemoryApi GetCollections GET /memory/collections Get Collections
MemoryApi GetConversationHistory GET /memory/conversation_history Get Conversation History
MemoryApi RecallMemoriesFromText GET /memory/recall Recall Memories From Text
MemoryApi WipeCollections DELETE /memory/collections Wipe Collections
MemoryApi WipeConversationHistory DELETE /memory/conversation_history Wipe Conversation History
MemoryApi WipeMemoryPoints DELETE /memory/collections/{collection_id}/points Wipe Memory Points By Metadata
MemoryApi WipeSingleCollection DELETE /memory/collections/{collection_id} Wipe Single Collection
PluginsApi DeletePlugin DELETE /plugins/{plugin_id} Delete Plugin
PluginsApi GetPluginDetails GET /plugins/{plugin_id} Get Plugin Details
PluginsApi GetPluginSettings GET /plugins/settings/{plugin_id} Get Plugin Settings
PluginsApi GetPluginsSettings GET /plugins/settings Get Plugins Settings
PluginsApi InstallPlugin POST /plugins/upload Install Plugin
PluginsApi InstallPluginFromRegistry POST /plugins/upload/registry Install Plugin From Registry
PluginsApi ListAvailablePlugins GET /plugins List Available Plugins
PluginsApi TogglePlugin PUT /plugins/toggle/{plugin_id} Toggle Plugin
PluginsApi UpsertPluginSettings PUT /plugins/settings/{plugin_id} Upsert Plugin Settings
RabbitHoleApi GetAllowedMimetypes GET /rabbithole/allowed-mimetypes Get Allowed Mimetypes
RabbitHoleApi UploadFile POST /rabbithole Upload File
RabbitHoleApi UploadMemory POST /rabbithole/memory Upload Memory
RabbitHoleApi UploadUrl POST /rabbithole/web Upload URL
SettingsApi CreateSetting POST /settings Create Setting
SettingsApi DeleteSetting DELETE /settings/{settingId} Delete Setting
SettingsApi GetSetting GET /settings/{settingId} Get Setting
SettingsApi GetSettings GET /settings Get Settings
SettingsApi UpdateSetting PUT /settings/{settingId} Update Setting
StatusApi Home GET / Home

Documentation for Models

Documentation for Authorization

Endpoints do not require authorization.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published