Feat/add ruby sdk (#583)
This commit is contained in:
parent
ecd6cbaee6
commit
cb6e73347e
15 changed files with 460 additions and 2 deletions
111
sdks/ruby-client/README.md
Normal file
111
sdks/ruby-client/README.md
Normal file
|
|
@ -0,0 +1,111 @@
|
|||
# DifyClient
|
||||
|
||||
Welcome to the DifyClient gem! This gem provides a Ruby client for interacting with the Dify.ai API. It allows you to perform various actions such as sending requests, providing feedback, creating completion messages, managing conversations, and more.
|
||||
|
||||
## Installation
|
||||
|
||||
Add this line to your application's Gemfile:
|
||||
|
||||
```ruby
|
||||
gem 'dify_client'
|
||||
```
|
||||
|
||||
And then execute:
|
||||
|
||||
$ bundle install
|
||||
|
||||
Or install it yourself as:
|
||||
|
||||
$ gem install dify_client
|
||||
|
||||
## Usage
|
||||
|
||||
To use the DifyClient gem, follow these steps:
|
||||
|
||||
1 Require the gem:
|
||||
|
||||
```ruby
|
||||
require 'dify_client'
|
||||
```
|
||||
2 Create a new client instance:
|
||||
|
||||
```ruby
|
||||
api_key = 'YOUR_API_KEY'
|
||||
client = DifyClient::Client.new(api_key)
|
||||
```
|
||||
|
||||
3 Use the available methods to interact with the Dify.ai API. Here are the methods provided by the DifyClient::Client class:
|
||||
|
||||
### Update API Key
|
||||
|
||||
```ruby
|
||||
client.update_api_key('NEW_API_KEY')
|
||||
```
|
||||
Updates the API key used by the client.
|
||||
|
||||
### Message Feedback
|
||||
|
||||
```ruby
|
||||
client.message_feedback(message_id, rating, user)
|
||||
```
|
||||
|
||||
Submits feedback for a specific message identified by `message_id`. The `rating` parameter should be the rating value, and `user` is the user identifier.
|
||||
|
||||
### Get Application Parameters
|
||||
|
||||
```ruby
|
||||
client.get_application_parameters(user)
|
||||
```
|
||||
|
||||
### Create Completion Message
|
||||
|
||||
```ruby
|
||||
client.create_completion_message(inputs, query, user, stream = false)
|
||||
```
|
||||
|
||||
Creates a completion message with the provided `inputs`, `query`, and `user`. The stream parameter is optional and set to `false` by default. Set it to `true` to enable streaming response mode.
|
||||
|
||||
|
||||
### Create Chat Message
|
||||
|
||||
```ruby
|
||||
client.create_chat_message(inputs, query, user, stream = false, conversation_id = nil)
|
||||
```
|
||||
|
||||
Creates a chat message with the provided `inputs`, `query`, and `user`. The stream parameter is optional and set to `false` by default. Set it to `true` to enable streaming response mode. The `conversation_id` parameter is optional and can be used to specify the conversation ID.
|
||||
|
||||
### Get Conversations
|
||||
|
||||
```ruby
|
||||
client.get_conversations(user, first_id = nil, limit = nil, pinned = nil)
|
||||
```
|
||||
Retrieves the conversations for a given `user`. You can provide `first_id`, `limit`, and `pinned` parameters to customize the retrieval.
|
||||
|
||||
### Rename Conversation
|
||||
|
||||
```ruby
|
||||
client.rename_conversation(conversation_id, name, user)
|
||||
```
|
||||
Renames a conversation identified by conversatio`n_id with the provided `name` for the given `user`.
|
||||
|
||||
### Delete Conversation
|
||||
|
||||
```ruby
|
||||
client.delete_conversation(conversation_id, user)
|
||||
```
|
||||
Deletes a conversation identified by `conversation_id` for the given `user`.
|
||||
|
||||
## Development
|
||||
|
||||
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
||||
|
||||
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run` bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the .gem file to rubygems.org.
|
||||
|
||||
|
||||
## Contributing
|
||||
|
||||
Bug reports and pull requests are welcome on GitHub at [https://github.com/langgenius/dify/issues](https://github.com/langgenius/dify/issues).
|
||||
|
||||
## License
|
||||
|
||||
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
||||
Loading…
Add table
Add a link
Reference in a new issue