能够在代码编辑框中展示代码

This commit is contained in:
yuruo 2024-06-29 11:33:11 +08:00
parent aa22bdc3d9
commit 1682819e7d
4 changed files with 19 additions and 10 deletions

View File

@ -45,7 +45,7 @@ ${code}
python内置函数或我提供的使
############
# #
[python代码]
python代码
#############
# #
1. print("abc")

View File

@ -1,9 +1,11 @@
import { useStore } from "@renderer/store/useStore";
import { requireAlignmentPrompt, programmerPrompt } from "./prompt";
import { requireAlignmentPrompt, programmerPrompt, extraCodePrompt } from "./prompt";
import useOpenai from "./useOpenai";
export async function useChat(chat_messages: Array<any>){
export default ()=>{
const setCode = useStore(state=>state.setCode)
const getResponse=(chat_messages: Array<any>)=>{
// const setCode = useStore(state=>state.setCode)
const messages = chat_messages.map((m) => {
return {
role: m.role,
@ -17,9 +19,11 @@ export async function useChat(chat_messages: Array<any>){
});
const callBack = (allContent: string) => {
const programmerCallBack = (allContent: string) => {
console.log("allContent", allContent)
setCode(allContent)
const programmerCallBack = (allContent: string) => {
allContent = allContent.replace(/^```python/, "").replace(/^```/, "").replace(/```$/, "").trim()
setCode(allContent)
}
if (allContent.includes("【自动化方案】")) {
useOpenai(programmerPrompt(), [{
@ -30,7 +34,10 @@ export async function useChat(chat_messages: Array<any>){
console.log("Response does not contain '【自动化方案】'");
}
}
const response = await useOpenai(requireAlignmentPrompt(), messages, callBack)
const response = useOpenai(requireAlignmentPrompt(), messages, callBack)
return response
}
return {getResponse}
}

View File

@ -1,9 +1,11 @@
import { ProChat } from '@ant-design/pro-chat';
import {useChat} from '@renderer/hooks/useChat';
import useChat from '@renderer/hooks/useChat';
import { useTheme } from 'antd-style';
import "./chat-page.scss"
import Code from './Code';
export const Chat = () => {
const {getResponse} = useChat()
const theme = useTheme();
// const run = async ()=>{
// const response = await useChat([{ role: 'user', content: '你好' }])
@ -18,7 +20,7 @@ export const Chat = () => {
<div className='text-black'>Agent助手</div>
}
request={async (messages) => {
const response = await useChat(messages)
const response = await getResponse(messages)
console.log('response', response)
// 使用 Message 作为参数发送请求
return response// 支持流式和非流式

View File

@ -4,7 +4,7 @@ import { useStore } from '@renderer/store/useStore';
// import { StreamLanguage } from '@codemirror/language';
export default function Code() {
const code = useStore(state=>state.code)
return (
<CodeMirror
theme="dark"