-
Posts
70 -
Joined
-
Last visited
Content Type
Profiles
Downloads
Forums
Store
Support
DOWNLOADS EXTRA
Services
Everything posted by GOO_
-
Changed Status from Pending to Closed
-
Can you contact me on Discord and share your logs securely please. "goo_gurt"
-
Sorry for the delayed response. I've been debating on how to answer this since I'm about to update the plugin and with the new version the method of giving context to the bot has changed a lot. So, for now with version 1.7.7 you can hard code info in the config in the content areas. However, in a few days this won't matter. I have completely overhauled the plugin. You will be able to generate bots and supply the plugin with data in multiple ways. A lot of info will be automatically retrieved and parsed into the AI's knowledgebase for you.
-
Changed Status from Pending to Closed
-
As an advocate of open access online I do feel for you and want you to have access to OpenAI's services but there is nothing I can do at the moment. I suggest you find an AI provider that uses the same OpenAI protocols and simply swap that API endpoint into the code. I don't know what LLMs are not blocked in your country so that's something I'd ask you to research and share with me. Ill be sure to disseminate that info for you and your countrymen. Hopefully, in the near future the censorship is reconsidered by your government. Especially with the rapidly changing political environment surrounding AI.
-
Is OpenAI restricted in the country your server is located?
-
Changed Status from Pending to Closed Changed Fixed In to Next Version
-
Please contact me on discord and we will fix this issue together. https://discord.gg/EQNPBxdjRu
-
Changed Status from Pending to Work in Progress Changed Fixed In to 1.7.7
-
Ill take a look.
-
Changed Status from Pending to Can't Reproduce
-
random server freeze when players get killed or F1 kill
GOO_ replied to oldmenrust's Support Request in Support
Changed Status from Pending to Can't Reproduce -
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.
-
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
-
Version 1.0.1
72 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/introductionFree -
Changed Status from Work in Progress to Closed
-
It's an error from openAi. Check your API key.
-
Changed Status from Pending to Work in Progress Changed Fixed In to Next Version
-
Changed Status from Pending to Closed
-
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.
-
I will be updating the plugin tonight.