Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
D
dify
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ai-tech
dify
Commits
36080fe3
Unverified
Commit
36080fe3
authored
Aug 09, 2023
by
crazywoola
Committed by
GitHub
Aug 09, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: add missing code (#788)
parent
a510f321
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
1 addition
and
92 deletions
+1
-92
dify_client.gemspec
sdks/ruby-client/dify_client.gemspec
+1
-1
client.rb
sdks/ruby-client/dify_client/client.rb
+0
-91
No files found.
sdks/ruby-client/dify_client.gemspec
View file @
36080fe3
# frozen_string_literal: true
require_relative
"lib/
dify_client/
version"
require_relative
"lib/version"
Gem
::
Specification
.
new
do
|
spec
|
spec
.
name
=
"dify_client"
...
...
sdks/ruby-client/dify_client/client.rb
deleted
100644 → 0
View file @
a510f321
require
'net/http'
require
'json'
require
'uri'
class
DifyClient
def
initialize
(
api_key
)
@api_key
=
api_key
@base_url
=
"https://api.dify.ai/v1"
end
def
_send_request
(
method
,
endpoint
,
data
=
nil
,
params
=
nil
,
stream
=
false
)
uri
=
URI
.
parse
(
"
#{
@base_url
}#{
endpoint
}
"
)
http
=
Net
::
HTTP
.
new
(
uri
.
host
,
uri
.
port
)
http
.
use_ssl
=
true
headers
=
{
"Authorization"
=>
"Bearer
#{
@api_key
}
"
,
"Content-Type"
=>
"application/json"
}
if
method
==
"GET"
uri
.
query
=
URI
.
encode_www_form
(
params
)
if
params
request
=
Net
::
HTTP
::
Get
.
new
(
uri
.
request_uri
,
headers
)
elsif
method
==
"POST"
request
=
Net
::
HTTP
::
Post
.
new
(
uri
.
request_uri
,
headers
)
request
.
body
=
data
.
to_json
end
response
=
http
.
request
(
request
)
return
response
end
def
message_feedback
(
message_id
,
rating
,
user
)
data
=
{
rating:
rating
,
user:
user
}
return
_send_request
(
"POST"
,
"/messages/
#{
message_id
}
/feedbacks"
,
data
)
end
def
get_application_parameters
(
user
)
params
=
{
user:
user
}
return
_send_request
(
"GET"
,
"/parameters"
,
nil
,
params
)
end
end
class
CompletionClient
<
DifyClient
def
create_completion_message
(
inputs
,
query
,
response_mode
,
user
)
data
=
{
inputs:
inputs
,
query:
query
,
response_mode:
response_mode
,
user:
user
}
return
_send_request
(
"POST"
,
"/completion-messages"
,
data
,
nil
,
response_mode
==
"streaming"
)
end
end
class
ChatClient
<
DifyClient
def
create_chat_message
(
inputs
,
query
,
user
,
response_mode
=
"blocking"
,
conversation_id
=
nil
)
data
=
{
inputs:
inputs
,
query:
query
,
user:
user
,
response_mode:
response_mode
}
data
[
:conversation_id
]
=
conversation_id
if
conversation_id
return
_send_request
(
"POST"
,
"/chat-messages"
,
data
,
nil
,
response_mode
==
"streaming"
)
end
def
get_conversation_messages
(
user
,
conversation_id
=
nil
,
first_id
=
nil
,
limit
=
nil
)
params
=
{
user:
user
}
params
[
:conversation_id
]
=
conversation_id
if
conversation_id
params
[
:first_id
]
=
first_id
if
first_id
params
[
:limit
]
=
limit
if
limit
return
_send_request
(
"GET"
,
"/messages"
,
nil
,
params
)
end
def
get_conversations
(
user
,
last_id
=
nil
,
limit
=
nil
,
pinned
=
nil
)
params
=
{
user:
user
,
last_id:
last_id
,
limit:
limit
,
pinned:
pinned
}
return
_send_request
(
"GET"
,
"/conversations"
,
nil
,
params
)
end
def
rename_conversation
(
conversation_id
,
name
,
user
)
data
=
{
name:
name
,
user:
user
}
return
_send_request
(
"POST"
,
"/conversations/
#{
conversation_id
}
/name"
,
data
)
end
end
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment