Giter Club home page Giter Club logo

api-client-csharp's Introduction

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.

api-client-csharp's People

Contributors

nicola-corbellini avatar

Stargazers

 avatar

Watchers

Piero Savastano avatar  avatar Daniele Nicosia avatar  avatar

Forkers

lee-b

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.