Commit ea801c10 authored by alex yao's avatar alex yao

feat:Agent插件-头条、抖音热榜

parent 07b5e6fa
...@@ -8,6 +8,8 @@ import cn.com.poc.thirdparty.resource.demand.ai.function.image_ocr.ImageOCRFunct ...@@ -8,6 +8,8 @@ import cn.com.poc.thirdparty.resource.demand.ai.function.image_ocr.ImageOCRFunct
import cn.com.poc.thirdparty.resource.demand.ai.function.long_memory.SetLongMemoryFunction; import cn.com.poc.thirdparty.resource.demand.ai.function.long_memory.SetLongMemoryFunction;
import cn.com.poc.thirdparty.resource.demand.ai.function.memory_variable_writer.MemoryVariableWriterFunction; import cn.com.poc.thirdparty.resource.demand.ai.function.memory_variable_writer.MemoryVariableWriterFunction;
import cn.com.poc.thirdparty.resource.demand.ai.function.notification_reminder.NotificationReminderFunction; import cn.com.poc.thirdparty.resource.demand.ai.function.notification_reminder.NotificationReminderFunction;
import cn.com.poc.thirdparty.resource.demand.ai.function.top_search.DouyinTopSearchFunction;
import cn.com.poc.thirdparty.resource.demand.ai.function.top_search.ToutiaoTopSearchFunction;
import cn.com.poc.thirdparty.resource.demand.ai.function.top_search.WeiboTopSearchFunction; import cn.com.poc.thirdparty.resource.demand.ai.function.top_search.WeiboTopSearchFunction;
import cn.com.poc.thirdparty.resource.demand.ai.function.web_seach.WebSearchFunction; import cn.com.poc.thirdparty.resource.demand.ai.function.web_seach.WebSearchFunction;
...@@ -23,6 +25,11 @@ public enum LargeModelFunctionEnum { ...@@ -23,6 +25,11 @@ public enum LargeModelFunctionEnum {
weibo_search_top(WeiboTopSearchFunction.class), weibo_search_top(WeiboTopSearchFunction.class),
notification_reminder(NotificationReminderFunction.class), notification_reminder(NotificationReminderFunction.class),
toutiao_search_top(ToutiaoTopSearchFunction.class),
douyin_search_top(DouyinTopSearchFunction.class),
bing_web_search(null), bing_web_search(null),
; ;
......
package cn.com.poc.thirdparty.resource.demand.ai.function.top_search;
import cn.com.poc.agent_application.entity.Variable;
import cn.com.poc.common.utils.JsonUtils;
import cn.com.poc.thirdparty.resource.demand.ai.function.AbstractLargeModelFunction;
import cn.com.poc.thirdparty.resource.demand.ai.function.entity.FunctionLLMConfig;
import cn.com.poc.thirdparty.resource.tianju.api.TianApi;
import cn.com.poc.thirdparty.resource.tianju.api.entity.TianCommonResult;
import cn.com.poc.thirdparty.resource.tianju.api.entity.TianDouyinTopSearch;
import cn.com.poc.thirdparty.resource.tianju.api.entity.TianResult;
import cn.hutool.core.collection.ListUtil;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.List;
/**
* @author alex.yao
* @date 2025/1/17
*/
@Component
public class DouyinTopSearchFunction extends AbstractLargeModelFunction {
private final String DESC = "该方法获取今天抖音的热点信息";
private final FunctionLLMConfig functionLLMConfig = new FunctionLLMConfig.FunctionLLMConfigBuilder()
.name("douyin_search_top")
.description(DESC)
// .parameters(new Parameters("object").addProperties("content", new Properties("string", "内容的详细说明")))
.build();
@Resource
private TianApi tianApi;
@Override
public String doFunction(String content, String identifier) {
TianCommonResult<TianDouyinTopSearch> douyinTopSearch = tianApi.getDouyinTopSearch();
TianResult<TianDouyinTopSearch> result = douyinTopSearch.getResult();
List<TianDouyinTopSearch> list = result.getList();
return JsonUtils.serialize(list);
}
@Override
public String getDesc() {
return DESC;
}
@Override
public List<String> getLLMConfig() {
return ListUtil.toList(JsonUtils.serialize(functionLLMConfig));
}
@Override
public List<String> getLLMConfig(List<Variable> variableStructure) {
return getLLMConfig();
}
}
package cn.com.poc.thirdparty.resource.demand.ai.function.top_search;
import cn.com.poc.agent_application.entity.Variable;
import cn.com.poc.common.utils.JsonUtils;
import cn.com.poc.thirdparty.resource.demand.ai.function.AbstractLargeModelFunction;
import cn.com.poc.thirdparty.resource.demand.ai.function.entity.FunctionLLMConfig;
import cn.com.poc.thirdparty.resource.tianju.api.TianApi;
import cn.com.poc.thirdparty.resource.tianju.api.entity.TianCommonResult;
import cn.com.poc.thirdparty.resource.tianju.api.entity.TianResult;
import cn.com.poc.thirdparty.resource.tianju.api.entity.TianToutiaoTopSearch;
import cn.hutool.core.collection.ListUtil;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.List;
/**
* @author alex.yao
* @date 2025/1/17
*/
@Component
public class ToutiaoTopSearchFunction extends AbstractLargeModelFunction {
private final String DESC = "该方法获取今天头条的头条热搜榜";
private final FunctionLLMConfig functionLLMConfig = new FunctionLLMConfig.FunctionLLMConfigBuilder()
.name("toutiao_search_top")
.description(DESC)
// .parameters(new Parameters("object").addProperties("content", new Properties("string", "内容的详细说明")))
.build();
@Resource
private TianApi tianApi;
@Override
public String doFunction(String content, String identifier) {
TianCommonResult<TianToutiaoTopSearch> toutiaoTopSearch = tianApi.getToutiaoTopSearch();
TianResult<TianToutiaoTopSearch> result = toutiaoTopSearch.getResult();
List<TianToutiaoTopSearch> list = result.getList();
return JsonUtils.serialize(list);
}
@Override
public String getDesc() {
return DESC;
}
@Override
public List<String> getLLMConfig() {
return ListUtil.toList(JsonUtils.serialize(functionLLMConfig));
}
@Override
public List<String> getLLMConfig(List<Variable> variableStructure) {
return getLLMConfig();
}
}
...@@ -39,7 +39,7 @@ public class TianApi implements TianBaseApi { ...@@ -39,7 +39,7 @@ public class TianApi implements TianBaseApi {
/** /**
* 获取百度热搜榜 * 获取百度热搜榜
*/ */
public TianCommonResult<TianBaiduTopSearch> getBaiduTopSearch() throws Exception { public TianCommonResult<TianBaiduTopSearch> getBaiduTopSearch() {
String url = null; String url = null;
try { try {
String key = paramConfigService.getParam(KEY_SITE); String key = paramConfigService.getParam(KEY_SITE);
...@@ -62,7 +62,7 @@ public class TianApi implements TianBaseApi { ...@@ -62,7 +62,7 @@ public class TianApi implements TianBaseApi {
/** /**
* 获取头条热搜榜 * 获取头条热搜榜
*/ */
public TianCommonResult<TianToutiaoTopSearch> getToutiaoTopSearch() throws Exception { public TianCommonResult<TianToutiaoTopSearch> getToutiaoTopSearch() {
String url = null; String url = null;
try { try {
String key = paramConfigService.getParam(KEY_SITE); String key = paramConfigService.getParam(KEY_SITE);
...@@ -85,7 +85,7 @@ public class TianApi implements TianBaseApi { ...@@ -85,7 +85,7 @@ public class TianApi implements TianBaseApi {
/** /**
* 获取抖音热搜榜 * 获取抖音热搜榜
*/ */
public TianCommonResult<TianDouyinTopSearch> getDouyinTopSearch() throws Exception { public TianCommonResult<TianDouyinTopSearch> getDouyinTopSearch() {
String url = null; String url = null;
try { try {
String key = paramConfigService.getParam(KEY_SITE); String key = paramConfigService.getParam(KEY_SITE);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment