Module: BlackmanClient

Defined in:
lib/blackman_client/version.rb,
lib/blackman_client.rb,
lib/blackman_client/api_error.rb,
lib/blackman_client/api_client.rb,
lib/blackman_client/models/usage.rb,
lib/blackman_client/configuration.rb,
lib/blackman_client/models/choice.rb,
lib/blackman_client/models/message.rb,
lib/blackman_client/models/provider.rb,
lib/blackman_client/api/feedback_api.rb,
lib/blackman_client/models/image_url.rb,
lib/blackman_client/api/completions_api.rb,
lib/blackman_client/models/content_part.rb,
lib/blackman_client/api/semantic_cache_api.rb,
lib/blackman_client/models/message_content.rb,
lib/blackman_client/models/completion_options.rb,
lib/blackman_client/models/completion_request.rb,
lib/blackman_client/models/completion_response.rb,
lib/blackman_client/models/content_part_one_of.rb,
lib/blackman_client/models/invalidate_response.rb,
lib/blackman_client/models/content_part_one_of1.rb,
lib/blackman_client/models/semantic_cache_stats.rb,
lib/blackman_client/models/semantic_cache_config.rb,
lib/blackman_client/models/submit_feedback_request.rb,
lib/blackman_client/models/submit_feedback_response.rb

Overview

#Blackman AI API

#A transparent AI API proxy that optimizes token usage to reduce costs. ## Authentication Blackman AI supports two authentication methods: ### 1. API Key (Recommended for integrations) Use the API key created from your dashboard: “‘bash curl -X POST app.useblackman.ai/v1/completions \ -H "Authorization: Bearer sk_your_api_key_here" \ -H "Content-Type: application/json" \ -d ’"OpenAI", "model": "gpt-4", "messages": [{"role": "user", "content": "Hello!"]}‘ “` ### 2. JWT Token (For web UI) Obtain a JWT token by logging in: “`bash curl -X POST app.useblackman.ai/v1/auth/login \ -H "Content-Type: application/json" \ -d ’"[email protected]", "password": "yourpassword"‘ “` Then use the token: “`bash curl -X POST app.useblackman.ai/v1/completions \ -H "Authorization: Bearer your_jwt_token" \ -H "Content-Type: application/json" \ -d ’…‘ “` ### Provider API Keys (Optional) You can optionally provide your own LLM provider API key via the X-Provider-Api-Key header, or store it in your account settings. ## Client SDKs Auto-generated SDKs are available for 10 languages: - TypeScript: [View Docs](github.com/blackman-ai/typescript-sdk) - Python: [View Docs](github.com/blackman-ai/python-sdk) - Go: [View Docs](github.com/blackman-ai/go-sdk) - Java: [View Docs](github.com/blackman-ai/java-sdk) - Ruby: [View Docs](github.com/blackman-ai/ruby-sdk) - PHP: [View Docs](github.com/blackman-ai/php-sdk) - **C#**: [View Docs](github.com/blackman-ai/csharp-sdk) - Rust: [View Docs](github.com/blackman-ai/rust-sdk) - Swift: [View Docs](github.com/blackman-ai/swift-sdk) - Kotlin: [View Docs](github.com/blackman-ai/kotlin-sdk) All SDKs are generated from this OpenAPI spec using [openapi-generator](openapi-generator.tech). ## Quick Start “`python # Python example with API key import blackman_client from blackman_client import CompletionRequest configuration = blackman_client.Configuration( host="localhost:8080", access_token="sk_your_api_key_here" # Your Blackman API key ) with blackman_client.ApiClient(configuration) as api_client: api = blackman_client.CompletionsApi(api_client) response = api.completions( CompletionRequest( provider="OpenAI", model="gpt-4o", messages=["user", "content": "Hello!"] ) ) “`

The version of the OpenAPI document: 0.1.0

Generated by: openapi-generator.tech Generator version: 7.14.0

Defined Under Namespace

Modules: ContentPart, MessageContent Classes: ApiClient, ApiError, Choice, CompletionOptions, CompletionRequest, CompletionResponse, CompletionsApi, Configuration, ContentPartOneOf, ContentPartOneOf1, FeedbackApi, ImageUrl, InvalidateResponse, Message, Provider, SemanticCacheApi, SemanticCacheConfig, SemanticCacheStats, SubmitFeedbackRequest, SubmitFeedbackResponse, Usage

Constant Summary collapse

VERSION =
'0.0.10'

Class Method Summary collapse

Class Method Details

.configureObject

Customize default settings for the SDK using block.

BlackmanClient.configure do |config|
  config.username = "xxx"
  config.password = "xxx"
end

If no block given, return the default Configuration object.



51
52
53
54
55
56
57
# File 'lib/blackman_client.rb', line 51

def configure
  if block_given?
    yield(Configuration.default)
  else
    Configuration.default
  end
end