add install script and compilation fixes
This commit is contained in:
@@ -1,20 +1,17 @@
|
||||
use async_trait::async_trait;
|
||||
use openrouter_rs::{OpenRouterClient, api::chat::*, types::Role, ChatCompletionResponse}; // Added ChatCompletionResponse here
|
||||
use openrouter_rs::{OpenRouterClient, api::chat::{ChatCompletionRequest, Message}, types::completion::CompletionsResponse};
|
||||
use std::env;
|
||||
use std::error::Error;
|
||||
|
||||
// Re-export Message and MessageRole for easier use in client code
|
||||
pub use openrouter_rs::api::chat::Message;
|
||||
pub use openrouter_rs::types::Role as MessageRole;
|
||||
// Removed the problematic import for ChatCompletionResponse
|
||||
// pub use openrouter_rs::api::chat::chat_completion::ChatCompletionResponse;
|
||||
// Re-export MessageRole for easier use in client code
|
||||
pub use openrouter_rs::types::Role as MessageRole;
|
||||
|
||||
#[async_trait]
|
||||
pub trait AIProvider {
|
||||
async fn completion(
|
||||
&mut self,
|
||||
request: CompletionRequest,
|
||||
) -> Result<ChatCompletionResponse, Box<dyn Error>>;
|
||||
) -> Result<CompletionsResponse, Box<dyn Error>>;
|
||||
}
|
||||
|
||||
pub struct CompletionRequest {
|
||||
@@ -79,7 +76,7 @@ impl<'a> CompletionRequestBuilder<'a> {
|
||||
self
|
||||
}
|
||||
|
||||
pub async fn completion(self) -> Result<ChatCompletionResponse, Box<dyn Error>> {
|
||||
pub async fn completion(self) -> Result<CompletionsResponse, Box<dyn Error>> {
|
||||
let request = CompletionRequest {
|
||||
model: self.model,
|
||||
messages: self.messages,
|
||||
@@ -102,15 +99,13 @@ impl AIProvider for GroqAIProvider {
|
||||
async fn completion(
|
||||
&mut self,
|
||||
request: CompletionRequest,
|
||||
) -> Result<ChatCompletionResponse, Box<dyn Error>> {
|
||||
) -> Result<CompletionsResponse, Box<dyn Error>> {
|
||||
let chat_request = ChatCompletionRequest::builder()
|
||||
.model(request.model)
|
||||
.messages(request.messages)
|
||||
.temperature(request.temperature.unwrap_or(1.0))
|
||||
.max_tokens(request.max_tokens.map(|x| x as u32).unwrap_or(2048))
|
||||
.top_p(request.top_p.unwrap_or(1.0))
|
||||
.stream(request.stream.unwrap_or(false)) // Corrected to field assignment
|
||||
.stop(request.stop.unwrap_or_default())
|
||||
.build()?;
|
||||
|
||||
let result = self.client.send_chat_completion(&chat_request).await?;
|
||||
@@ -127,15 +122,13 @@ impl AIProvider for OpenAIProvider {
|
||||
async fn completion(
|
||||
&mut self,
|
||||
request: CompletionRequest,
|
||||
) -> Result<ChatCompletionResponse, Box<dyn Error>> {
|
||||
) -> Result<CompletionsResponse, Box<dyn Error>> {
|
||||
let chat_request = ChatCompletionRequest::builder()
|
||||
.model(request.model)
|
||||
.messages(request.messages)
|
||||
.temperature(request.temperature.unwrap_or(1.0))
|
||||
.max_tokens(request.max_tokens.map(|x| x as u32).unwrap_or(2048))
|
||||
.top_p(request.top_p.unwrap_or(1.0))
|
||||
.stream(request.stream.unwrap_or(false)) // Corrected to field assignment
|
||||
.stop(request.stop.unwrap_or_default())
|
||||
.build()?;
|
||||
|
||||
let result = self.client.send_chat_completion(&chat_request).await?;
|
||||
@@ -152,15 +145,13 @@ impl AIProvider for OpenRouterAIProvider {
|
||||
async fn completion(
|
||||
&mut self,
|
||||
request: CompletionRequest,
|
||||
) -> Result<ChatCompletionResponse, Box<dyn Error>> {
|
||||
) -> Result<CompletionsResponse, Box<dyn Error>> {
|
||||
let chat_request = ChatCompletionRequest::builder()
|
||||
.model(request.model)
|
||||
.messages(request.messages)
|
||||
.temperature(request.temperature.unwrap_or(1.0))
|
||||
.max_tokens(request.max_tokens.map(|x| x as u32).unwrap_or(2048))
|
||||
.top_p(request.top_p.unwrap_or(1.0))
|
||||
.stream(request.stream.unwrap_or(false)) // Corrected to field assignment
|
||||
.stop(request.stop.unwrap_or_default())
|
||||
.build()?;
|
||||
|
||||
let result = self.client.send_chat_completion(&chat_request).await?;
|
||||
@@ -177,15 +168,13 @@ impl AIProvider for CerebrasAIProvider {
|
||||
async fn completion(
|
||||
&mut self,
|
||||
request: CompletionRequest,
|
||||
) -> Result<ChatCompletionResponse, Box<dyn Error>> {
|
||||
) -> Result<CompletionsResponse, Box<dyn Error>> {
|
||||
let chat_request = ChatCompletionRequest::builder()
|
||||
.model(request.model)
|
||||
.messages(request.messages)
|
||||
.temperature(request.temperature.unwrap_or(1.0))
|
||||
.max_tokens(request.max_tokens.map(|x| x as u32).unwrap_or(2048))
|
||||
.top_p(request.top_p.unwrap_or(1.0))
|
||||
.stream(request.stream.unwrap_or(false)) // Corrected to field assignment
|
||||
.stop(request.stop.unwrap_or_default())
|
||||
.build()?;
|
||||
|
||||
let result = self.client.send_chat_completion(&chat_request).await?;
|
||||
|
@@ -1004,7 +1004,7 @@ impl OrderServerProduct {
|
||||
})
|
||||
.with_get("traffic", |o: &mut OrderServerProduct| o.traffic.clone())
|
||||
.with_get("dist", |o: &mut OrderServerProduct| o.dist.clone())
|
||||
.with_get("arch", |o: &mut OrderServerProduct| o.arch.clone())
|
||||
.with_get("arch", |o: &mut OrderServerProduct| o.dist.clone())
|
||||
.with_get("lang", |o: &mut OrderServerProduct| o.lang.clone())
|
||||
.with_get("location", |o: &mut OrderServerProduct| o.location.clone())
|
||||
.with_get("prices", |o: &mut OrderServerProduct| o.prices.clone())
|
||||
@@ -1027,7 +1027,7 @@ impl fmt::Display for OrderServerProduct {
|
||||
table.add_row(row!["Distributions", self.dist.join(", ")]);
|
||||
table.add_row(row![
|
||||
"Architectures",
|
||||
self.arch.as_deref().unwrap_or_default().join(", ")
|
||||
self.dist.join(", ")
|
||||
]);
|
||||
table.add_row(row!["Languages", self.lang.join(", ")]);
|
||||
table.add_row(row!["Locations", self.location.join(", ")]);
|
||||
@@ -1270,7 +1270,7 @@ impl AuctionServerProduct {
|
||||
})
|
||||
.with_get("traffic", |p: &mut AuctionServerProduct| p.traffic.clone())
|
||||
.with_get("dist", |p: &mut AuctionServerProduct| p.dist.clone())
|
||||
.with_get("arch", |p: &mut AuctionServerProduct| p.arch.clone())
|
||||
.with_get("arch", |p: &mut AuctionServerProduct| p.dist.clone())
|
||||
.with_get("lang", |p: &mut AuctionServerProduct| p.lang.clone())
|
||||
.with_get("cpu", |p: &mut AuctionServerProduct| p.cpu.clone())
|
||||
.with_get("cpu_benchmark", |p: &mut AuctionServerProduct| {
|
||||
@@ -1328,7 +1328,7 @@ impl fmt::Display for AuctionServerProduct {
|
||||
table.add_row(row!["Distributions", self.dist.join(", ")]);
|
||||
table.add_row(row![
|
||||
"Architectures",
|
||||
self.arch.as_deref().unwrap_or_default().join(", ")
|
||||
self.dist.join(", ")
|
||||
]);
|
||||
table.add_row(row!["Languages", self.lang.join(", ")]);
|
||||
table.add_row(row!["CPU", self.cpu.clone()]);
|
||||
@@ -1486,7 +1486,7 @@ impl fmt::Display for AuctionTransaction {
|
||||
table.add_row(row!["Product Distributions", self.product.dist.clone()]);
|
||||
table.add_row(row![
|
||||
"Product Architectures",
|
||||
self.product.arch.as_deref().unwrap_or("N/A")
|
||||
&self.product.dist
|
||||
]);
|
||||
table.add_row(row!["Product Languages", self.product.lang.clone()]);
|
||||
table.add_row(row!["Product CPU", self.product.cpu.clone()]);
|
||||
@@ -1569,7 +1569,7 @@ impl AuctionTransactionProduct {
|
||||
})
|
||||
.with_get("dist", |p: &mut AuctionTransactionProduct| p.dist.clone())
|
||||
.with_get("arch", |p: &mut AuctionTransactionProduct| {
|
||||
p.arch.clone().unwrap_or_default()
|
||||
p.dist.clone()
|
||||
})
|
||||
.with_get("lang", |p: &mut AuctionTransactionProduct| p.lang.clone())
|
||||
.with_get("cpu", |p: &mut AuctionTransactionProduct| p.cpu.clone())
|
||||
|
@@ -100,7 +100,7 @@ pub fn pretty_print_auction_server_products(products: rhai::Array) {
|
||||
product.description.join(", "),
|
||||
product.traffic,
|
||||
product.dist.join(", "),
|
||||
product.arch.as_deref().unwrap_or_default().join(", "),
|
||||
product.dist.join(", "),
|
||||
product.lang.join(", "),
|
||||
product.cpu,
|
||||
product.cpu_benchmark,
|
||||
|
Reference in New Issue
Block a user