Hey Bereket. You can use the Manual logger for capturing calls to berock.
The only difference is that you need to register the request and send the logs manually. And some helicone features may not work.
Eg:
import { HeliconeManualLogger } from "@helicone/helicone";
import * as bedrock from "@aws-sdk/client-bedrock-runtime";
import util from "util";
const logger = new HeliconeManualLogger({
apiKey: process.env.HELICONE_PROD_KEY,
});
const client = new bedrock.BedrockRuntimeClient({
credentials: {
accessKeyId: "...",
secretAccessKey: "...",
},
region: "us-east-1",
});
const input = { // ConverseRequest
modelId: "meta.llama2-13b-chat-v1",
messages: [
{
role: "user",
content: [
{
text: "Hello wold, how are you doing?",
},
],
},
],
};
logger.registerRequest(input);
const command = new bedrock.ConverseCommand(input);
const response = await client.send(command);
console.log(util.inspect(response, { depth: null }));
logger.sendLog(response)