Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
inscode
NodeJS_639770
提交
d0e4299c
N
NodeJS_639770
项目概览
inscode
/
NodeJS_639770
与 Fork 源项目一致
Fork自
inscode / NodeJS
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
N
NodeJS_639770
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
d0e4299c
编写于
5月 16, 2024
作者:
D
DebugIsFalse
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feature: add source
上级
5a0a6200
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
38 addition
and
10 deletion
+38
-10
components/i/Create.vue
components/i/Create.vue
+9
-3
pages/search/[id].vue
pages/search/[id].vue
+22
-7
utils/getMockRepo.js
utils/getMockRepo.js
+7
-0
未找到文件。
components/i/Create.vue
浏览文件 @
d0e4299c
...
@@ -14,9 +14,11 @@
...
@@ -14,9 +14,11 @@
v-model=
"selectedRepo"
v-model=
"selectedRepo"
:options=
"repos"
:options=
"repos"
placeholder=
"选择 GitHub 项目"
placeholder=
"选择 GitHub 项目"
value-attribute=
"label"
option-attribute=
"label"
searchable
searchable
>
>
<UButton
color=
"gray"
variant=
"ghost"
trailing-icon=
"i-heroicons-chevron-down-20-solid"
:label=
"selectedRepo"
/>
<UButton
color=
"gray"
variant=
"ghost"
trailing-icon=
"i-heroicons-chevron-down-20-solid"
:label=
"selectedRepo
|| '选择 GitHub 项目'
"
/>
</USelectMenu>
</USelectMenu>
<UButton
<UButton
trailing-icon=
"i-heroicons-chevron-right-20-solid"
trailing-icon=
"i-heroicons-chevron-right-20-solid"
...
@@ -31,8 +33,11 @@
...
@@ -31,8 +33,11 @@
const
{
fetchRequest
}
=
useFetchRequest
()
const
{
fetchRequest
}
=
useFetchRequest
()
const
emits
=
defineEmits
([
'
search
'
])
const
emits
=
defineEmits
([
'
search
'
])
const
query
=
ref
(
''
)
const
query
=
ref
(
''
)
const
selectedRepo
=
ref
(
'
https://github.com/keycloak/keycloak.git
'
)
const
selectedRepo
=
ref
(
null
)
const
repos
=
[
'
keycloak
'
,
'
ViewUIPlus
'
]
const
repos
=
ref
([
{
url
:
'
https://github.com/allwefantasy/byzer-llm.git
'
,
label
:
'
byzer-llm
'
,
branch
:
'
master
'
},
{
url
:
'
https://github.com/keycloak/keycloak.git
'
,
label
:
'
keycloak
'
,
branch
:
'
master
'
}
])
const
loading
=
ref
(
false
);
const
loading
=
ref
(
false
);
const
handleSearch
=
async
()
=>
{
const
handleSearch
=
async
()
=>
{
if
(
loading
.
value
)
return
;
if
(
loading
.
value
)
return
;
...
@@ -44,6 +49,7 @@ const handleSearch = async () => {
...
@@ -44,6 +49,7 @@ const handleSearch = async () => {
}
}
});
});
if
(
result
&&
result
.
data
)
{
if
(
result
&&
result
.
data
)
{
const
currentRepo
=
repos
.
value
.
find
(
item
=>
item
.
label
===
selectedRepo
.
value
);
navigateTo
(
`/search/
${
result
.
data
.
c_id
}
?query=
${
query
.
value
}
&repo=
${
selectedRepo
.
value
}
`
);
navigateTo
(
`/search/
${
result
.
data
.
c_id
}
?query=
${
query
.
value
}
&repo=
${
selectedRepo
.
value
}
`
);
nextTick
(()
=>
{
nextTick
(()
=>
{
loading
.
value
=
false
;
loading
.
value
=
false
;
...
...
pages/search/[id].vue
浏览文件 @
d0e4299c
...
@@ -140,10 +140,15 @@
...
@@ -140,10 +140,15 @@
const
toast
=
useToast
()
const
toast
=
useToast
()
const
route
=
useRoute
()
const
route
=
useRoute
()
const
{
fetchRequest
}
=
useFetchRequest
()
const
{
fetchRequest
}
=
useFetchRequest
()
const
repos
=
getMockRepo
();
// todo mock
const
repoItem
=
repos
.
find
(
item
=>
route
.
query
.
repo
===
item
.
label
);
const
state
=
reactive
({
const
state
=
reactive
({
query
:
route
.
query
.
query
||
''
,
query
:
route
.
query
.
query
||
''
,
repo
:
route
.
query
.
repo
||
''
,
repo
:
route
.
query
.
repo
||
''
,
id
:
route
.
params
.
id
id
:
route
.
params
.
id
,
branch
:
repoItem
.
branch
,
gitPath
:
repoItem
.
url
})
})
const
isEditTitle
=
ref
(
false
)
const
isEditTitle
=
ref
(
false
)
const
titleRef
=
ref
(
null
)
const
titleRef
=
ref
(
null
)
...
@@ -206,7 +211,6 @@ const handleFormFetchData = (fetchData) => {
...
@@ -206,7 +211,6 @@ const handleFormFetchData = (fetchData) => {
const
index
=
data
.
value
.
length
===
0
?
0
:
data
.
value
.
length
-
1
;
const
index
=
data
.
value
.
length
===
0
?
0
:
data
.
value
.
length
-
1
;
data
.
value
[
index
]
=
data
.
value
[
index
]
||
{};
data
.
value
[
index
]
=
data
.
value
[
index
]
||
{};
const
{
meta
,
choices
}
=
message
;
const
{
meta
,
choices
}
=
message
;
console
.
log
(
`meta:`
,
meta
,
choices
)
if
(
meta
.
type
===
'
answer
'
)
{
if
(
meta
.
type
===
'
answer
'
)
{
Object
.
assign
(
data
.
value
[
index
],
{
Object
.
assign
(
data
.
value
[
index
],
{
question
:
state
.
query
,
question
:
state
.
query
,
...
@@ -229,12 +233,23 @@ const handleFormFetchData = (fetchData) => {
...
@@ -229,12 +233,23 @@ const handleFormFetchData = (fetchData) => {
}
}
}
}
}
}
const
handleUpdateSource
=
()
=>
{
const
index
=
data
.
value
.
length
===
0
?
0
:
data
.
value
.
length
-
1
;
data
.
value
[
index
]
=
data
.
value
[
index
]
||
{};
// https://github.com/allwefantasy/byzer-llm/blob/master/tests/functions_suite.py
const
endWidthGit
=
state
.
gitPath
.
endsWith
(
'
.git
'
);
const
baseUrl
=
endWidthGit
?
state
.
gitPath
.
slice
(
0
,
state
.
gitPath
.
length
-
4
)
:
state
.
gitPath
;
storeSource
=
storeSource
.
map
((
item
)
=>
{
item
.
repo
=
state
.
repo
;
item
.
link
=
`
${
baseUrl
}
/blob/
${
state
.
branch
}
/
${
item
.
label
}
`
return
item
;
})
Object
.
assign
(
data
.
value
[
index
],
{
source
:
storeSource
});
}
const
handleMessage
=
(
event
)
=>
{
const
handleMessage
=
(
event
)
=>
{
if
(
event
.
data
===
markedEnd
)
{
if
(
event
.
data
===
markedEnd
)
{
asking
.
value
=
false
;
asking
.
value
=
false
;
const
index
=
data
.
value
.
length
===
0
?
0
:
data
.
value
.
length
-
1
;
handleUpdateSource
();
data
.
value
[
index
]
=
data
.
value
[
index
]
||
{};
Object
.
assign
(
data
.
value
[
index
],
{
source
:
storeSource
});
return
;
return
;
}
}
handleFormFetchData
(
event
.
data
)
handleFormFetchData
(
event
.
data
)
...
@@ -248,14 +263,14 @@ const handleError = (event) => {
...
@@ -248,14 +263,14 @@ const handleError = (event) => {
handleStopGenerate
();
handleStopGenerate
();
}
}
const
generateFetchData
=
(
query
)
=>
{
const
generateFetchData
=
(
query
)
=>
{
const
{
repo
,
id
}
=
state
;
const
{
gitPath
,
id
}
=
state
;
const
messages
=
[];
const
messages
=
[];
messages
.
push
({
role
:
'
user
'
,
content
:
query
});
messages
.
push
({
role
:
'
user
'
,
content
:
query
});
aiChatController
=
new
AbortController
();
aiChatController
=
new
AbortController
();
asking
.
value
=
true
;
asking
.
value
=
true
;
fetchEventSource
(
'
/v1/chat/completions
'
,
{
fetchEventSource
(
'
/v1/chat/completions
'
,
{
params
:
{
params
:
{
repo_path
:
repo
,
repo_path
:
gitPath
,
c_id
:
id
,
c_id
:
id
,
stream
:
true
,
stream
:
true
,
messages
,
messages
,
...
...
utils/getMockRepo.js
0 → 100644
浏览文件 @
d0e4299c
export
default
()
=>
{
return
[
{
url
:
'
https://github.com/allwefantasy/byzer-llm.git
'
,
label
:
'
byzer-llm
'
,
branch
:
'
master
'
},
{
url
:
'
https://github.com/keycloak/keycloak.git
'
,
label
:
'
keycloak
'
,
branch
:
'
master
'
}
]
}
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录