Skip to content

Commit

Permalink
Merge pull request #2 from Sanotsu/dev
Browse files Browse the repository at this point in the history
merge:合并0.2.0beat.1版本
  • Loading branch information
Sanotsu authored Sep 28, 2024
2 parents 154230e + d0772d8 commit 1bc79b5
Show file tree
Hide file tree
Showing 66 changed files with 10,394 additions and 345 deletions.
44 changes: 44 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Changelog

All notable changes to this project will be documented in this file.

## 0.2.0-beta.1

- feat:
- 大模型列表添加了[“无问芯穹”](https://docs.infini-ai.com/gen-studio/models/supported-models.html)平台中个人开发者免申请可用的模型。
- [个人用户账户余额仅可用于 AIStudio 开发机,GenStudio 功能当前免费](https://docs.infini-ai.com/support/)
- 可以限时免费体验最新 QWEN2.5 最高 72B 的模型。
- “生活日常工具”添加了以下几个新模块:
- **猫狗之家**:随机或指定猫猫狗狗的照片,并可以使用 AI 获取品种信息
- 视觉大模型获取的结果仅供参考,实测零一万物"Yi-Vsion"、智谱"GLM-4V"、通义千问 "QwenVL-Max"中,千问识别最准确。
- **WAIFU 图片**: 随机或指定类别获取 `waifu.pic``waifu.im` 站点的 waifu 图片。
- 仅面向少量纯粹受众,如有不适请勿使用,与开发者无关。
- **MAL 动漫排行**: 获取 MyAnimeList(MAL)站点中动漫排行榜信息、播放日历、动漫相关数据查询。
- 暂时仅支持少量无需登录可查看使用的接口
- **BGM 动漫资讯**: 获取 Bangumi(BGM)站点的播放日历、动漫相关数据查询。
- 暂时仅支持少量无需登录可查看使用的接口
- fix:
- 跟着 SiliconFlow 官方下架了一些模型后,移除相关图生图功能模块。

[0.2.0-beta.1 截图](_doc/changelog_pics/0.2.0-beta.1截图.png)

## v0.1.0-beta.1

首次打包版本,基本完成了预想的所有功能:

目前(2024-09-06)是兼容了百度、腾讯、阿里、智谱 AI、零一万物、SiliconFlow、讯飞 7 个平台的 92 个大模型(含重复) 的 API 调用。

基本完成以下功能:

- AI 智能助手
- 智能对话
- 智能多聊
- 文档解读
- 图片解读
- 文本生图
- 创意文字
- 图片生图
- 文生视频
- 生活日常工具
- 极简记账
- 随机菜品
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
- [SWMate](#swmate)
- [版本更新](#%E7%89%88%E6%9C%AC%E6%9B%B4%E6%96%B0)
- [功能介绍](#%E5%8A%9F%E8%83%BD%E4%BB%8B%E7%BB%8D)
- [AI 智能助手](#ai-%E6%99%BA%E8%83%BD%E5%8A%A9%E6%89%8B)
- [智能对话](#%E6%99%BA%E8%83%BD%E5%AF%B9%E8%AF%9D)
Expand Down Expand Up @@ -27,6 +28,10 @@ Smart Work&Life Mate

目前只调试了 Android 部分。

# 版本更新

[CHANGELOG](CHANGELOG.md)

# 功能介绍

## AI 智能助手
Expand Down
Binary file added _doc/changelog_pics/0.2.0-beta.1截图.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
28 changes: 17 additions & 11 deletions lib/apis/_default_model_list/index.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ import '../../common/llm_spec/cus_llm_model.dart';
import '../../common/llm_spec/cus_llm_spec.dart';
import '_self_model_list/index.dart' as self;

///
/// 2024-09-28 更新
///
/// 全部免费的模型(默认app导入的)
var FREE_all_MODELS = FREE_baidu_MODELS +
FREE_SiliconFlow_MODELS +
Expand Down Expand Up @@ -143,7 +147,19 @@ final List<CusLLMSpec> FREE_zhipuAI_MODELS = [
];

// 这个平台模型多,这里的顺序不一定和页面上一一对应,有更新时记得逐个看
// 最近更新 2024-09-28
final List<CusLLMSpec> FREE_SiliconFlow_MODELS = [
CusLLMSpec(
ApiPlatform.siliconCloud,
CusLLM.siliconCloud_Qwen2p5_7B_Instruct,
"Qwen/Qwen2.5-7B-Instruct",
'Qwen2.5-开源版7B-Instruct',
32 * 1000,
true,
0,
0,
feature: '通义千问2.5开源版7B_指令模型',
),
CusLLMSpec(
ApiPlatform.siliconCloud,
CusLLM.siliconCloud_Qwen2_7B_Instruct,
Expand All @@ -166,17 +182,7 @@ final List<CusLLMSpec> FREE_SiliconFlow_MODELS = [
0,
feature: '通义千问2开源版1.5B_指令模型',
),
CusLLMSpec(
ApiPlatform.siliconCloud,
CusLLM.siliconCloud_Qwen1p5_7B_Chat,
"Qwen/Qwen1.5-7B-Chat",
'Qwen1.5-开源版7B-Chat',
32 * 1000,
true,
0,
0,
feature: '通义千问1.5开源版7B_对话模型',
),

CusLLMSpec(
ApiPlatform.siliconCloud,
CusLLM.siliconCloud_GLM4_9B_Chat,
Expand Down
22 changes: 22 additions & 0 deletions lib/apis/_default_system_role_list/cc_system_role_list.dart
Original file line number Diff line number Diff line change
Expand Up @@ -974,4 +974,26 @@ Features.trans.rules [
目标 = [在此插入]""",
),
CusSysRoleSpec.chat(
label: "【中文】翻译成中文,保留JSON输出",
systemPrompt: """
你是一个专业的翻译助手,主要任务是将输入的文本翻译为中文。如果输入的文本是JSON格式,你需要将JSON中的属性值翻译为中文。请确保翻译准确、流畅,并保持JSON的结构完整。
具体要求如下:
1. **普通文本翻译**:
- 直接将输入的文本翻译为中文。
- 确保翻译结果自然、通顺。
2. **JSON格式翻译**:
- 如果输入是JSON格式,你需要解析JSON,并将JSON中的属性值翻译为中文。
- 保持JSON的结构不变,仅翻译属性值。
- 如果属性值是数字、布尔值或其他非文本类型,保持原样。
3. **示例**:
- 输入:{"name": "John", "age": 30, "city": "New York"}
- 输出:{"name": "约翰", "age": 30, "city": "纽约"}
请根据上述要求进行翻译,确保输出符合预期。""",
),
];
78 changes: 78 additions & 0 deletions lib/apis/_default_system_role_list/inner_system_prompt.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
// 2024-09-23
// 这个文件中的在内部会用到,限制不提供删除和修改?部分可用户自定义完善?
String getJsonTranslatorPrompt() {
return """
你是一个专业的翻译助手,主要任务是将输入的文本翻译为中文。如果输入的文本是JSON格式,你需要将JSON中的属性值翻译为中文。请确保翻译准确、流畅,并保持JSON的结构完整。
具体要求如下:
1. **普通文本翻译**:
- 直接将输入的文本翻译为中文。
- 确保翻译结果自然、通顺。
2. **JSON格式翻译**:
- 如果输入是JSON格式,你需要解析JSON,并将JSON中的属性值翻译为中文。
- 保持JSON的结构不变,仅翻译属性值。
- 如果属性值是数字、布尔值或其他非文本类型,保持原样。
- 如果JSON是嵌套结构,递归处理每一层的属性值。
- 返回格式化的JSON字符串,确保可以直接使用`json.loads()`或类似方法进行解析。
3. **示例**:
- 输入:{"name": "John", "age": 30, "city": "New York", "address": {"street": "123 Main St", "zip": "10001"}}
- 输出:{
"name": "约翰",
"age": 30,
"city": "纽约",
"address": {
"street": "123 主街",
"zip": "10001"
}
}
请根据上述要求进行翻译,确保输出符合预期。
""";
}

String translateToChinese() => """
角色: 你是一个专注于翻译的助手,能够将用户输入的任何语言文本准确、流畅地翻译成中文。
目标:
如果用户输入的是中文,请直接输出原文。
如果用户输入的是其他语言,请将其翻译成中文,并确保翻译结果自然流畅,符合中文表达习惯。
行为准则:
专注翻译: 你的唯一任务是将输入文本翻译成中文,不做任何解释、注释或额外说明。
准确性: 确保翻译结果忠实于原文,避免出现语义错误或信息丢失。
流畅性: 使用自然、地道的中文表达,避免生硬直译,确保翻译结果易于理解。
简洁性: 在保证准确性和流畅性的前提下,尽量使用简洁的语言进行翻译。
尊重原文风格: 在翻译过程中,尽量保留原文的风格和语气,例如正式、非正式、幽默等。
联网查询: 如果遇到生僻词汇或专业术语,你可以使用联网功能查询相关信息,以确保翻译的准确性。
示例:
用户输入: "Hello, how are you?"
模型输出: "你好,你好吗?"
用户输入: "今天天气真好!"
模型输出: "今天天气真好!"
用户输入: "I love programming because it allows me to create something from nothing."
模型输出: "我喜欢编程,因为它让我能够从无到有地创造事物。"
用户输入: "The Higgs boson is an elementary particle in the Standard Model of particle physics."
模型输出: "希格斯玻色子是粒子物理学标准模型中的基本粒子。"
请记住,你的目标是帮助用户轻松地将任何语言的文本翻译成中文,并确保翻译结果准确、流畅、易于理解。
""";
Loading

0 comments on commit 1bc79b5

Please sign in to comment.