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
0a0cb6da
Commit
0a0cb6da
authored
Oct 11, 2023
by
takatost
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: bugs
parent
68d6bec1
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
16 additions
and
15 deletions
+16
-15
multi_dataset_router_agent.py
api/core/agent/agent/multi_dataset_router_agent.py
+5
-6
openai_function_call.py
api/core/agent/agent/openai_function_call.py
+10
-8
llm_chain.py
api/core/chain/llm_chain.py
+1
-1
No files found.
api/core/agent/agent/multi_dataset_router_agent.py
View file @
0a0cb6da
import
json
from
typing
import
Tuple
,
List
,
Any
,
Union
,
Sequence
,
Optional
,
cast
from
langchain.agents
import
OpenAIFunctionsAgent
,
BaseSingleActionAgent
from
langchain.agents.openai_functions_agent.base
import
_format_intermediate_steps
,
_parse_ai_message
from
langchain.agents.format_scratchpad
import
format_to_openai_functions
from
langchain.agents.output_parsers
import
OpenAIFunctionsAgentOutputParser
from
langchain.callbacks.base
import
BaseCallbackManager
from
langchain.callbacks.manager
import
Callbacks
from
langchain.prompts.chat
import
BaseMessagePromptTemplate
from
langchain.schema
import
AgentAction
,
AgentFinish
,
SystemMessage
,
Generation
,
LLMResult
,
AIMessage
from
langchain.schema.language_model
import
BaseLanguageModel
from
langchain.schema
import
AgentAction
,
AgentFinish
,
SystemMessage
,
AIMessage
from
langchain.tools
import
BaseTool
from
pydantic
import
root_validator
...
...
@@ -99,7 +98,7 @@ class MultiDatasetRouterAgent(OpenAIFunctionsAgent):
Returns:
Action specifying what tool to use.
"""
agent_scratchpad
=
_format_intermediate_step
s
(
intermediate_steps
)
agent_scratchpad
=
format_to_openai_function
s
(
intermediate_steps
)
selected_inputs
=
{
k
:
kwargs
[
k
]
for
k
in
self
.
prompt
.
input_variables
if
k
!=
"agent_scratchpad"
}
...
...
@@ -119,7 +118,7 @@ class MultiDatasetRouterAgent(OpenAIFunctionsAgent):
}
)
agent_decision
=
_parse_ai_message
(
ai_message
)
agent_decision
=
OpenAIFunctionsAgentOutputParser
.
_parse_ai_message
(
ai_message
)
return
agent_decision
async
def
aplan
(
...
...
api/core/agent/agent/openai_function_call.py
View file @
0a0cb6da
from
typing
import
List
,
Tuple
,
Any
,
Union
,
Sequence
,
Optional
from
langchain.adapters.openai
import
convert_message_to_dict
from
langchain.agents
import
OpenAIFunctionsAgent
,
BaseSingleActionAgent
from
langchain.agents.format_scratchpad
import
format_to_openai_functions
from
langchain.agents.output_parsers
import
OpenAIFunctionsAgentOutputParser
from
langchain.callbacks.base
import
BaseCallbackManager
from
langchain.callbacks.manager
import
Callbacks
from
langchain.chat_models.openai
import
_
convert_message_to_dict
,
_
import_tiktoken
from
langchain.chat_models.openai
import
_import_tiktoken
from
langchain.memory.prompt
import
SUMMARY_PROMPT
from
langchain.prompts.chat
import
BaseMessagePromptTemplate
from
langchain.schema
import
AgentAction
,
AgentFinish
,
SystemMessage
,
AIMessage
,
HumanMessage
,
BaseMessage
,
\
...
...
@@ -249,15 +250,16 @@ class AutoSummarizingOpenAIFunctionCallAgent(OpenAIFunctionsAgent, CalcTokenMixi
)
num_tokens
=
0
for
m
in
messages
:
message
=
_
convert_message_to_dict
(
m
)
message
=
convert_message_to_dict
(
m
)
num_tokens
+=
tokens_per_message
for
key
,
value
in
message
.
items
():
if
key
==
"function_call"
:
for
f_key
,
f_value
in
value
.
items
():
num_tokens
+=
len
(
encoding
.
encode
(
f_key
))
num_tokens
+=
len
(
encoding
.
encode
(
f_value
))
else
:
num_tokens
+=
len
(
encoding
.
encode
(
value
))
if
value
is
not
None
:
if
key
==
"function_call"
:
for
f_key
,
f_value
in
value
.
items
():
num_tokens
+=
len
(
encoding
.
encode
(
f_key
))
num_tokens
+=
len
(
encoding
.
encode
(
f_value
))
else
:
num_tokens
+=
len
(
encoding
.
encode
(
value
))
if
key
==
"name"
:
num_tokens
+=
tokens_per_name
...
...
api/core/chain/llm_chain.py
View file @
0a0cb6da
from
typing
import
List
,
Dict
,
Any
,
Optional
from
langchain
import
LLMChain
as
LCLLMChain
from
langchain
.chains.llm
import
LLMChain
as
LCLLMChain
from
langchain.callbacks.manager
import
CallbackManagerForChainRun
from
langchain.schema
import
LLMResult
,
Generation
from
langchain.schema.language_model
import
BaseLanguageModel
...
...
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