Skip to content

Commit

Permalink
Updated simple llms
Browse files Browse the repository at this point in the history
  • Loading branch information
kgrofelnik committed Jul 2, 2024
1 parent 013c4d5 commit 8ada670
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 27 deletions.
33 changes: 18 additions & 15 deletions contracts/contracts/AnthropicSimpleLLM.sol
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,7 @@ import "./interfaces/IOracle.sol";

contract SimpleLLM {
address private oracleAddress; // use latest: https://docs.galadriel.com/oracle-address
uint private runId = 0;
string public message;
IOracle.Message public message;
string public response;
IOracle.LlmRequest private config;

Expand All @@ -32,8 +31,8 @@ contract SimpleLLM {
}

function sendMessage(string memory _message) public {
message = _message;
IOracle(oracleAddress).createLlmCall(runId, config);
message = createTextMessage("user", _message);
IOracle(oracleAddress).createLlmCall(0, config);
}

// required for Oracle
Expand All @@ -43,9 +42,7 @@ contract SimpleLLM {
string memory _errorMessage
) public {
require(msg.sender == oracleAddress, "Caller is not oracle");
if (
bytes(_errorMessage).length > 0
) {
if (bytes(_errorMessage).length > 0) {
response = _errorMessage;
} else {
response = _response.content;
Expand All @@ -56,16 +53,22 @@ contract SimpleLLM {
function getMessageHistory(
uint /*_runId*/
) public view returns (IOracle.Message[] memory) {
IOracle.Message[] memory messages = new IOracle.Message[](1);
messages[0] = message;
return messages;
}

// @notice Creates a text message with the given role and content
// @param role The role of the message
// @param content The content of the message
// @return The created message
function createTextMessage(string memory role, string memory content) private pure returns (IOracle.Message memory) {
IOracle.Message memory newMessage = IOracle.Message({
role: "user",
role: role,
content: new IOracle.Content[](1)
});
newMessage.content[0] = IOracle.Content({
contentType: "text",
value: message
});
IOracle.Message[] memory newMessages = new IOracle.Message[](1);
newMessages[0] = newMessage;
return newMessages;
newMessage.content[0].contentType = "text";
newMessage.content[0].value = content;
return newMessage;
}
}
29 changes: 17 additions & 12 deletions contracts/contracts/GroqSimpleLLM.sol
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,7 @@ import "./interfaces/IOracle.sol";

contract GroqSimpleLLM {
address private oracleAddress; // use latest: https://docs.galadriel.com/oracle-address
uint private runId = 0;
string public message;
IOracle.Message public message;
string public response;
IOracle.GroqRequest private config;

Expand All @@ -30,8 +29,8 @@ contract GroqSimpleLLM {
}

function sendMessage(string memory _message) public {
message = _message;
IOracle(oracleAddress).createGroqLlmCall(runId, config);
message = createTextMessage("user", _message);
IOracle(oracleAddress).createGroqLlmCall(0, config);
}

// required for Oracle
Expand All @@ -54,16 +53,22 @@ contract GroqSimpleLLM {
function getMessageHistory(
uint /*_runId*/
) public view returns (IOracle.Message[] memory) {
IOracle.Message[] memory messages = new IOracle.Message[](1);
messages[0] = message;
return messages;
}

// @notice Creates a text message with the given role and content
// @param role The role of the message
// @param content The content of the message
// @return The created message
function createTextMessage(string memory role, string memory content) private pure returns (IOracle.Message memory) {
IOracle.Message memory newMessage = IOracle.Message({
role: "user",
role: role,
content: new IOracle.Content[](1)
});
newMessage.content[0] = IOracle.Content({
contentType: "text",
value: message
});
IOracle.Message[] memory newMessages = new IOracle.Message[](1);
newMessages[0] = newMessage;
return newMessages;
newMessage.content[0].contentType = "text";
newMessage.content[0].value = content;
return newMessage;
}
}

0 comments on commit 8ada670

Please sign in to comment.