Project

lex-claude

0.0
No release in over 3 years
Connects LegionIO to the Claude Anthropic API
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Runtime

 Project Readme

lex-claude

Claude Anthropic API integration for LegionIO. Provides runners for creating messages, listing models, counting tokens, and managing message batches.

Installation

gem install lex-claude

Or add to your Gemfile:

gem 'lex-claude'

Functions

Messages

  • create - Create a message (chat completion) with Claude
  • count_tokens - Count input tokens for a message request

Models

  • list - List available Claude models
  • retrieve - Get details for a specific model

Batches

  • create_batch - Create an asynchronous message batch
  • list_batches - List message batches
  • retrieve_batch - Get details for a specific batch
  • cancel_batch - Cancel an in-progress batch
  • batch_results - Retrieve results for a completed batch

Configuration

Set your API key in your LegionIO settings:

{
  "claude": {
    "api_key": "sk-ant-..."
  }
}

Standalone Usage

require 'legion/extensions/claude/client'

client = Legion::Extensions::Claude::Client.new(api_key: ENV['ANTHROPIC_API_KEY'])

# Create a message
result = client.create(
  model: 'claude-opus-4-6',
  messages: [{ role: 'user', content: 'Hello, Claude!' }],
  max_tokens: 1024
)
puts result[:result]['content'].first['text']

# List models
models = client.list
puts models[:result]['data'].map { |m| m['id'] }

# Count tokens
tokens = client.count_tokens(
  model: 'claude-opus-4-6',
  messages: [{ role: 'user', content: 'How many tokens is this?' }]
)
puts tokens[:result]['input_tokens']

# Create an async batch
batch = client.create_batch(
  requests: [
    { custom_id: 'req-1', params: { model: 'claude-opus-4-6',
                                    messages: [{ role: 'user', content: 'Hello' }],
                                    max_tokens: 100 } }
  ]
)
puts batch[:result]['id']

Dependencies

  • faraday >= 2.0 - HTTP client
  • multi_json - JSON parser abstraction

Requirements

  • Ruby >= 3.4
  • LegionIO framework (optional for standalone client usage)
  • Anthropic API key

License

MIT