0xPlaygrounds / rig

A library for developing LLM-powered Rust applications.
https://rig.rs
MIT License
81 stars 3 forks source link

feat: Add support for Anthropic models #3

Open cvauclair opened 2 weeks ago

cvauclair commented 2 weeks ago

Feature Request

Add Anthropic as a new model provider for Rig.

Motivation

Anthropic (and its model Claude) is a popular model provider that Rig should support.

Proposal

Create a new module rig::providers::anthropic which should roughly contain the following:

// src/providers/anthropic.rs
struct Client {
  // TODO
}

struct CompletionRequest {
  // Modeled after Anthropic API
  // TODO
}

impl From<completion::CompletionRequest> for CompletionRequest {
  // TODO
}

struct CompletionResponse {
  // Modeled after Anthropic API
  // TODO
}

impl From<CompletionResponse> for completion::CompletionResponse<CompletionResponse> {
  // TODO
}

struct CompletionModel {
  // TODO
}

impl completion::CompletionModel for CompletionModel {
  // TODO
}

Note: Use the existing provider integrations as a guide (see rig::providers::openai and rig::providers::cohere).