Jump to content

GOO_

Creator
  • Posts

    83
  • Joined

  • Last visited

Everything posted by GOO_

  1. Changed Status from Pending to Can't Reproduce
  2. GOO_

    OpenAI Integration

    I guess that is a matter of perspective. From what I'm told by users it is not expensive. You can also restrict how many tokens your plugins use in the API call. Honestly gpt-4o is so cheap i didn't even consider the costs recently. Anyway, I'll be updating RustGPT to also use Groq which is free at the moment.
  3. GOO_

    OpenAI Integration

    I'll be updating RustGPT to use this as a dependency soon. Also a few other plugins I am developing (eventually) will use this. However if you want to get started you can easily make your own version of RustGPT to get a better understanding of how the tech works. There is ample documentation on the platform.openai.com site. You can also message me on discord if you need help. https://discord.gg/EQNPBxdjRu
  4. Version 1.0.1

    82 downloads

    For developers to integrate OpenAI endpoints into their plugins. Features API Key Verification: Automatically verifies the provided OpenAI API key. Chat Commands: Provides in-game commands for administrators to interact with the OpenAI API. Model Listing: Fetches and lists available models from OpenAI. Chat Completions: Handles chat-based interactions with OpenAI's language models. Configuration { "DefaultAssistantModel": { "max_completion_tokens": 150, "max_prompt_tokens": 150, "Model": "gpt-4o" }, "DefaultCompletionsModel": { "MaxTokens": 150, "Model": "gpt-4o" }, "OpenAI_Api_Key": { "OpenAI API Key": "your-api-key-here" } } Commands /openaitest Tests the connection to the OpenAI API using a predefined message. Only available to administrators. /listmodels Fetches and lists all available models from the OpenAI API. Only available to administrators. Public Methods There are two main API interactions through the completions and the assistant API. Completions_SimpleChat Example of Completions_SimpleChat - Creates a simple chat interaction with OpenAI. private void AskGptCommand(BasePlayer player, string command, string[] args) { if (!permission.UserHasPermission(player.UserIDString, "RustGPT.chat")) { player.ChatMessage("<color=#ff0000>You do not have permission to use this command.</color>"); return; } if (args.Length == 0) { player.ChatMessage("Usage: /askgpt <your question>"); return; } if (!HasCooldownElapsed(player)) { return; } var userMessage = string.Join(" ", args); var messages = new List<object> { new { role = "system", content = _config.DefaultContent }, new { role = "user", content = userMessage } }; player.ChatMessage("Sending your message to OpenAI..."); OpenAI?.Call("Completions_SimpleChat", messages, (System.Action<JObject>)((response) => { if (response != null && response["choices"] != null && response["choices"].HasValues) { string GPT_Chat_Reply = response["choices"][0]["message"]["content"].ToString().Trim(); if (GPT_Chat_Reply.Length > 1200) { CreateNotesForResponse(player, GPT_Chat_Reply); } else { SendChatMessageInChunks(player, $"<color={_config.ReplyPrefixColor}>{_config.ReplyPrefix}</color> {GPT_Chat_Reply}", 250); } } else { player.ChatMessage("<color=#ff0000>Failed to get a valid response from OpenAI. Please try again later.</color>"); } })); } Assistant_CreateAssistant [HookMethod("Assistant_CreateAssistant")] public void Assistant_CreateAssistant(string name = null, string description = null, string instructions = null, List<object> tools = null, object toolResources = null, Dictionary<string, string> metadata = null, double? temperature = null, double? topP = null, object responseFormat = null, Action<JObject> callback = null) Example: var openAIPlugin = (OpenAI)plugins.Find("OpenAI"); openAIPlugin.Assistant_CreateAssistant("MyAssistant", "An assistant for my game", "You are a helpful assistant.", null, null, null, null, null, null, response => { if (response != null) { Puts("Assistant created successfully: " + response.ToString()); } else { Puts("Failed to create assistant."); } }); Assistant_CreateVectorStore Example use of Assistant_CreateVectorStore to save chat interactions in the OpenAI platform using the Assistants API. var openAIPlugin = (OpenAI)plugins.Find("OpenAI"); List<string> fileIds = new List<string>(); // Initially, no file IDs string name = "OpenAIChatHistory"; object expiresAfter = DateTime.UtcNow.AddDays(30); // Expires after 30 days object chunkingStrategy = null; // Define your chunking strategy if any Dictionary<string, string> metadata = new Dictionary<string, string> { { "game", "Rust" }, { "description", "Vector store for storing chat interactions with OpenAI" } }; openAIPlugin.Assistant_CreateVectorStore(fileIds, name, expiresAfter, chunkingStrategy, metadata, response => { if (response != null) { Puts("Vector store created successfully: " + response.ToString()); } else { Puts("Failed to create vector store."); } }); Pubic Methods FetchModels Completions_CreateChat Completions_SimpleChat Assistant_CreateAssistant CreateThread RetrieveThread ModifyThread DeleteThread Assistant_CreateMessage Assistant_ListMessages Assistant_RetrieveMessage Assistant_ModifyMessage Assistant_DeleteMessage Assistant_CreateRun Assistant_CreateThreadAndRun Assistant_ListRuns Assistant_RetrieveRun Assistant_ModifyRun Assistant_CancelRun Assistant_ListRunSteps Assistant_RetrieveRunStep Assistant_CreateVectorStore Assistant_ListVectorStores Assistant_RetrieveVectorStore Assistant_ModifyVectorStore Assistant_DeleteVectorStore Assistant_SubmitToolOutput All of these interactions are built using the OpenAI platform as a scaffold. Using the OpenAI documentation you can see response examples for all of the available methods. https://platform.openai.com/docs/api-reference/introduction
    Free
  5. Changed Status from Work in Progress to Closed
  6. It's an error from openAi. Check your API key.
  7. GOO_

    Rust GPT

    @Covfefe can you start a support thread so I can better help you?
  8. Changed Status from Pending to Work in Progress Changed Fixed In to Next Version
  9. Changed Status from Pending to Closed
  10. I'm updating the plugin tonight but I can't make any promises of the death commentary working with multiple plugins. After this update Ill try and work in fixes for popular plugins that have zombies and special turrets, etc.
  11. I will be updating the plugin tonight.
  12. GOO_

    Rust GPT

    I tried doing this a few months ago and it was way too janky. I'll try again though. I need someone smarter than myself to help me out with that.
  13. GOO_

    Rust GPT

    I don't know yet. I'm sure you can but I haven't had time to play with the assistants yet. They require their own files so I have to play around with them.
  14. GOO_

    Request: SteamID chat icon

    Changed Status from Pending to Closed
  15. GOO_

    main class not found?

    Changed Status from Pending to Closed
  16. GOO_

    config help

    Changed Status from Pending to Closed
  17. GOO_

    add Steam avatar?

    Changed Status from Pending to Closed
  18. GOO_

    Request: Rustcord support

    Changed Status from Pending to Closed
  19. Changed Status from Pending to Closed
  20. Changed Status from Pending to Closed Changed Fixed In to 1.7.6
  21. GOO_

    Certain Suicide Support

    Changed Status from Pending to Closed
  22. GOO_

    Stopped working

    Changed Status from Pending to Not a Bug
  23. GOO_

    Craft Menu

    One of my favorite plugins. Seamlessly incorporates itself into existing UI. Really nice!
  24. GOO_

    Too Many Requests.

    Changed Status from Work in Progress to Closed
  25. GOO_

    Too Many Requests.

    Have no fear. I am working on a patch to make more "rust player friendly" Let me know what you like or dont like so I can consider changes in the near future.
1.7m

Downloads

Total number of downloads.

8k

Customers

Total customers served.

121.3k

Files Sold

Total number of files sold.

2.5m

Payments Processed

Total payments processed.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.